Software developer’s worst enemy

Coding Horror has an insightful article on the software developer’s worst enemy.

[…] the real problem isn’t the code. The code, like a newborn babe, is blameless and innocent the minute it is written into the world. Code isn’t our enemy. You want to see the real enemy? Go look in the mirror. There’s your problem, right there.

As a software developer, you are your own worst enemy. The sooner you realize that, the better off you’ll be.

I know you have the best of intentions. We all do. We’re software developers; we love writing code. It’s what we do. We never met a problem we couldn’t solve with some duct tape, a jury-rigged coat hanger, and a pinch of code. But Wil Shipley argues that we should rein in our natural tendencies to write lots of code
[…]

There are quite a few things which seem obvious, that you can’t really disagree with, but which I also didn’t define or form on my own for some reason.

CakePHP 2.0 released!

I’ve been a bit all over the place these last few days, but I knew that this was coming shortly – CakePHP team released the new and much improved version 2.0 a couple of days ago. There are a lot of changes. And I do mean a lot. Here are some of my favorite:

  • PHP5 support. CakePHP was working with PHP before, of course. But in this release, support for PHP4 was dropped and all code has been updated to utilize PHP5 goodies.
  • Lazy class loading. Previous versions of CakePHP could easily get slow with a lot of models. There were solutions like Containable behavior and others. But it was annoying never the less. CakePHP 2.0 is much improved in this regard. It only loads things that are actually needed and used. That is a huge performance improvement.
  • Improved Console. The new Console is so much better that I’m even considering using CakePHP 2.0 for some of my non-web-based projects. It’s that good!
  • PHPUnit. Previous versions of CakePHP were using SimpleTest framework for unit tests. CakePHP 2.0 switched to the de facto standard PHPUnit. Tests are now easier to write. And integrating CakePHP projects with other Quality Assurance tools should be a breeze.

There are, of course, more changes. These are just the top few that I am particularly glad about.

Also, CakePHP 2.0 release is special to me. It’s been a long while since I participated in the development process of an Open Source project. I usually just report bugs and provide help via forums and blog posts. I did more than that with CakePHP 2.0. I actually wrote a couple of patches that were accepted and merged into this release. They were no rocket science, but a contribution nonetheless.

If you haven’t tried CakePHP before, now is the perfect time to do so. If you have tried older CakePHP versions, you’ll find this one to be much of an improvement. If you have tried it already, please share your thoughts in the comments. Let me know what you think of it.

Dennis Ritchie, RIP


I’ve just learned of yet another great loss – Dennis Ritchie, who passed away a few days ago at the age of 70. It’s difficult to describe his contributions and achievements to non-technical people, but anyone with even a grain of knowledge of computer history and modern affairs can appreciate what this man have done. Here is a quote from the Wikipedia page:

Ritchie was best known as the creator of the C programming language and a key developer of the Unix operating system, and as co-author of the definitive book on C, The C Programming Language, commonly referred to as K&R (in reference to the authors Kernighan and Ritchie).
Ritchie’s invention of C and his role in the development of Unix alongside Ken Thompson has placed him as an important pioneer of modern computing. The C language is still widely used today in application and operating system development, and its influence is seen in most modern programming languages. Unix has also been influential, establishing concepts and principles that are now well-established precepts of computing.
Ritchie was elected to the National Academy of Engineering in 1988 for “development of the ‘C’ programming language and for co-development of the UNIX operating system.”

Thank you Sir for all your hard work. Rest in peace.

Flickr vs Google Picasa : The Battle Continues

As some of you know, I’ve almost abandoned my Flickr account. I haven’t uploaded any photos there in the last couple of years. And I’ve also voiced my increasing preference of Google Picasa on several occasions. I’ve even started re-uploading all my pictures to Picasa and tagging people in it. Which is how you probably know about it, since that stirred a massive wave of notification emails.

