Archive for the 'development' Category


Duck Typing 2

I’m in fairly creative mood tonight, as evidenced by one (now two) blog postings, the PHP coding I did earlier, and the upload of some 75 random pictures to Facebook. I guess that’s what happens when I avoid the work I really should be doing. (Blech, JavaScript.)

Anyways, a few days ago a coworker mentioned something to me about duck typing, and I again decided to shirk my responsibilities and experiment. The basic idea is to stand typing on its head and have an imperative system rather than declarative — as they say, “if it walks like a duck, and quacks like a duck, it must be a duck.”

Read more »

I’m in DC 2

So, as I mentioned a while ago, I’m presenting at DC PHP ‘08. It’s this week.

The presenter I’m listening to right now just reminded me why I hate MVC on the web. But I’m not going to go into it.

The conference appears to have gotten the wireless correct, at the very least. The past two conferences I’ve been to have both had extremely flaky wireless connections, which presented problems for not only the attendees, but presenters who were depending upon an internet connection.

My talk is tomorrow, so for now I just listen.

Represent! 5

I just learned that I’ll be presenting at the 2008 installment of the DC PHP Conference (in Washington DC, oddly enough). I’m excited about the prospect.

Open up wide 2

When I signed into meebo this morning, I got a little pop-up with a blurb about a partnership with AOL. I was immediately intrigued. Unfortunately, muscle memory kicked in too fast, and I closed the box — the same one that opens every time I sign in — before I even realized I wanted to read it. So I signed out and back in.

Apparently, AOL is finally opening AIM up really wide. They’re talking about full protocol documentation (that’s the “oscar” protocol, not the crappy TOC one), letting people use their own AIM libraries, and full access to all the functionality (voice, video, filesharing, etc.) — as far as I know, this stuff has never been available before.

I also noticed that you can now convert any AIM screen name into a “bot”: the various rate limits are removed (or heightened, at the very least), you can’t be warned, and are allowed to be added to more people’s buddy lists. In return, you can’t initiate conversations.

You know what this means.

The screen name crabbychild has been successfully converted to an AIMĀ® Bot.

Across an Instance 0

Here’s the quick PHP tip of the day: class methods can access the protected (of any shared ancestors) and private (of the same type) members of any instance, not only their own instance. That may sound confusing, but it’s really not so much.

Read more »

CouchDB on Ubuntu 3

I’ve been meaning to play around with couchDB lately, and finally took the time to get it installed on my Linux VM at home running Ubuntu Server 7.10. I ran into a few problems while getting the thing to compile, so I figured I’d outline them here.

First, look at the instructions in the INSTALL file, or at the wiki. They’ll give you a good starting point — especially for all the development tools you’ll need to begin compiling things (automake, libtool, etc. — Ubuntu doesn’t install these by default). If you’re running a headless machine (like my VM) without X, however, you won’t want to install the erlang meta-package, as this will install a bunch of X related crap. And you can’t just install erlang-base, since this won’t give you everything you need, as evidenced by a failing make (trust me).

Now, before you go and search the Internet and decide that you should compile erlang from source — hardly an attractive option — keep reading. The silver bullet is that you need the erlang-nox package (that’s “no X”, not some form of nitrous oxide). The description is very vague, but it’s apparently a bunch of erlang stuff that doesn’t require X11. I also installed erlang-dev, since the description made it sound important (i.e., I’m not sure if it’s required).

Hopefully this helps somebody else.

Getting your Flow on 1

Speaking of enhancing the Windows Mobile UI, today I found FlowFX, a .NET Compact Framework library for creating multi-form Windows Mobile applications with some neat effects. It’s also any entry for OpenNETCF’s September coding competition to create user interfaces that, “[make] the user completely forget they’re using a Windows Mobile device.”

Hopefully there are some more entries!

Living with Windows Mobile 2

With the recent iPhone price reductions, it’s been hard to resist throwing away my slightly irritating Windows Mobile-based T-Mobile Dash in favor of a shiny new iPhone. And Apple’s new smartphone has lots to love– like a lovely interface, BSD subsystem, x86 architecture, and hordes of developers writing nifty applications.

Thou shalt not covet: not as easy as you might think. But in spite of all the compelling reasons to break my piggy bank, I’ve decided to stand firm and be content with what I have. Well, content might be pushing it: I’ve also decided that Apple fan-boys shouldn’t be the only ones to get pretty screen-shots and devoted myself to changing it. Or some of it, at least — I can’t help with the hand models.

My first victim is the home screen for Windows Mobile, since that’s my primary interaction point with my phone. The default home screens are — well, let’s call them professional. (That’s a nice way of saying bland.) Luckily, the home screens are simply XML and graphics; easy to change.

Without further ado, here are screen shots of the original home-screen and my first stab at creating a prettier one. I still have some work to do, but I’m pleased with how it’s coming along.

(Screen-shots taken with Smart SS.)

Tomorrow I’ll hopefully be obtaining a copy of Visual Studio .NET, so I’ll be able to start making software modifications as well. And then I’ve started on some browser-based applications. Time to change the world!

Certifiable 1

Back in May I had the opportunity to attend the php|tek ‘07 conference that was put on by php|architect magazine. They included a complimentary Zend Certification Exam, which, of course, I took advantage of. I found out the other day (only about a month later!) that I’d passed. I guess I’m now official.

Before taking the test I was required to sign a bulletproof non-disclosure agreement and swear on a stack of Bibles that I wouldn’t divulge any of the contents, so I won’t say much. However, being a self-developed developer from the very beginning, I always knew that a piece of paper with a shiny seal wouldn’t change a single thing: I was either a good developer, or I wasn’t, certified or not. Taking the test only served to make me more aware of that.

So while I’m sure it’ll look pretty on my resume, I’m just not that excited.