A Tablet Concept

December 17th, 2009

What a great design!

A Tablet Concept That Apple Could Learn From

Power & Contraints

November 20th, 2009

“Overall, the more power the platform tries to give you, the more constraints they impose.”

-Kent Beck. Interview in Software Development Times article, Nov 1, 2009.

Imagination, process failures doom software projects

November 13th, 2009

And then there’s the SD Times article, that quotes the “Chaos” study and gives some other advice as well:

http://www.sdtimes.com/link/33870

32% of all projects succeed

November 13th, 2009

Wow! Odds are, your project is not going to succeed:

The Standish Group’s just-released report, “CHAOS Summary 2009,” “This year’s results show a marked decrease in project success rates, with 32% of all projects succeeding which are delivered on time, on budget, with required features and functions” says Jim Johnson, chairman of The Standish Group, “44% were challenged which are late, over budget, and/or with less than the required features and functions and 24% failed which are cancelled prior to completion or delivered and never used.”

http://www.standishgroup.com/newsroom/chaos_2009.php

Windows XP Taskbar Resizing Troubles

October 7th, 2009

I’ve had the following issue with the Taskbar in Windows XP: I like to move the Taskbar to the left side of my screen and make it wide enough to have three of the small icons side by side. But in some cases, when I restart, the Taskbar will be smaller than how I left it before I restarted. Okay, it turns out that the solution is actually pretty easy: you have to close the “Language” icon that is close to the end of the Taskbar. Presto. Everything works as it should. What that !?!$:J@#$? How is it possible that in XP SP3 that bug is still around? Maybe someone at Microsoft thinks that a magically resizing, LOCKED Taskbar is a feature.

What is a Browser

October 7th, 2009

This on the street interviewing done by Google is really interesting:

http://www.youtube.com/watch?v=o4MwTvtyrUQ

It is not really that surprising that some people don’t know what a browser is. It is surprising how few people interviewed knew. The sample was probably not large enough and diverse enough to be statistically meaningful. But it is interesting anecdotally. And it really confirms what we already suspect–that most people aren’t really interested in how things work as long as they do. Those of us who are interested in how things work gravitate toward technical fields such as software development. We know what a Browser is, not only because we work in the field, but also because we are curious about how things work. And we have a hard time understanding how other people don’t seem to have a drive to figure things out.

Courier Update

September 30th, 2009

This morning I saw two more things about Microsoft’s Courier tablet system that is reportedly being developed:

Remains of the Day: Microsoft Courier Tablet in Video Edition
What Microsoft’s Courier Tablet Might Look Like In Real Life

The Tablets are Coming

September 29th, 2009

If one is to believe the Tech Media, the Tablets are coming. There seem to be more and more reports and speculation about a new breed of Tablet devices. Here are a few:

CrunchPad Nears Production, Looks Awesome
An Insider On the Apple Tablet
No Apple Tablet Till 2010, Say Sources
Gallery: Tablet Computing From 1888 to 2010
Microsoft “Courier” secret tablet
Google Tablet Leaves Windows Mobile Eating Dust

It is possible that a year from now we’ll have a whole new breed of device and we’ll be able to choose from a variety of vendors: Apple, Microsoft, Google and CrunchPad.

Prograph

August 14th, 2009

The coolest object oriented programming languages that I have ever worked with was Prograph. If you have never heard of it, you are not alone. The Prograph language never got enough market share to survive. But the fact that it is now extinct does not take away from what a great tool it was, both in terms of developer productivity as well is an intangible, off the charts, cool factor.

Wikipedia has a great introductory article about Prograph here:

http://en.wikipedia.org/wiki/Prograph

I worked in Prograph for several years and developed dozens of enterprise applications and utilities during that time.

I still expect some day to see some other programming language come along and do something similar. And there are people out there trying to keep the Prograph vision alive:

http://andescotia.com/
http://sourceforge.net/projects/exegraph/

I haven’t developed in Prograph for almost 10 years. But I still look back and think that was the best development environment ever! Here are some things that I liked about Prograph:

  • Once familiar with the language, I could look at a function and in once glance gain an appreciation for what the function was doing. A picture is worth 1000 words.
  • Prograph was way ahead of other tools for debugging and stepping through code. You could change code and data values as you stepped through a function. You could step back, change a value and run it again.
  • The language used data flow instead of variables. It did not require the developer to remember variable and parameter names and freed the mind to focus on other things.
  • Class and Package Diagrams were not separate elements. They essentially were the code.
  • Looping was really cool. Java and C# are coming close with “for each” loops, but even those don’t really capture the conciseness of the construct in Prograph.

Using a VM as a Secondary Development Environment

July 24th, 2009

When I’m working from home, I will usually work in a virtual machine that is sitting in a VM cluster on my company’s servers. When I’m in the office I’ll work primarily on the box that is siting under the desk. This arrangement started out for purely practical reasons. But I’ve discovered something very useful about doing development in two different environments: it forces me to get everything checked into source control. It is one thing to use source control in principle. But when you are working on a small team, it is really easy to fudge. I might for example create a SQL script for development purposes, but to save it on my desktop. Ooops, now I don’t have it anymore when I’m in my other location and I need to go looking for it. Getting in the habit of working in multiple environments means I’m much more conscious about getting everything checked in and hence organized.

There are two more benefits of using a VM that I’ve discovered. The first goes to general development work habits. I have a very flexible work schedule and don’t always decide if I’ll be working from home or from the office until the evening of the prior day. So I get in the habit of checking in my work every day. Which in itself is not all that valuable. But it leads to a focus on getting all my code to a clean state by the end of the day. I don’t want to check something in that might break a build. So I make sure that I leave everything in a clean and complete state before I go home. I find that this helps me to be very focused on the task at hand. The build works. Unit tests are complete and I get that satisfying green check mark. It’s a whole lot better to start a day without something that has to be finished or fixed.

The second benefit relates to working from home. If there was a power outage or some system update over night my desktop box might be unavailable and I might not be able to connect to it remotely. But since my virtual machine is running on monitored servers, it is more likely to be available.