Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; CBlacklist has a deprecated constructor in /home/saltybanana/www/blog/peel/scripts/sb_blacklist.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at /home/saltybanana/www/blog/peel/scripts/sb_blacklist.php:6) in /home/saltybanana/www/blog/peel/scripts/sb_feed.php on line 153
The Banana Peel I Have Moved!!! here.]]> My Sentiments Exactly fanboy, this Joy of Tech comic reflects my feelings and anxieties about Leopard dead-on!
Ultima III, IV, & V on the Macintosh
I remember playing Ultima III, IV, and V in the 80s and 90s. They were awesome in their day. Many of my youthful late night hours were spent sitting in front of my Apple II+ hacking and slashing away.

Fast forward to 2007. I know for a few years now about a shareware re-creation of Ultima III that was actually sanctioned by Lord British. But then, I came across xu4, an open-source project that has made the original game run on modern operating systems. Furthermore, I also found Ultima V: Lazarus, another open-source project that has re-recreated the Ultima V game using the Dungeon Siege engine.

Now, while xu4 is faithful to the original, right down to the graphics and sound, Lazarus is not due to the use of a 3D engine as well as several other factors that you can read about here.

I don't have Dungeon Siege, so I cannot check it out. However, I was able to run xu4 on my PowerPC Mac w/ 10.4.10 installed without issues. And boy did it bring back memories!

Check it out for yoursevles!]]>
Is Microsoft's Antitrust Pains w/ the EU My Gain? dealings w/ the EU antitrust courts for a while now, and where the company seemed to have prevailed in the U.S., it is running into a much tougher stance in Europe.

While a part of me wants to shout w/ glee and say that Microsoft is getting its due in a different court system, I do wonder, though, if the Europeans have a bias against American companies in general.

I mean, it's not just Microsoft that's having issues, but Apple also, and maybe others I have not read about....

Your thoughts?]]>
No ICloenable<T> in .NET Framework 2.0 ICloneable interface in one of the classes I wrote for work, only to find out that there is no generic-enabled ICloneable<T> equivalent in .NET Framework 2.0. So I whipped one up for myself.

It's such a useful little interface, wonder why the .NET Framework architects didn't think to include it.

I looked into the documentation for Framework 3.0, and it appears to absent there as well. Hmm....]]>
Vim, My New Ruby on Rails Editor
Now, some years later, I have bought and drank the IDE kool-aid. I use Apple's Xcode to support Freeciv on the Mac, Microsoft's Visual Studio 2005 to support my day job as a C#/ASP.NET developer, and Eclipse + Aptana to dabble in Ruby on Rails in my spare time.

However, I finally got fed up with Eclipse's speed on my not-so-recent Mac (alright, it's actually ancient by computing standards) that serves three masters: myself and two other family members.

So I took inventory of the features I relied on when I used Eclipse, and I went about searching for a speedier and equally priced replacement. Lo and behold, I came cross the Vim editor, which is not only a much improved version of the old vi editor I, but it also supports a large array of scripts that can be easily downloaded and installed to enhance and extend vim.

After some experimentation, I settled on the following setup:
  • - GUI version of vim, installed via MacPorts
  • vim - Command-line version, installed via MacPorts
  • rails.vim - Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more
  • genutils.vim - Enables extra functionality in rails.vim
  • vividchalk.vim - Color scheme strangely reminiscent of Vibrant Ink for a certain OS X editor
The following table gives you an idea of the features in Eclipse that I relied on, and how I am coping with vim:

Feature Eclipse Vim
Syntax highlighting Yes Yes
Auto-insertion of keywords, symbols, & markup tags Yes No
Hierarchical view of Rails application directory structure Yes No, but I can get there using the Finder or Terminal
Integration with Subversion Yes Yes, with the use of another script, but I found it clumsy, so I reverted to using svn via the command-line
Class outline Yes No, but a quick text search suffices for now

As you can see, I am doing pretty well. For a little extra typing, I gain development speed plus a much smaller CPU footprint. I'll buy that for ... hey, it's free!
Recursive Dependencies in MacPorts MacPorts user maiing list asking why the bittorrent port requires XFree86 or Apple's X11 to build. It is a reasonable question, since at first glance bittorrent doesn't seem to need it:
% port deps bittorrent
bittorrent has library dependencies on:
A second glance says the same as well:
% port deps py-wxpython
py-wxpython has library dependencies on:
% port deps py-twisted
py-twisted has library dependencies on:
% port deps py-crypto
py-crypto has library dependencies on:
I ran into a similar problem in my use of MacPorts, where I needed to determine all the dependencies a port has. So I wrote a Python script,, which outputs the following (emphasis added):
% bittorrent
+- bittorrent
+- (L) py-wxpython
| +- (L) python24
| +- (L) wxWidgets
| +- (L) jpeg
| +- (L) tiff
| | +- (L) jpeg
| | +- (L) zlib
| +- (L) libpng
| | +- (L) zlib
| +- (L) zlib
| +- (L) libiconv
| | +- (B) gperf
| +- (L) expat
| +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) libsdl_mixer
| +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) smpeg
| | +- (L) libsdl
| | +- (L) XFree86
| | +- (B) perl5.8
| +- (L) libvorbis
| | +- (L) libogg
| +- (L) libogg
| +- (L) libmikmod
+- (L) py-twisted
| +- (L) python24
| +- (L) py-zopeinterface
| +- (L) python24
+- (L) py-crypto
+- (L) python24
This has saved me from needing to repeatedly execute the port deps command by hand or going through Portfiles to hunt down dependencies on many occasions.

Of course, my little handy Python script only provides a skin-deep explanation of why X11 is needed by saying "because the Portfile says so", which isn't all that insightful. A slightly better explanation can be found here. Basically, bittorrent has a dependency on libsdl, which will not compile unless X11 is present.

Now why does libsdl need X11 to build? I don't know the answer to this one. Do you?]]>
@voip_provider = if vonage.go_under? and Vonage, I have been landline-free for a little over two years now.

My VOIP service during the past 24+ months hasn't been trouble free, but it has been pretty good.

However, given the troubles Vonage is currently going through, things don't look so hot. The latest news for the company sounds downright ominous. Yes the company keeps stating that existing customers aren't affected. But I wonder when that statement might change.

Vonage is in the business of providing a service/solution using technology. But it would seem it has reached a roadblock that technology is unable to solve. So either Vonage needs to solve its problems another way, or I will have to start shopping for another VOIP provider.]]>
Freeciv 2.1.0 Beta 4 and the Future here.

Someone asked about a Universal version of Freeciv some time ago. Unfortunately that's not quite possible right now, because the option to build the libraries Freeciv depends as universal binaries isn't yet available, and I have no control over when this will change.

At some point in the future, when I do purchase an Intel-based Mac, I will be able to product Intel-native binaries. Then, assuming I will continue to have access to my current as well as the new machines, two packages could be produced: one for PowerPC and the other for Intel. But, it will not be something I want to do long-term. And of course, there is the Leopard consideration as well.

For now, though, my Freeciv binaries run on Tiger+X11 on PowerPC, or on Tiger+X11+Rosetta on Intel.

Freeciv 2.1.0 Beta 3 - Success! here to download it. If you are interested in what transpired, read on.

As it turns out, newest versions of the Pango library changed how the pangorc file is parsed. It used to understand double quotes, but no longer. Took me a lot of trial and error to figure this one out.

Anyway, I am glad things worked out. Now if I find some time, I will have to research the SDL client some more, since I am told that it has far less dependencies than the GTK client. If it pans out, perhaps it will reduce the size of the distribution as well.