Anyways. There has been a sudden and unexpected development in this area, which I want to share. Google replaced Picasa link (‘Photos’) in its navigation bar with Google+ Photos. And while Google+ Photos is an improvement over Picasa in some areas, it is an inferior product at this stage. And that was done when I was almost done with my Flickr-to-Picasa migration. I felt it was a blow below the belt. And that gave me yet another opportunity to reconsider my reasoning for the move.

These, to the best of my memory, were my reasons to move from Flickr to Google Picasa.

  • Uploader. This was one of the main reasons. Back a couple of years ago, Flickr web interface only allowed me to upload 5 or 6 pictures at once. If I had to upload much more, the only option was to install a browser addon or a desktop client. Which I tried too, of course. But all of them sucked in general. And required constant permission fiddling. Google Picasa had an excellent web uploader. All I had to do was drag and drop a bunch of pictures into my browser.
  • Mobile integration. Google Picasa had a client for my Android smartphone since the day I needed it. Flickr was a different story. A different story with Yahoo authentication on top of it.
  • Price. Flickr’s Pro account is $25/year. Google Picasa uses my extended Google disk space, for which I pay $5 / 20 GB / year. But those are magic Google gigabytes. Somehow I can fit 40 gigabytes of laptop’s disk space into about 11 Google gigabytes.
  • Image editor. Google Picasa had a built in editor which I could use to do minor editing like rotation and cropping. FLickr didn’t have anything.

Of course, these weren’t all my reasons, but they were the most significant ones I think. So, did any of that changed during my inactivity on Flickr and during my Google Picasa migration process? Yes. Let’s have a closer look.

  • Uploader. Flickr now features an excellent batch uploader. I tried it and it works very well.
  • Mobile integration. Flickr recently released Android app, which works pretty good. It’s not as useful as the Picasa one yet. But it covers the basic needed functionality and I’m sure it will improve in the nearest future.
  • Price. That is always something to consider. In relative terms, Flickr seems to be 4 times more expensive than Google Picasa. But in absolute terms, $25/year is really nothing. $2 or so per month won’t make much difference to me. That was a stupid argument on my part.
  • Image editor. Flickr now has one too.

So why would I want to move to Google Picasa now? There is really doesn’t seem to be any good reason right now. On top of that, Google Picasa is being phased out and replaced by Google+ Photos in which I don’t have any confidence yet.

Therefore, my thinking now is that I shouldn’t really move. Not at this stage at least. I will upload pictures from my camera to Flickr. I will take a bit more time to figure out what I want to do with my mobile pictures – either keep them in Picasa, or upload them to Flickr, or just use them in my blog only. But other than that, I think, I made up my mind about the move now.

What do you think? What is the best photo hosting/sharing option?

Fedora 17 is a Beefy Miracle

The community has voted on the name for the next release of Fedora Linux. The name ‘Beefy Miracle‘ has won the voting race. It got most of the votes despite all the noise and protests from the ‘serious’ people. Personally, I am in favor of this name for a number of reasons.

Firstly, I don’t see Fedora as a ‘serious’ distribution. Not in the enterprise kind of way. It is a bleeding edge Open Source project which is supposed to be fun. And it is. So, nothing wrong with a funny name.

Secondly, for those who do promote Fedora in the enterprise environments, there is really no need to use the name. They can still reference the release by number. And Fedora Linux 17 sounds strict and official.

Thirdly, through the history of all Fedora releases, there were just a few names that I actually understood and could remember. ‘Beefy Miracle’ is easy to remember.

Fourthly, there were too much hype of different vegetarian cultures recently. I have nothing against that. But as a huge fan of meats, I’m glad to see any kind of meat promotion. Be that beefy or porky – I don’t mind at all.

Fifly, c’mon people – it’s just a name. It’s not a project or person name. It’s a release name. No matter what it is, in a year or so it will fade away. Like all the others did. Seriously, who can still remember Heidelberg, or Stentz, or even Laughlin?