Skip to main content

What about this "agile" thing?

· One min read

A friend just wrote to me, asking about agile. He's been seeing software job posting with the vague request/promise of "agile" in them, wondering what the big deal is. Initial reaction: if no specific methodology or agile principle is cited, then at worst they are glomming on to pop culture, at best they want to make sure you can

  1. handle changing requirements,
  2. deliver prototypes and/or working code frequently,
  3. take an iterative approach to documentation, coding, and testing.

"Being agile" means both that you aren't going to freak out at the lack of a locked-down, step-by-step waterfall process, and that you aren't going to go cowboy and give the client a product at the last minute, with no conversations or demonstrations between the initial requirements "gathering" and delivery.

Will the Earth be Unfit for Human Habitation?

· 4 min read

Ms. Dudzinski’s 9th Grade English class. Grade: 94. Current observations: I was very into politics (this was shortly before the ’92 election), and somewhere I had learned some demagoguery that would later serve me well in debate class. The overall point I was trying to make was and is sound, but on rediscovering this recently, I couldn’t help laughing at my (ignorant) scare-tactic of running out of oxygen. And where did I get this "con-environmentalist" term? The assignment was clearly intended as an exercise in persuasive, opinion-based writing. The lack of citations is irksome to me.

Twice as Spontaneous: Trail-Building and Texas Music

· 2 min read

I'm not a spontaneous guy, so for me to do two spontaneous things, out of schedule, in the same week, feels quite liberating! And it is a good reminder that letting myself become too regimented is a sure sign that I'm being pulled too far into the rat race, into the humdrum existence that I've always dreaded. Building a trail and listening to Texas folk-rock are good cures for that.

Minnesotans Standing Together - prayer service

· One min read

"O people! Consort with the followers of all religions in a spirit of friendliness and fellowship," Bahá'u'lláh commanded his own followers in His epistle of the Glad Tidings.

In that spirit I, and three to four-hundred others, ventured to downtown Minneapolis this evening for Minnesotans Standing Together - A multi-faith prayer service for respect. The service began and ended with bagpipes, surrounding comments, prayers, songs, chanting, and meditation from the Christian (Lutheran, Unitarian, Catholic), Jewish, Muslim, Hindu, Bahá'í, and Buddhist faith traditions (a Lakota speaker was unfortunately absent). These were words of unity, love, and respect for one another — and a call to actively show those feelings, to uphold them in society in the face of enmity, rancor, and hate.

Devotional Program: Creating Material Balance

· 6 min read

This devotional program was presented at the Bahá'í House of Worship on September 5, 2010. Before going upstairs into the temple, I joked to my friend that I wanted to go downstairs to the bookstore, to be material before being spiritual. The architecture is inspiring enough, but the devotions and music were, well, heavenly :-).

Baha'i Books Available Online

· 2 min read

Did you know that many Bahá'í books are available for free download onto your computer, smartphone, or e-reader?

  • At http://reference.bahai.org you can click on an author's name to see a list of books, including all published translations from the Central Figures, the writings of Shoghi Effendi, and a few other works. To the right of the book title are two small icons that you can click to download that book: one as a Microsoft Word document and another as an adobe PDF document. Both are zip files that require a program like WinZip or 7-Zip to open (newer computers will also have built-in capability to open these zip files).
  • Palabra Publications offers many compilations of letters from the House of Justice, as well as books on deepening themes written by Melanie Smith, Paul Lample, and Dr. A.M. Ghadirian. This includes Lample's Creating a New Mind and his new Revelation & Social Reality
  • The Gutenberg project aims to preserve a digital collection of tens of thousands of public domain books: those whose copyright has expired, or whose authors have placed the books into the public domain. All of the works at reference.bahai.org are also found here. In addition, you can find:
    • Under "Baha'i International Community" as author - Century of Light, One Common Faith, The Prosperity of Humankind, Statement on Baha'u'llah.
    • Under "Baha'i World Centre" - Bahiyyih Khanúm

What about uint?

· One min read

I'm writing a class with several methods that take integer input. The input values cannot be less than zero. Since we're not on .Net 4.0 yet, I'm manually writing code contracts (that is, my functions check preconditions), e.g. before doing anything else, I write something like…

if (sequenceNumber < 0)
{
throw new ArgumentOutOfRangeException("sequenceNumber", "Sequence number must be 0 or greater");
}

This got me thinking: why don't we ever use unsigned integers? Seems like having a uint would better communicate the requirement, and would simply not allow a negative number. The main answer seems to be that casting between uint and other data types, which is inevitable, is ugly. And that uint is not CLS compliant. Even though I'm not trying to write CLS-compliant code at the moment, I think I'll stick with int — because that is our existing convention, and I don't see enough reason to change the convention.

Diagnosing Production Problems: Zeroth Law

· 2 min read

Stephen's first law of diagnosing problems in production should have been: make sure you actually know the scope of the problem. We have a process that checks for duplicates in an inbound file. Records marked as duplicates are not moved into production. A refinement of the process was installed this week. All the sudden, e-mails showed that thousands of records were being marked as duplicates. I came over to help investigate, and found people looking at code, trying to figure out what was going on, because they knew without doubt that these records were not in fact duplicates.

But we needed to step back and ask what is the scope of the problem? We looked at the e-mail with the duplicates, picked a name or two from the list, and looked in the original input files and confirmed that they were not in the files. So how/why were they reported? But then let's set that aside, and ask: did all of today's records make it into production? If yes, then we have a problem but not a crisis. The answer was yes: we could see a 1-1 match between inbound file and outbound production data. Therefore, we have a minor reporting problem, but the core of the system was working just fine. Panic averted.

So what was the cause? A staging table that had not been truncated after a previous file was processed. All those records were being reported as duplicates.

Favorite Passages from On The Origin of Species

· 2 min read

The Times has a special feature about On the Origin of Species, including annotations from various Scientists commenting on favorite passages. The first annotation is by the famous primatologist Frans de Waal, who comments one of the passages that struck my interest when I read the book earlier this year:

I should premise that I use the term Struggle for Existence in a large and metaphorical sense, including dependence of one being on another, and including (which is more important) not only the life of the individual, but success in leaving progeny

Darwin, in the course of his opus, did not merely lay out the voluminous evidence for natural selection, he also frequently dropped hints of further research to come: for instance, the topic of cooperation. As de Waal notes, we're generally taught to think of Darwinism as survival of the strongest individual competitors. Look at so-called "social Darwinism," and you'll see something that Darwin would likely have hated. Because he clearly believed that cooperation and education (an extension of "leaving progeny") were key components of the general competition between traits (evolution) in a population — that evolution is more than just my biceps are bigger than yours, my brain case has more volume than yours, etc.

safnet logo