Archive for September, 2009

Tech Podcasts

September 18, 2009 Leave a comment

According to the New Oxford American Dictionary:

a podcast is “a digital recording of a radio broadcast or similar program, made available on the Internet for downloading to a personal audio player,” but the generally accepted definition has expanded to include video as well as audio. Originally derived from a combination of “broadcasting” and “iPod ™,” the word was declared “word of the year” when it was added to the dictionary at the end of 2005.

Podcasts have evolved during the recent years from amateur recordings using cheap microphones to programs that can be easily compared to the best radio or TV shows.  They cover a wide range of genres and topics and, in my opinion, are a great (even though a little bit geeky) way to spend your time during long commutes. Most people will never understand this line of thought, but why lose 2-3 hours per day doing nothing when you can listen to this week’s tech news or a presentation about a new framework?

I have been listening to podcasts for a couple of years now and I am currently subscribing to about 10-15 (mostly tech oriented) podcasts, so I think that I have a pretty good idea on which are the best tech podcasts out there. The following list in not by any means complete, it just contains (in random order) the podcasts that I follow every week and that I think are worth mentioning:

Categories: Tech Tags: ,

Don’t Copy That Floppy

September 12, 2009 Leave a comment

SIIA (The Software & Information Industry Association) released its new anti-piracy campaign [1], called “Don’t Copy That 2”.

You can find the video in youtube:

I was laughing out loud for 10 minutes after I saw the clip. I am sure that whoever is responsible for this campaign is either someone locked in a cage or he doesn’t have kids/thinks everybody is an idiot. Even the best comedian would never think about such a lousy add (in order to make fun of SIAA). As Nick Summers writes [2]: “Rap, Klingons, and Jailhouse-Rape-by-Broomstick Aren’t the Best Way To Teach Kids About Piracy … ”

In their next campaign, they should hire the guys from “IT Crowd” or even use their anti-piracy spot [3],[4] (it is a must-see). I would say that it is the funniest computer related add (with tones of money invested in it – not just a parody), but unfortunately it’s prequel from 1992: “Don’t Copy That Floppy” would easily take the “Worst Advertisement” Emmy Award.

Categories: Tech History Tags: ,

Zend Framework Tutorials

September 2, 2009 Leave a comment

Zend framework is a PHP framework that allows PHP developers to design their projects using the Model-View-Controller (MVC) architectural pattern. Together with the Object Oriented features of PHP 5+, it allows PHP to stop being a “Personal Home Page” scripting tool and become a language in which you can really design big projects. I am not going to explain further why Object Oriented Programming, tiered/modular architectures and separation of Model, View and Controller are critical for project designing, development and maintenance, as thorough analysis can be found in any textbook. (I also believe that those concepts should be obvious to any senior software architect/engineer that plans to design and/or implement a medium/large project).

Noteworthy Introductory Tutorials:

  • Zend framework’s quick start tutorial: This is a great starting tutorial in order to understand the fundamental concepts.
  • Akra’s tutorial: Somewhat more advanced than the quick start tutorial. It is a nice introduction to some more concepts, even though Arka’s approach does not always follow the MVC pattern.
  • Pádraic Brady’s tutorial and on-line book. I must note that his writing style is quite enjoyable and very easy to follow (for the geeks among us – exaggerating a little bit – he has a “Tanenbaum” style of writing):
    • Example Zend Framework Blog Application Tutorial: Even though it is written for Zend framework version 1.5 (which has many differences with respect to version 1.9.1), it is quite useful as it introduces some new techniques, it presents in depth the basic concepts (a good supplement to the first two tutorials) and it adds authentication and authorization examples, modules, plugins and lots of other features. Just remember that he is using an older version of the framework, so I advise you to use Zend_Application and config files in order to setup your environment (paths, views, controllers, layouts)  instead of the methodology presented in part 3 and some of the part 4 (you can use my simple template app if you want a different approach).
      Edit: For some reason, I could not find Parts 9 and 10 of the tutorial in Brady’s blog. You can find a version of part 9 [here].
    • Zend framework – Surviving the deep end: This is a work in progress that can serve as a thorough introduction to the framework. It is partially based in the blog application tutorial, but covers more aspects as the author has more space than a blog post in order to discuss about design decisions, etc. I believe that there are many more advanced features to be added, but even now one could find some interesting chapters like the ones about performance optimisation and unit tests.
  • A small tutorial on how to modularize the guest book application that was presented in the quick start tutorial: [1] [2]. I shouldn’t add it together with the general overall tutorials that I mention in this post (and that’s why I haven’t linked to many other, very helpful, specific tutorials), but I think that adding modules to an application is (1) a very important concept and, even though it is trivial, (2) it is not adequately explained in the on-line documentation of Zend Framework.

Video Tutorials (VidCasts):

  • I liked the video tutorials in the Zend framework’s website. It’s a great 20-30 min way to understand the basic concepts of Zend framework before diving into the tutorials.
  • Even better, Zendcasts has more than 40 in depth video tutorials. Just skip the first 5-6 tutorials, which are covered by the official video tutorials. Also the first vidcats in Zendcasts site use the older 1.7 version (a different approach is used for the bootstrap, etc) and would be a wrong starting point for someone working with the newer versions of the framework.

Other than the few available tutorials, the best resource for all the available features is the extended Programmer’s Reference Guide, which can be found in Zend framework’s web site, and Zend’s Dev Zone. In order not to get lost trying to figure out where to begin (as the chapters are alphabetically ordered according to the name of the different components) , you must have some basic understanding about the framework and how it works, so I would propose first reading a couple of the abovementioned tutorials.
In my opinion, a nice set of starting chapters are:

Also, if you are going to build a lot of Zend apps, learn how to use the Zend command line tool and always create your projects and add controllers and actions by using it. If you are a windows user and have installed Zend Framework 1.9 or 1.9.1 (latest release at the time of writing this post), know that the Zend tool does not work properly in windows. The solution is to download version “1.8.4 patch 1″ from the zend archives and use its command line tool instead. You will save a lot of time and frustration 😉

Finally, after building a couple of projects, I realized that there is always a “startup repetition” phase where I must update the bootstrap.php, create a layout, add a dummy CSS, etc , so I  created a simple template app, which I use when I want to do fast 2 min tests. You can download it if you want from here (you must use Zend Framework 1.8 and above)!