Uncategorized

21 laws of Programming

1. Any given program, once deployed, is already obsolete.
2. It is easier to change the specification to fit the program than vice versa.
3. If a program is useful, it will have to be changed.
4. If a program is useless, it will have to be documented.
5. Only ten percent of the code in any given program will ever execute.
6. Software expands to consume all available resources.
7. Any non-trivial program contains at least one error.
8. The probability of a flawless demo is inversely proportional to the number of people watching, raised to the power of the amount of money involved.
9. Not until a program has been in production for at least six months will its most harmful error be discovered.
10. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
11. The effort required to correct an error increases exponentially with time.
12. Program complexity grows until it exceeds the capabilities of the programmer who must maintain it.
13. Any code of your own that you haven’t looked at in months might as well have been written by someone else.
14. Inside every small program is a large program struggling to get out.
15. The sooner you start coding a program, the longer it will take.
16. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long.
17. Adding programmers to a late project makes it later.
18. A program is never less than 90% complete, and never more than 95% complete.
19. If you automate a mess, you get an automated mess.
20. Build a program that even a fool can use, and only a fool will want to use it.
21. Users truly don’t know what they want in a program until they use it

Uncategorized

Google Browser Sync Discontinued in FF 3

If you are as sad as I am that Google have decided to discontinue further development of the Google Browser Sync, please dont hesitate to sign the petition…

You can read about Google’s decision here…
http://googlesystem.blogspot.com/2008/06/google-browser-sync-to-be-discontinued.html

And sign here…
http://www.ipetitions.com/petition/googlebrowsersyncff3/

Uncategorized

Jesse Liberty's rules for examples…

Reading about Silverlight 2, I stumpled upon Jesse Liverty’s rules for examples, they are simple and almost universal…

Judge for yourself…

1. Keep it simple enough that the example totally focuses on what you are trying to illustrate (but no simpler)

2. Try to use something like business objects rather than cute animals or game objects

3. Don’t show off how clever you are, break the code down into small digestible parts.

4. Use interim variables; they’re easier to catch in a debugger

5. Strip away all exception and error handling and bullet proofing unless you are teaching exception handling, error handling or bullet proofing.

6. Use great variable names so you need fewer comments, but don’t convince yourself that means you don’t need any.

7. Show the output

8. Make no apologies (except when you’re wrong)

Thanks, Jesse… for letting us laymen get access to some of the experience you have gained from writing those 10+ technical books about programming 🙂

Uncategorized

Innovation Peak, when ?

According to Watts Humphrey in his work called “Managing for Innovation” the innovative peak for engineers and scientists occurs two times in a life time.
The first peak happens in the early twenties, which is not much of a surprise as its common knowledge, however there exist a common belief that once innovative skills decrease over the years which W. Humphrey seems to disprove.
It appears that the decrease over the years are less significant than most think. And as an encouraging thought for the seniors out there, it appears that a second and much later peak occurs in the mid- to late-50s. He claims directly that this double-peak occurs among all the groups of engineers and scientists and that the dip in between is not very significant.
He continues to argue that the late 30s and early 40s is a highly stressfull period, but once creative people pass this hurdle, they will continue their creative work for many years… he sums it by pointing to an all american icon, Edison, seeing that many of Edison’s 1.100 inventions were produced later in his 84-year life.

Good news for us that intend to stay in the creative and innovative part of the software industry for many years.

Uncategorized

WinToMac : Its begun !

The day before yesterday my latest attempt to climb up of the Microsoft hole I feel into 11 years ago arrived with the mail…

It consisted of a…
– Mac Mini (Fully loaded configuration)
– a sizzling 23″ Mac display
– a set of the Wireless Mighty Mouse and the Wireless Keyboard (2008 edt.)
– an Elgato TV Link (Hybrid variant)

Initial setup was a bliss (even the Bluetooth Mouse and KB didn’t incur any difficulty – spoken as a true windows user, I guess – because I guess the MAC people wouldn’t even consider having difficulty with such a non-productive action) and after updating from the pre-installed OSX edition to the new Leopard edition via the included update CD I was installing the TV link without any hazzle whatsoever.

After apr. 20 minutes (the OS update took 15 of them) I was up and running including having my wireless network connection configured and gained access to all my shared windows drives on the network.

So far so good… I will keep you posted as I go down the path from Windows to Mac.

Uncategorized

RIA : Is this Web 3.0 ?

Taking a step back from the ever occurring deadlines and technical challenges that lurch around every corner, it becomes evident that RIA may have a more significant nature than it may seem at first sight.

Not everyone agrees on exactly what Web 2.0 entails. As with all great buzzwords and concepts, people are already predicting what Web 3.0 will be. Will rich internet applications dominate it?

RIAs are still in their infancy, but when done right they’re incredibly powerful tools. When Google launched Google Maps a few years ago, it opened people’s eyes to the fact that web browsers can do much more than merely display pictures and text.

Currently, there are four mainstream mechanisms being used to develop RIAs.

AJAX/JavaScript
AJAX is a web development technique for using JavaScript with XML to create a rich internet application by dynamically and asynchronously exchanging data in the background without having to refresh the page. Google Maps and Gmail demonstrated what could be done with simple existing technologies like JavaScript and XMLHttpRequest. Google, Microsoft and Yahoo! all now promote their own AJAX toolkits to assist in building AJAX-rich media functionality.

Flash/Flex
The first horse in the RIA race was Flash. Adobe/Macromedia with its Flash/Flex infrastructure is still the leader in online video. Combining the programming capabilities of Flex makes an incredibly powerful toolset for creating internet applications. Flash has strong penetration and when used effectively can enhance your website.

Silverlight/.NET
Microsoft is barreling ahead with Silverlight, a browser plug-in to deliver interactive web applications that should be taken seriously. The company launched Silverlight earlier this year and is promoting it heavily to its large partner development network. Silverlight is delivered to a browser via XAML, which is a text-based markup language. This makes it easier for search engines to scan Silverlight vs. Flash.

OpenLaszlo
Finally, even though you don’t see it much, there’s an open-source platform for RIAs called OpenLaszlo. Initially developed as a proprietary system by Laszlo Systems, it was made open source in 2004. Not wanting to be left out of the RIA race, IBM–consistent with its embracing of Linux and other open source–has helped propel OpenLaszlo. The company worked with Laszlo Systems to use the open source Eclipse development platform with OpenLaszlo. Applications for OpenLaszlo can be run in Flash or in DHTML.

One current issue with Flash is that while search engines can index it, they don’t index it as well as with text because Flash is a binary compiled file. That’s why most websites aren’t entirely created in Flash. Accessibility and keyboard navigation can be issues with these rich applications as well. If you don’t have a mouse or can’t use one, then you’ll have problems with these technologies. Also, while the plug-ins have sizable browser penetration, they’re problematic for some users.

What It Means for You
What does all of this mean for business owners in the Web 2.0 era? For the tech entrepreneur it means new opportunities. Many traditional client server applications are being pressured to move their applications to the web. Entrepreneurs can potentially displace client server apps with new innovative web applications. For other entrepreneurs, you have to evaluate your business and what specific benefits you can get from adding rich features to your website.

Ever Evolving
There will be other emerging technologies in the RIA area. The combination of these rich features will help trends like social networking continue to evolve. We’ll likely see many websites with more drag-and-drop-type features in the next few years. The online/offline office also will continue to develop as predominant internet companies compete with Microsoft Office for the next generation office applications. Web applications will continue to become more robust and feature rich than ever before.


Note:
Copyright © 2007 Entrepreneur.com, Inc.
…and thanks to Frank Bell for his input.