Tag Archives: Software Dev

Cake PHP

I just recently tried out the Cake PHP framework for a project I needed to get done quickly. I didn’t dive into it too deeply, but I have to say I’m very pleased with it so far.

In case you haven’t heard of Cake before, just think Ruby on Rails but in PHP instead of Ruby, or (to quote from their website):

Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. Our primary goal is to provide a structured framework that enables PHP users at all levels to rapidly develop robust web applications, without any loss to flexibility.

It’s a useful thing to have available if you like (or are curious about) Rails but need to deploy on a server that may not be configured for Ruby, but does support PHP & MySQL.

Dynamic radio buttons in IE

Man do I hate IE.

You’d think that creating a radio button in javascript would be as easy as something like this:

var radioButton = document.createElement('input');
radioButton.id = ‘RadioButtonList_1′;
radioButton.name = ‘RadioButtonList’;
radioButton.type = ‘radio’;
parentElement.appendChild(radioButton);

but, no - that doesn’t work, thanks to IE not allowing the name attribute to be set for dynamically created elements.
So, instead, you need to do something like this:

var radioButton;
try {
    // This is the only way you can set the “name” attribute in IE, but it will fail in other browsers
    radioButton = document.createElement(’<input id=”RadioButtonList_1″ name=”RadioButtonList” type=”radio” />’);
} catch() {
    // The above will fail if not in IE, so try it the correct way here
    radioButton = document.createElement(’input’);
    radioButton.id = ‘RadioButtonList_1′;
    radioButton.name = ‘RadioButtonList’;
    radioButton.type = ‘radio’;
}

You know what they say about imitation

(OK, I’m sure it wasn’t imitation, but…)

Recently Microsoft has started branching out and publishing various frameworks (in coordination with new releases of their development platform) that can be used to construct applications on top of their technology (similar to what has been popular for a while now in the Java world, but in this case, the .NET platform).

Interestingly, while looking into some of the more recent stuff I stumbled upon one particular implementation that looked very familiar - because it was extremely similar to the underlying framework that we’ve built for the main project I’ve been working on for a couple years. Even down to the names of the various internal components, etc. Unfortunately, I can’t go into any more detail than that about it publicly, but suffice it to say I was a bit surprised.

At the end of the day, I take it as a good validation of the design we came up with, because at the time there were some questions about it since there didn’t seem to be anything else out there like it. Sometimes in software development that means that you are either on to something good that no one else has thought of yet, but much more frequently it’s an indication that there’s probably something wrong with the way you’re thinking about doing it, and there’s a reason no one else has done it that way already. It feels good to see things emerging now that seem to indicate that it was the former rather than the latter in this case.

Backup your Flickr account

Has anyone else tried FlickrBackup yet?

It pretty much does what its name implies, goes onto your Flickr account and downloads all the photos you select, for backup purposes.

What I’d really like to see is an option for backing up all the meta data as well (comments, descriptions, etc.). That’s the only thing that I don’t like about these kinds of services - getting your data “locked in” to their site. As of now, they don’t give you an option for exporting the meta data easily, but thankfully (from a brief glance at the API), it looks like this is possible, so maybe someone will do this eventually in an application like this.

Battle of the Map APIs

- Yahoo vs. Google -

Yahoo is in the lead right now, and has been from the get-go, in my experience. Google’s AJAX maps API has too many restrictions that make it impractical for some uses.

Google just recently added geocoding (translating address info into coordinates that the map systems need to work with), whereas Yahoo has supported it from the beginning. The main distinction, though, is that overall it just seems like Google wants a lot more control over how you use their map service than Yahoo does.

Both require you to register for a key to use the API, but the Google key is tied to a specific fully qualified domain name (including sub-domains, not just the primary domain part), whereas Yahoo does not impose this limitation.

I’m currently in the middle of doing a project based on a WordPress MU installation, which (by default) uses dynamically generated subdomains for each new user that signs up, which the Google API obviously wreaks havoc with. You can work around this (in WPMU) by using directories instead of subdomains (ie: muinstall.com/test1 vs. test1.muinstall.com), but it’s still quite ridiculous.

Browser shots

This is pretty cool. Now I can check out how my pages look in Safari.

Google Reader ups their web 2.0 cred

An entry this week on the Google Reader blog describes their latest improvements to the software, and includes this helpful meter for judging their hipness factor:
web20meter

Google Code Search is here!

Search for some source code, and specify filters for langauage, license, etc.

Sun is shining

I’ve got to admit that Sun is really impressing me lately. In an effort to gain back some of the ground that it has lost to .NET in the last few years, they’ve made some pretty impressive moves.

The effort to open up the JVM to support multiple languages I think will be a big win for them, and a particularly good example of that is their recent hiring of the JRuby developers, in an effort to get a full implementation of Ruby running in the JVM (including support for the all important Rails framework).

The greatest thing about this is they’re also going about it in all the right ways. While the two guys who built JRuby are now full-time Sun employees, Sun is not stepping on their toes in any way. JRuby started as an open-source, free software product, and it will remain that way; Sun takes no ownership of it, it’s just funding its continued development. The two guys live in Minnesota, and they’re staying there, which Sun is also fine with. They basically are just going to get fat paychecks from Sun to keep doing the exact same work they’ve been doing up until now.

Other software companies: take notice. Actually, I think more and more are, but I’m thinking of two in particular where this model / approach will probably never happen (you know who you are).

The other thing I love about this story is it highlights a new branch in the evolution of the software industry / profession. In recent years, after the bursting of the initial dot com bubble and the fall of the start-up culture, we’ve seen the rise of the start-up-to-be-bought model, where your goal in starting your own small company was solely to produce a product, service, or whatever that would get you enough attention to garner an offer from a bigger player like Yahoo to buy you out.

That was interesting, but I have to say I like stories like this one even better, where software developers put their time and effort into products they believe in, and some clever companies who recognize the potential value that these developers’ efforts can bring to their business are coming along to support them, as opposed to taking them over. It’s a pretty exciting time to be a software developer, I think.

Open support

The QUNU project is now bringing free, real-time tech support to all kinds of users, including those trying to work with free or open source software for which no official lines of support exist.

One of the benefits I see in this is answering the most frequently used reason that people choose not to use free or open source software in their businesses: the immediate availability of help when they run into a problem. Of course, those of us “techies” know that search engines like Google are often much more effective (when used properly) than official corporate support (for commercial and non-commercial products alike), and that there are already a lot of resources out there to help people install Linux, etc., but this is just one more outlet for that kind of thing, with a much quicker turn-around time and specific, personal focus.

Of course, there are companies (like RedHat and Novell) that use support as a part of their revenue plan, and I’m sure those will continue for various reasons (like having someone to blame when something goes wrong, even though that logic is pretty jacked up), but I’d love to see a more open support structure like this gradually overtake a lot of that kind of thing.

However, the thing I like most about this idea of the community being the support center is that it creates more avenues for non-developer type people to help out and contribute to open source projects. There are a lot of people out there who love the idea of this kind of software, but I think can sometimes feel held back from being personally involved if they are unable to contribute actual code to the product.

Things like this allow those kind of people to contribute in their own ways, and providing support is a huge need that a lot of people out there can probably fill, becoming a vital part of that particular project. I think it will be great to see this trend continue, and to see graphic designers and other types of “non-coder” people rally behind producing good products.