Manifesto for Agile Government
I'm sure that many readers of this blog have read the
Manifesto for Agile Software Development.
Having worked in government over the past year,
I wondered how a similar manifesto for government,
created by a group of people who would radically want to improve existing
structures,
would look like.
Here is my take.
Continue reading "Manifesto for Agile Government"Last modified: Friday, November 19, 2010 5:50 pm
Farewell to Disks
A classic web-comic illustrates how idle Wikipedia browsing can lead us from the Tacoma Narrows Bridge to Fatal hilarity (and worse). The comic doesn’t show the path leading from A to B, and finding it is an interesting challenge—think how you would engineer a system that could answer such questions. I believe that this problem and a solution I’ll present demonstrate some programming tools and techniques that will become increasingly important in the years to come.
Continue reading "Farewell to Disks"Last modified: Saturday, October 30, 2010 8:37 pm
Synchronizing Thunderbird's Replied Flag
My main email client is Thunderbird, but I also use BlackBerry's and Apple's
clients,
all through the same IMAP account.
Disconcertingly, email messages to which I have
replied through the other clients don't show up in Thunderbird with the
"replied" () icon.
This means that when I browse my email using Thunderbird,
I waste time trying to remember whether I have responded
to a particular message.
Here is how I solved the problem.
Continue reading "Synchronizing Thunderbird's Replied Flag"Last modified: Thursday, October 14, 2010 1:40 am
UML, Everywhere
flowchart, n.:
The innumerate misleading the illiterate.
Continue reading "UML, Everywhere"Last modified: Saturday, August 28, 2010 11:48 am
Sane vim Editing of Unicode Files
Being able to use plain alphabeitc keys as editing commands
is for many of us a great strength of the vi editor.
It allows us to edit without hunting for the placement of
the various movement keys on each particular keyboard,
and, most of the time,
without having to juggle in order to combine particular keys with
ctrl
or alt
.
However, this advantage can turn into a curse when editing files
using a non-ASCII keyboard layout.
When the keyboard input method is switched to another script
(Greek in my case, or, say, Cyrillic for others)
vi will stop responding to its normal commands, because it will
encounter unknown characters.
Here is how I've dealt with this problem.
Continue reading "Sane vim Editing of Unicode Files"Last modified: Tuesday, August 24, 2010 1:24 am
Batch Files as Shell Scripts Revisited
Four years ago I wrote
about a method that could be used to have the Unix Bourne shell interpret
Windows batch files.
I'm using this trick a lot, because programming using the Windows/DOS
batch files facilities is decidedly painful, whereas the Bourne
shell remains a classy programming environment.
There are still many cases where the style of Unix shell programming
outshines and outperforms even modern scripting languages.
Continue reading "Batch Files as Shell Scripts Revisited"Last modified: Wednesday, August 4, 2010 11:21 pm
Code Documentation
Technical prose is almost immortal.
— Frederick P. Brooks, Jr.
Continue reading "Code Documentation"Last modified: Sunday, July 11, 2010 1:32 pm
Impact Factor of Computer Science Journals 2009
The ISI Web of Knowledge
recently published the 2009
Journal Citation Reports.
Following
similar studies I performed in
2007,
2008,
and
2009,
here is my analysis of the current status and trends for the
impact factor
in computer science journals.
Continue reading "Impact Factor of Computer Science Journals 2009"Last modified: Sunday, June 20, 2010 0:13 am
Email Analytics
During the past six months I've been drowning in email.
I spend a large part of my day responding to email messages and filing
incoming messages I consider important.
Yet I'm falling behind
and this affects the quality of my work:
I sometimes delay responding to important messages.
Followng Peter Drucker's dictum
"If you can't measure it, you can't manage it",
I decided to write a tool to analyze my incoming and outgoing
email messages.
Continue reading "Email Analytics"Last modified: Thursday, May 20, 2010 12:40 am
Ron Heifetz on Crisis Leadership
Earlier today I had the privilege to attend a lecture on
crisis management by the Harvard Senior Lecturer
Ron Heifetz.
Here is a list of points that struck me
(in the form of slightly edited tweets),
and my view of their relevance to software development.
Continue reading "Ron Heifetz on Crisis Leadership"Last modified: Wednesday, April 7, 2010 11:31 pm
Email's Ten by Ten Law
I drown in email and my aspirations for handling it are becoming increasingly
lame.
In the 1980s my goal used to be an empty mailbox at the end of each
session.
During the 1990s the goal became to empty the mailbox by the end of the day.
But tasks I couldn't complete within the day accumulated, so in the 2000s
I just tried to have only so many messages as could fit in a window without
a scrollbar, so that I could immediately scan what I had to do.
Nowadays my modest goal is to keep the size of my mailbox below 100
messages, and I succeed in that only half of the time.
Continue reading "Email's Ten by Ten Law"Last modified: Friday, March 12, 2010 10:52 am
Software Tracks
A generous car reviewer might praise a vehicle’s handling by writing that it turns as if it’s running on railroad tracks. Indeed, tracks offer guidance and support. When you run on tracks you can carry more weight, you can run faster, and you can’t get lost. That’s why engineers, from early childhood to old age, get hooked on trains. Can we get our software to run on tracks?
Continue reading "Software Tracks"Last modified: Thursday, March 4, 2010 12:48 am
Useful Polyglot Code
Four years ago I blogged about an
incantation that would allow the Windows command interpreter (cmd) to execute
Unix shell scripts written inside plain batch files.
Time for an update.
Continue reading "Useful Polyglot Code"Last modified: Tuesday, January 12, 2010 6:52 pm