New Class and Final Class

Hi All,

I am pretty excited to be learning about entrepreneurship at Eastern Michigan University.  The class is 388 – Introduction to Entrepreneurship.  I will be using this blog to post comments and responses to blog posts as I read them.


Shaun Farrugia


Java, where art thou? aka .isAvailable()?

So for the past two years I’ve really wanted to jump on the Ruby On Rails train (is that what it’s called?).  It seems that PHP has had a similar MVC pattern happening with PEAR.  Rails is under the gun from this “hackers framework” called MERB.   Python has Django ( is using this) and Pylon (nothing like maintaining alliteration).

As a web developer I am always looking for ways to maintain some semblance of automation amongst my coding activities.  There’s only so many view patterns one can write before you say “Really?  I need to do this again?”  I’m wondering why a pure POJO framework hasn’t caught fire amongst us yet.   Is RUBY that much of a step up that it allows such a strong framework to exist.  Are we doomed to have  Groovy fill in the cracks with scripting putty and Grails?




Direct Link to Apple iPhone 2.0 Firmware Update

Here’s a direct link to the iPhone 2.0 Firmware Update.  


direct link 


Isn’t that a sweet hyperlink?


I probably won’t install it until tonight.  Off to a tigers game.


Getting rid of life-spam

I have a suggestion for you.


Get rid of life-spam.  Declutter your email box by ensuring it doesn’t get cluttered at all.

I realized this week after listening to The 4 Hour Work Week audiobook that I not only spend too much time on the inbox, but I actually HAVE NOTHING TO DO in my inbox.   For example:  Over the past 2 days my Gmail and Emich inbox combined have received over 40 promotional emails from companies that I have done business with in the past.   

Since I’ve made it a point to de-stuff, I’ve also have to make a point to ignore and delete these promotional messages.  I’m not interested.   I am interested in deals but honestly you can find those same deals by searching google/ebay/yahoo what ever.  These giant time-wasters give you absolutely NO VALUE.  


Do yourself a favor:  Next time you do your Inbox 0 or Collection process, go ahead and unsubscribe to all of that promotional email.  You’ll be so glad you did!



Don’t worry if your idea already exists

Are you the type of person that has lots of ideas and struggles to find time to do any of them?   Then this post isn’t for you.

This post is for you if you’ve finally found some time to work on that wonderful idea that you’ve had bumping around your head.   You sit down and start to do some research on the topic.   You know what you need to get it done.   Your laundry is set and your girlfriend/wife/husband/boyfriend is away for the week.  Things are all good.  You open up google and do some searching for the ideas and tools you need to make your idea reality.

And then you see it.   Someone did it already!

Don’t sweat it.  You need to continue to work on your idea!

One of the most disheartening things than can happen to yourself is seeing the fruits of someone elses labor evolve into a working, real implementation of that world-changing idea that you had.   It’s easy to question yourself and think that you lost your chance or you are behind the game.  You might even think it’s time to pack it in and have kids and hope that they succeed at dreams that you failed at.   You might even go so far as to say, oh, sell your things and move to an ashram.  What’s an ashram?

In anycase you will need to fight off that urge to give up and continue following your dreams.   There is one strong reason for this – innovation.

While someone else may have already built the thing you are thinking of, you have no idea if your efforts will produce something that is better, faster, stronger, more user-friendly, less power-consuming, more earth-friendly and so on.   Take a look at google.  When google was launched there were already a number of search engines on the market.   Fast forward to just a few years after google was launched and you start to see that google completely dominated the field.   it would have been easy for Sergey Pergey to just say “F it.  I’m going just work for some dude and make my money” but he didn’t.  S and L went about building google into what it is today.

So if you think that your idea is now useless, or you can’t implement it please think again.   You might just have the improvement on the idea that push the idea to the next level.

Random Thoughts

Early 90’s retro haircuts coming back

Can I be one of the first to say?  Early 90’s haircuts are coming back.  I’ve seen a few steps around lately (kinda like the fade, but more defined, MC Hammer rocked one).  I’m rocking a side sweep (skater style with banger tendancies).  There are a few faux hawk mullets i’ve seen that are ready to turn full mullet.  


I’m so happy about this development.


My Phone Number is NOT INVALID.

I was looking through some code on the site I maintain and was struck by how often we use something like

“Invalid Phone Number. Please enter a valid phone number, including area code (example: 555-555-1212)”

If I enter 3133388839 in the phone number field it would yell and say INVALID.


Open the Windows! Why Microsoft should open source Windows.

Life today is tied together by computers.   Our relationship with companies is driven by billing cycles and algorithms implementing these bills.  Our relationship with peers and family is driven by emails, photo sharing applications and instant messaging.   Much of this software is created by teams of skilled software developers.  Analysts and architects let these developers know what features or changes go into the software based on market research, feedback from users, or pure guesses.  When the decisions are made,  programmers go ahead and create the source code that is later compiled into what many people see as the end result;  the software itself.


