the bofe blog

a twenty something IT professional with a few things to say

Archive for June 2007

Music to Move

without comments

Translation From Wikipedia. It should be obvious where the Auferstein starts.

Rise again, yes, rise again,
Will you My dust,
After a brief rest!
Immortal life! Immortal life
Will He who called you, give you.

To bloom again were you created!
The Lord of the harvest goes
And gathers in, like sheaves,
Us together, who die.

O believe, my heart, O believe:
Nothing to you is lost!
Yours is, yes yours, is what you desired
Yours, what you have loved
What you have fought for!

O believe,
You were not born for nothing!
Have not for nothing, lived, suffered!

What was created
Must perish,
What perished, rise again!
Cease from trembling!
Prepare yourself to live!

O Pain, You piercer of all things,
From you, I have been wrested!
O Death, You masterer of all things,
Now, are you conquered!

With wings which I have won me,
In love’s fierce striving,
I shall soar upwards
To the light which no eye has penetrated!
Its wing that I won is expanded,
and I fly up.
Die shall I in order to live.
Rise again, yes, rise again,
Will you, my heart, in an instant!
That for which you suffered,
To God will it lead you!

Highlight of the comments:

musicalix (9 months ago)
Will this be the soundtrack of when God beckons us? Awesome, Massive,
Extraordinary, Beautiful. Worthy of a good Resurrection.

> BAMBAM8993 (1 month ago)
Hope so!

Written by bofe

June 29, 2007 at 17:55

Posted in Personal

Tagged with ,

Shakira’s “Hips Don’t Lie” Samples Fiesta Latina

without comments

That’s right. It took me a while to figure it out… I knew I had heard that song before.

It’s Track #9 (Amores Como El Nuestro) on the magnum opus of Tropical Fantasia… Fiesta Latina

Written by bofe

June 27, 2007 at 16:45

Posted in Personal

Tagged with ,

Review: Safari Beta for Windows

with 70 comments

I know it’s a beta, but with a first impression like this:

safari.jpg

There’s no other choice.

safari-remove.jpg

Written by bofe

June 15, 2007 at 10:09

Posted in Uncategorized

Tagged with , , , , ,

Database Connectivity With Linux & PHP to IBM iSeries & DB2

with 2 comments

BACKGROUND

I work with a local government, where the majority of our existing information systems are on an IBM iSeries machine.

The entire city runs on what is referred to as “green screen” apps. I was charged with the task of bringing our municipal utility company’s bill payment online. Well, not exactly bringing it online… but giving what is currently online a major overhaul.

The existing site was done with an abhorrent product called IBM WebSphere. Apparently people have made pretty impressive applications with this product, but I don’t see how. I spent three months in what I’ve dubbed “JSP hell” (while also working on other PHP/MySQL websites) trying to figure out what a Web Interaction is and then trying to figure out what COBOL program runs when a certain form is submitted. I’m not even going to start on COBOL.

Scattered throughout the JSP code were the one thing that made sense besides the HTML, SQL queries.

unix ODBC to the rescue

NOTE: This was all done on SUSE 10 Enterprise. Your mileage may very, blah blah blah, the usual disclaimer.

Per this wonderful, difficult to find IBM Redbook I found out that I need to install something called iSeries Access (IBM Account Required) – the software is in the form of a RPM.

[shell] rpm -ivh iSeriesAccess-5.2.0-X.YY.i386.rpm

We already had unixODBC installed.

After iSeries Access is installed, run this command:

[shell] odbcinst -j

You’ll get a path to some .ini files. Ours were in /etc/unixODBC/. Fire up your favorite text editor and edit /etc/unixODBC/odbc.ini.

Here is the sample config file that IBM references in the redbook. System is the IP or Domain name of the iSeries machine. Everything else is pretty self explanatory. Refer back to the redbook for clarification on a few of the settings if you need to.

After you’re done editing your file, verify that it works by running this command:

[shell] isql [Your DSN Name] [Your username] [Your Password]
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

Now, you may need to reconfigure PHP to have unixODBC (use ./configure –with-unixODBC) . I didn’t.

After that, it’s simple: use odbc_connect() and you’re on your way.

Written by bofe

June 13, 2007 at 18:23

Posted in Uncategorized

Tagged with , , ,

Django Changed The Game

with 2 comments

It all started with a pretty ordinary project request from our Parks & Recreation department – “we want to be able to enter/edit scores for our softball games.”

So, like any good developer, requested a meeting so I could really understand what was going on… it boiled down to this kind of these database entities:

teams
fields
leagues
venues
scheduled games
completed games

Here’s a more traditional view of the design: (click it for a full view)

Keep in mind, only about four or five people (max) need to be able to have CRUD abilities with this data.

However, designing a system like this with PHP would be pretty time consuming to say the least. Even with my nifty little utils and db classes that I tout around.

Stevo had been ranting and raving about Django, specifically it’s administrative interface. So, I gave it a try. Luckily, I had been intending on doing this for some time. My server at home was ready to roll – Django was installed and I was ready to dive right in. A few hours later and with the guidance of Stevo, my model was made.

The source is simple. Python was very intuitive, except for a weird placement of a tuple ( [[ here it was ::: None, {'fields': ('name',)}),) ]] but BAM. The administrative interface was done before lunch.

PHP is unable to compete with this rapid administration capability. Now to get this put on our production server…

Written by bofe

June 8, 2007 at 13:27

Posted in Uncategorized

Tagged with , , , , , ,

Push != Pull, or Why You Should RTFM

with one comment

My first idea for an F8 app has tanked. I should have read those docs a little further…

I was making a simple countdown, because lot of friends of mine used their status to count down to an event.

From the FAQ:

Is there a way I can avoid pushing content individually to each user?

You can specify default FBML in your application settings, but if you want the boxes to look different for each user, you must manually push to those users. The content rendered in the profile at the time of display must come entirely from our servers to ensure speed and privacy and some level of design sensibility (hence, this is a “push” and not a “pull” model). You can make dynamic content in response to a user’s interaction with your module (via “mock ajaxv or flash). If there is content you want to share across multiple people’s profiles, consider using the tag.

Well… damn. The countdown won’t update itself upon every profile view.

So I thought, I know… I’ll use a PHP generated image, just like I have on my blog… Nope. From the FBML docs:

img tags will also be handled specially. At publish time, any URLs given for images will be requested by our servers and then served by our own image servers. The src attribute of img tags will be rewritten. This protects the privacy of our users and allows us to better control quality of service of images.

The only other way I can envision doing this is pushing out FBML updates via Cron daily or at a specified interval… think the users would go for that?

Written by bofe

June 8, 2007 at 07:38

Posted in Uncategorized

Tagged with , , ,

Help Me Test First F8 App

with 4 comments

Last night I started making my first application based on Facebook’s F8 Platform.

It’s a simple countdown application – designed to just show up in your profile like this:

Here’s a screenshot of the main screen:

Help me test it. PM me on Facebook.

Written by bofe

June 7, 2007 at 07:20

Posted in Personal

Tagged with , ,