Saturday, March 29, 2008

Lights Out?

My Uncle noticed this today. It is an interesting approach to saving energy. It works for CRT's, but not LCDs(http://www.google.com/intl/en/earthhour/), Still cool, just don't try to print pages like this with Background printing turned on.

Thursday, March 20, 2008

Software Complications

I think I finally understand some of the strange things which complicate the creation of software.

I was involved in testing a small piece of internal software written by one person then handed over to a small group to finish. It mostly worked when he handed it over but was missing some stabilization and fit and finish. Being handed over it fell into a strange mix of complications.

Number of coders When there is one coder, there is one opinion and one style. The program should theoretically be consistent. Adding other coders throws a wrench in the works. Each coder has a different style and a different background. Not to mention they aren't familiar with the other coder's code.

Language complexity The complexity of the language can make things more difficult by hiding useful elements of the language in places some programmers wouldn't think to find or wouldn't know it even existed causing programmers to wrap their own solutions to things which already exist.

Language stability The stability of the language helps quite a bit. If a language is a type-safe language with garbage collection it is more difficult to have more disastrous consequences. Where in a language like C++, if you are not careful the program can leak and corrupt memory.

Project Complexity It is impossible to write a program which does not have errors. There will always be bugs in any program. Even a simple program will have some kind of way it can fail. The more code a program has and the more pieces it accumulates the more bugs it is likely to have. So the number of possible bugs is somewhat proportional to the complexity of the program.

Coder's Programing skill No two programmers have the same skill set or experience. Some have years of college and work experience, while others are new but well taught. Others are self taught, gleaning on the histories of others. As such the ways code is written will vary deeply depending on who codes.

Coder's Language familiarity The familiarity a coder has with a language certainly helps with how well they can code. A lot of languages have a very similar structure so someone familiar with a similar language can generally be somewhat efficient in another. But there are things such as libraries and learning the gotchas of a language which differ. For instance Someone who was educated in C++ can program in C# but they are likely to make things more difficult than necessary. And Someone who was trained in C# is likely to need to heavily use references to get much dome.

All of these things and others can make things difficult. A Programmer who is handed a project but is not familiar with how a program works is likely to unknowingly break parts which work perfectly well, while trying to fix some other part.

It was amazing to see how all of these factors can play into how a program eventually ends up. And the quality of it.

Cool Releases

A few cool releases this week, and one from a while back.

Windows Vista SP1 was released to Windows update yesterday. There are supposed to be lots of improvements and changes, including updating the Kernel to the one used in Windows Server 2008. I installed it last night. So far I haven't seen much difference. Instant Search is supposed to be cut back now, but I don't see any change there. Maybe there is some power mode I don't usually use or something.

The most drastic change is supposed to be with the speed of the normal File operations, such as Moving or copying files. Finally! I won't have to wait an eternity for a file to move! Another is that unzipping zip archives should be faster as well.

I think I can vouch for the zip file extraction being faster. I just unzipped an archive and it didn't seem as painfully slow as usual.

I also found out that Apple's Safari 3.1 has been updated. It's improvements are supposed to make it faster and more standards compliant.

It does seem faster. It actually seems to be usable now. But Safari it is still missing some power features which still makes IE, Opera and FireFox better for developers. Such as being able to save an entire website rather than just the html.

Right now I'm using Safari to write this post. The built in spell checker is a nice feature for blogging, as is the ability to resize the text box. But it is still such an ugly misfit to run in Windows. Skinned windows are for toy applications not serious ones. It also still looks horribly naked without the Windows borders.

A while back FireFox 3 Beta 4 was release. It is on it's final leg of Beta's so there shouldn't be many differences with it from Beta 3. I haven't spent much time on it so I haven't found many interesting points. However the user interface is kinda cool.

Tuesday, March 18, 2008

Unemployed

A week long Friday is now over. I am officially unemployed for an hundred days. Today at a little after 3:36 PM I handed my badge over to my Employment Rep.

Before the day was up, I sent this email to those I thought would care.

The curtain closes and it’s time to take the final bow.

Goodbye all, the pleasure has been mine, to have worked with each of you.

Thank you.

The funnyest responce was from my former Manager:

Not every day a tester comes along like Him who both cranked out a lot of excellent work and didn’t drink all the beer!

It's a bitter sweet time. A short time to be free before the next adventure begins. Yet sad, to miss what I have been enjoying doing for the past year.

Friday, March 14, 2008

Happy π day!

it's 3 14 again. It looks like librivox is celebrating in their own way http://librivox.org/?page_id=1999&preview=true You can listen to the first 50 digits read by many readers. Sounds like fun. Once again I forgot all about it so I don't have any Pie to celebrate with but it's a fun day anyway.

Wednesday, March 5, 2008

Drooling over announcements

Oooh! IE8 Beta 1 is out today. I'm excited! I'm easy to excite aren't I? I simply had to download it and try it out. http://msdn.microsoft.com/ie

I decided to re-download the IE6 and IE7 Virtual machines so I could try installing IE8 in a safe environment, so I wouldn't mess up anything. When I went to the VM page I found there was already an IE8 Virtual machine up too. Nice! But it means that just running the VM I don't get to see the installation, oh well.

I'm having fun anyway. I'm even writing this post from IE8 running on the Virtual Machine. It's so funny how broken Blogger is as it's expecting the old broken IE behavior.

Another really cool thing I saw today, is that a project I have been watching excitedly for a few years, has been released with source code. The project is Microsoft Research's Singularity OS. The all Managed Micro-Kernel, Software Isolated Process, Operating System. Even better, I know the one of the guys in charge of it. I've gotta find the time to try it out some time. http://www.codeplex.com/singularity. I wonder if I can understand any of it?