You may have heard of a concept called Open Source software.  Open Source software is defined as software in which the source code is available to the users (FSFE).  The de-facto standard for calling something open source requires that users be able to add functionality that is not already available in the software and compile it.  Users have the option or are required to make their changes available to other users depending on the license granted to them.  Open source software becomes transparent – any changes made are visible to a number of people and there are no secrets in open source software since the code is available to be viewed by anyone.  Any concern that a piece of code is doing something wrong is reviewed by people interested in the software itself, either as hobbyists, users or even corporations who use the software to further their own needs.


Closed-source software is just the opposite.  End-users may not view the source code for closed source software.  A user has no recourse to add on functionality if he or she chooses.   The user also places the trust of the software in the control of the corporation who created it.  Microsoft Windows is an example of close-source software.  


The benefits of open source software is obvious to anyone who has used Windows at their mothers house after a virus was downloaded and installed.  Since most open source software is also free, you also benefit financially from not paying for software.  Many of the popular software packages today are open source; Linux for operating systems and most of the file sharing applications are open source.  


Open source can take an idea from one corporation and improve upon it.  America Online has an Instant Messaging network called AIM.  For years, the only way to get on that network was to download a client from AOL.  This did not operate with other networks until an open source project named GAIM appeared.  Anyone who used GAIM could communicate with AOL, YAHOO and MSN users without having to install separate clients.  It was also free (just as AIM was free).  


Why then does one of the most recognizable brands not embrace the idea of open source?  For years, Microsoft avoided and rejected calls to open source windows.  Very recently did they unveil licenses which allowed users to review the source code that made up their software but this has been shown to be restrictive and not in the spirit of open source by many advocates.  


It’s true that the company controls their Intellectual property rights by keeping the software closed.   Open Source software can introduce a lot of legal issues.  For example, if someone introduces code in the stream that is copyrighted or owned by another individual, legal issues arise.  Open source software also tends to follow the “bazaar” model, more akin to design by committee rather than one or two experts.  If someone introduced a feature that is not widely liked , or implements it differently than what the majority of the users prefer, people will create another copy of the project (called “forking”) ad continue development on their own software.


But drawbacks aside, the clear benefit to open sourcing Windows is to Microsoft itself.  Competition from Linux, another open source OS, is fierce.  Administrators prefer the idea that a community is working on issues and code reviews can be performed.  Many people have a bad taste in their mouth from Microsoft releasing patches every so often that break the software instead of fixing it.    If people were able to fix the issue themselves, the satisfaction of knowing the job is done to their standards takes ahold and Microsoft clearly relieves itself of much of much of the blame it currently receives.


Microsoft also gains ideas from the community of users who are using their product everyday.   Of course they can continue to hire testers and designers internally and work on the software, but they can not get feedback from the most important people(Raymond 2), the users themselves.  Issues can be solved by the community and the community can take their destiny in their own hands.  Windows has higher quality from having all these extra eyes looking at their software.


One of the fallacies that plagues open source is software becomes free and therefore unprofitable.  Microsoft can avoid this by only open sourcing certain core features of windows.  They may choose to open source their popular web application server, IIS, or they can open source windows itself.  Given this, the popularity the software currently enjoys can be maintained by removing the current differentiation factor that is typically exclusive to hotter, more revered open source software.  Microsoft can also devote many of the resources that are dedicated to bug fixing and send them to newer, more advanced and lucrative technologies.  The resources are free to become  a profit center rather than a cost center.  These teams, armed with development money from Microsoft can compete with other teams from around the world to implement ideas originating from the Open Source world, improve upon the ideas, or create and invent completely new technologies used by families, companies and individuals.  


The final benefit is more abstract but important none-the-less.  By opening the source code up to be viewed by others Microsoft grabs a portion of the hacker spirit.  The hacker spirit is the energy that drives us to improve and develop something new without any benefit other than the joy of developing it.  


Microsoft has made some progress in creating Open Source licenses for it’s software (OSI), but it’s time for the most critical software to be opened up to critical analysis.


Works Cited


(FSFE) Free Software Foundation Europe  Accessed 10 Dec 2007. 



Raymond, Eric S. “The Magic Cauldron” 3.0 25 Aug 2000



(2) Raymond, Eric S. “The Magic Cauldron” 3.0 25 Aug 2000



OSI “OSI Approves Microsoft License Submissions” Open Source Initiative

Accessed 10 Dec 2007 <>


Writing a Firefox Extension for AIM

I am learning the wonderful world of Mozilla. Specifically writing an extension for Firefox. There are some really awesome things about this platform. Firefox is not just a great browser, but it’s a really great platform. XPCOM let’s me write javascript code to do sockets and all sorts of wild stuff. I haven’t even scratched the surface yet.

In any case I’m writing an extension to let me send links to people who are logged into America Online Instant Messenger. AOL just released a ton of developer tools for embedding AIM into your web pages, and a ton of SDK’s but I’ve decided to use the old TOC2 protocol for the project. The reason: I didn’t want to start trying to deploy XPCOM, C++ bindings and all sorts of headaches with my first extension. I want this to be fun, easy, and useful for my first try. Something a little more advanced than Hello, World.

In any case i’ve spent the last two nights on it and I found an old TOC protocol implemented in javascript and created my first XUL add-in. Next steps are to upgrade the TOC to TOC2 protocol and figure out a way to test it properly without destroying my user account.