Archive for February, 2007

prototype, script.aculo.us crashes IE6

Friday, February 23rd, 2007

At the moment I am finishing a project for a customer which involves displaying some data via barcharts and more detailed datacharts. The project is meant as a prototype / pilot project for a future bigger project and we wanted to use this oppurtunity to try out some different AJAX approaches. I opted to use the prototype framework along with script.acolu.us.

Everything seemed to work fine - W3C validation, IE6+7, Firefox 1.x+2, Safari, Opera etc., relatively small document/page sizes and so on. The customer was very satisfied especially since one of the new AJAX functions (based on the autocomplete function) provided an easy approach for users to find information which was otherwise a bit difficult to present.

Project was on time, on budget and everyone was happy - until.. one users IE6 crashes. Not just some minor thing.. It completely crashes iexplore.exe and kernel32.dll. Wow! Strange!

Ok - first off I wanted to check the build numbers on the different pc’s. Turns out that I got a couple of pc’s running the same build. However, these didn’t crash in fact everything ran smoothly. How marvelous! This turned my suspicion towards 3rd party plug-ins and after some googling I found a post on Aleksandar Vacic’s blog which mentioned that Text Ware’s QuickFind might be the problem, so today I went to the customer to check out the pc which crashed. Sure enough the QuickFind plug-in was present as part of a dictionary application. I then disabled it in IE and guess what? No more crashes.

Now this really leaves me in bit of a pickle. How far do you, as an independent consultant, go to solve these kinds of issues involving 3rd party BHO’s (Browser Helper Object). This problem will probably only affect a few users and taking into account the numerous amount of BHO’s available it might be impossible to make sure that the page doesn’t conflict with any of these.

UPDATE 04/27-07: Jakob Skjerning has written some more on the issue.

New Rails books and keeping busy

Wednesday, February 21st, 2007

So, I decided to get more familiar with Rails and went ahead and ordered a couple of books. The first one really is a must - Agile Web Development with Rails (second edition) is co-authored by David Heinemeier Hansson the creator of Rails (and a fellow dane I might add!). The second book I got is entitled Rails Recipes and is also part of “The Pragmatic Programmers” series.

My new Rails books arrived!

I will probably write some more on these books when I finish reading them. For the moment, however, I have a lot of litterature to go through in relation to my bachelor thesis on Lean Software Development (which is an agile toolkit much like eXtreme Programming, DSDM etc., which focuses on adopting the Lean philosophies from the Toyota production system). I will definately write more on this subject in the future, so stay tuned ;)

Some ridiculous math on SCSI drives

Tuesday, February 13th, 2007

Just a stray thought.. at my old job in an IT department we had maybe about 20 servers running 24/7. Every-so-often a SCSI drive in one of the servers would malfunction. Luckily ofcourse these all ran RAID-5 arrays so no harm done, just call HP support and have a new one delivered. However, I seem to remember that these malfunctions happen quite often, like once every second week. Maybe thats not a lot when you consider 20 server with approximately 5 drives each (100 drives total), but I can’t help wondering why. So I did a little math in my head to calculate the wear on an ordinary 15,000 RPM SCSI harddrive. So here goes..

First of all the 15,000 RPM adds up to 900,000 revolutions per hour which becomes 21,600,000 revelutions per day. In a year with 365 days this becomes 7,884,000,000 revolutions per year. Wow, thats a big number. Just imagine the wear on bearing, motor etc.

If you take the outer most point at the harddrive platter this would be about 1.5″ from the center. This means that the circumference of the circle that this point will describe during a revolution will be 2*Pi*1.5″ which is about 9.42″ or 0.785 feet. Multiplying this with the revolutions per year it means that this point on the harddrive platter will travel 6,188,940,000 feet or 1,172,147.73 miles (1,886,388.91 kilometers).

The distance to the moon is about 238,854 miles, which means that a single SCSI drive could travel back and forth about 4.9 times in a year!

First experience with Rails

Saturday, February 10th, 2007

“Ok, that self-containing Locomotive thingy-mo-bob is pretty nice”, “Wow, that was fast..”, “Then when do I create my tables in MySql.. ah wait.. oh! Thats pretty cool.. *typing*… so all I have to do is rake db:migrate?!.. It works on multiple RDBMS and even has a versioning system?!”, “What?! No XML? Why is RDBMS favoured so much, won’t I be able to do some XML?! *google ‘ruby on rails xml’*… ‘Builder’?.. examples.. Wow, that’s even easier to use than ChilkatXML”, “But certainly there won’t be any good reporting facilities, pdf writers etc. for such a new and small framework third party libraries are probably very limited.. I wonder.. *google ‘ruby on rails pdf’*.. I was wrong.. I can even use JasperReports…”, “of course.. AJAX is as easy as pie”.

The above is pretty much the thought that ran through my head while trying out Ruby on Rails for the first time. I’ve ordered the Agile Web Development with Rails book along with the Rails Recipes book. They should arrive next week, so I am looking forward to getting more into depth with Rails.

I am also excited to see how many third party libraries will appear in the Ruby community now that Rails is becoming so popular. It would be nice to see some more native components instead of using Java library like JasperReports.

Life is too short for low bandwidth

Saturday, February 3rd, 2007

Vacationing at my parents for a few days I ofcourse brougth along my MacBook. Saw this as an opportunity to try out some more stuff on the OS X. Wanting to download lots of different things I soon began to miss my 100mbit connection at home. Here I am stuck at a 512kbit connection :(

To make it even worse I found out that the Xcode 2.4.1 package is almost one gigabyte! My god it’s going to take forever to get this thing down. To make it even worse I found out it’s actually on the Mac OS X cd’s that were delivered with the MacBook, which I ofcourse left at home *DOH*.

Truly, life is too short for low bandwidth…

Xcode 2.4.1 package taking way too long to download :(

Trying out Eclipse and the Improve C# plug-in

Friday, February 2nd, 2007

Still very pleased with my MacBook and gradually getting more and more comfortable with the Mac OS X I decided it was time to get down to business and try some different developer tools. First of I installed a trail-version of the TextMate editor, which I have heard so much about. The fuzz is not for nothing, it actually has alot of nice features (and by alot I really mean ALOT!). The supported environments are abundant and features everything from C to Ruby-on-Rails and LaTeX. The user interface is not very user friendly though and it is evident that it is a tool for the developer and not-so-much the ordinary LaTeX report writing student (whom I might try convincing to use it) ;-) . But after a little while you get ahold of it and then all the nice features easily makes up for the steeper learning curve.

A Java example in TextMate C# in Eclipse using Improve’s C# plug-in

Next off I tried installing Eclipse a highly customizable Java IDE that is very popular. On my Windows XP machine I have NetBeans installed with which I have been very pleased. Although neither NetBeans nor Eclipse are quite as productive to work with as Visual Studio (in my humble opinion ;-) ) I am quite surprised how effective these IDE’s actually are. Contrary to NetBeans, Eclipse also features the possibility to use plug-ins. This for example makes it possible to support additional languages such as C#. Ofcourse I had to try this, so I downloaded Improve’s C# plug-in and installed it. After playing around with it for about 15 mins my impression so far is that it still has a long way to come. Altought both syntax highligthing, code-completion (which I could not get to work) and indentation are supported, it still seems too be lacking to much for my taste. But on the other hand I’ve grown an absolute addict to Visual Studio’s code-completion.

Next off I am going to try out the Mono project. Also I might try out the CSharpPlugin for Xcode (Susan Mackay has written a very thorough article on the use of this plug-in in the respect of developing for Mono).