One Traffic Light Per Child
The XO machine of the
One Laptop Per Child initiative
has a display with two remarkable properties:
in reflective mode it can be read under sunlight,
and it can also work in both laptop and tablet mode.
Add a dozen-line
program and you have a real traffic light.
Continue reading "One Traffic Light Per Child"
Software Development Productivity Award
Yesterday, at the
17th annual Jolt Product Excellence and Productivity Awards
Code Quality: The Open Source Perspective won a Software Development Productivity Award
in the Technical Books category.
Continue reading "Software Development Productivity Award"
Make vs Ant: Observability
I've long felt uncomfortable with ant
as a build management tool.
I thought that my uneasiness stemmed from the verbose XML used for
describing tasks, and the lack of default dependency resolution.
Today, email from a UMLGraph user
struggling with a complex ant task
made me realize another problem:
lack of observability.
Continue reading "Make vs Ant: Observability"
Software Rejuvenation is Counterproductive
In the February issue of the Computer magazine
Grottke and Trivedi propose four strategies for
fighting bugs that are difficult to detect and reproduce.
operation and replicating software are indeed time-honored and practical
solutions. When coupled with appropriate logging, they may allow an
application to continue functioning, while also alerting its maintainers
that something is amiss. On the other hand, the proposal to restart
applications at regular intervals (rejuvenation as the authors call
it), doesn't allow us to find latent bugs, sweeping them instead under
the carpet. This lowers the bar on the quality we expect from software,
and will doubtless result in a higher density of bugs and increasingly
complicated failure modes.
Continue reading "Software Rejuvenation is Counterproductive"
The Power of Reusable GUI Elements
One can manipulate any graphical element of the
Squeak environment by bringing up
a rectangular set of icons representing actions that one can perform
on any object.
At first I found it cumbersome to have to go through the halo
in order to perform any action, like recoloring an object or
changing its name.
Later I saw that this method is incredibly powerful.
Continue reading "The Power of Reusable GUI Elements"