Although my email archive from the late fall of 1996 isn’t complete, I’ve been able to string together the story of the events surrounding PEINet’s request that we leave their shared webserver for our own host. My chain of email starts with this paragraph in a note to a friend:
Sorry to have not replied earlier — engaged in a little crisis management on this end today. Yesterday at 3:30 p.m., 10 minutes before we were to demonstrate the Government site to the new Minister of Economic Development and Tourism, I got a call from our ISP saying that they had decided that we had to move to our own server ASAP as our Christmas Card feature was giving them load averages of 36.
So I’ve spent the day sourcing an a Intel Linux box, finding memory and setting it up with Linux. Hard to do with no money and 24 hours notice!
The “Christmas Card feature” in question, which was a Perl-based e-card system based on a similar service we found at MIT, became suddenly popular in early December, to the point where it was causing problems for the shared host we were using at PEINet. And so we got a call telling us, in essence, “you guys gotta find another solution, quick.”
The solution? We “borrowed” the Intel Pentium 100 desktop of an admin assistant who was on vacation; later the same day, I sent an email to the system administrator at PEINet about this new machine I’d put together:
The machine is an Intel Pentium 100 with a 500 meg hard drive and 48 megs of memory. It has an Intel EtherExpress card in it. I’ve installed Slackware v3.0, with the Linux 2.0.0 kernel on the machine and verified that the NIC card is probed for and recognized.
I’ve installed the ‘A’ and ‘N’ disk sets, which is enough to get the machine up and running and on the network. I’ve gone through the netconfig routine during setup, but, of course, didn’t have the proper information so I entered bogus data. You’ll need to boot it up and run netconfig to put it on your network.
This machine will be in place for the next 10 to 15 days until a more capable replacement (probably a Pentium Pro 200 with 128MB of RAM) arrives, so if it is possible to keep it housed in your offices until then, that would be preferable.
Then, finally a three days later, confirmation that everything working more smoothly after we took the machine down for a processor upgrade:
The new server is up and running. Because of the faster processor, I’ve been able to up the simultaneous connections to 45 from 30, which seems to be having a positive effect on response time. I’ve also copied all of the web data to the new SCSI disk, which is much faster than the old IDE drive, and this is improving response as well. Our load average seems to be in the 3 to 4 range as opposed to 10 to 15 which it was before.
While the desktop got replaced with more robust hardware early in 1997, it’s amazing to recall that 10 years ago the entire web infrastructure of the Province of PEI operated on an Intel Pentium 100 MHz with 48MB of RAM and half a gigabyte of storage. More amazing still when you consider that my tiny [[Nokia N70]] mobile phone has a 220 MHz processor and 1 GB of storage.
That same week I was preoccupied with server issues, two other big events were happening in my life. First, my paternal grandmother, Nettie, got a computer:
Dear Peter and Catherine: Surprise! I am learning to send messages on the Internet. I’m having quite a time. It’s really hard for me to catch on. Your Dad has been here a few weekends to help me but I’m as dumb as I was to start with. I’m not feeling too badly but am stuck in the house all the time. Am not looking forward to the snow or cold weather. Wishing you the best. Love, Nana
And Dave Moses and I were plotting the company that would, in 1997, emerge as [[Okeedokee]]. Here’s a rather precious “mission statement” I wrote that same week:
Okeedokee combines technology new and old with irreverant systems thinking to create simple, delighful solutions to information, logisitics and entertainment challenges.
Our core values are: Modesty, Honesty, Beauty, Utility, Fun.
We think technology is best when it’s non-intrusive, useful, sensible, compelling and beautiful. Sometimes its neat when technology takes your breath away, too.
I do like the “takes your breath away” part.
One more email message from the archives, this one a 1995 note to someone inside Computer Services in the PEI Government outlining the capabilities of PEINet, at the time the Island’s only Internet provide (had we started calling it the “Internet” in 1995?). The “Internet Information Centre” was the name we were using for the website of the Province of PEI at the time. This was in the time before the website was hosted internally; we were running on PEINet’s shared server.
As per our meeting last week, the following is a summary of the facilities presently availble to use through PEINet for the Internet Information Centre.
Software
PEINet is running version 1.4.2 of the public domain NCSA WWW server, patched (at your request) to allow for “multi-homing” (which allows the server to seamlessly service more than one domain name). The server software is adequate for all needs but those which involve secure transactions, for which it has little facility beyond username/password access control (i.e. no encryption, etc.). If we are to expand to Internet Information Centre to allow, for example, Provincial Deposit Receipts to be purchased, or tress from the Bunbury Tree Nursery to be purchased, then we would require some sort of secure payment mechanism, most likely the Netscape Commerce server or a similar product.
In addition to the server software, we have access to the UNIX shell and to the perl language (presently version 4.036, soon to be upgraded by PEINet to version 5.000) for creating scripts for system maintenance and for creating search engines and other interactive components of the WWW system. Perl is an interpreted language, and PEInet provides interactive access to the interpreter and full access to the script files, so programming and debugging can be done on their system.
When additional functionality or speed is required, PEINet provides indirect access to thier ‘C’ development system, meaning that ‘C’ applications need to be submitted to the PEINet system administrator for compiling. To date there has been only one instance where this has been required, and this indirect access had not proved a problem.
Host Machine
The PEINet host is a DEC Alpha running at ~200 megahertz using the OSF/1 [aka DEC UNIX] operating system. Nothing we have done to date has exceeded the capacity of this host. Because many of the perl scripts rely on “brute force” to search through large text files (e.g. each library catalog search requires grep’ing a 32 meg file), we would have to consider the speed impacts of a slower machine.
Otherwise, the httpd daemon which runs the WWW server is not processor intensive and, for normal use, anything from an Intel Pentium 75 running WinNT on up would be more than adeqaute for our present traffic.
Internet Connection
I’ve been unable to divine whether PEINet has a full T1 connection to the CA*net backbone, or merely a fraction thereof. In any case, their present connectivity appears to be adequate for our need. I regularly use the PEINet host through an indirect link which takes me Charlottetown-Toronto-Virginia-New York-Toronto- Newfoundland-Charlottetown, with no noticeable system lag.
Storage
We have contracted for 500 megabytes of storage space, of which we are presently using 69 megabytes. Our current quota on PEINet’s host is 150 megabytes and we have been told to give advance notice to increase that towards our maximum. I don’t anticipate coming up against the 500 meg limit within the next year unless large databases or image/video/sound collections are to be mounted.
Access
One SLIP/PPP/Dial-up account for WWW maintenance. This account has full access to all Government WWW files and directories, and can add, delete, modify any file at any time. This includes access to the “cgi-bin” directory, which is the repository for scripts (search engines, etc.) called by WWW pages. Access is 24 hours per day, 7 days a week.
Techical and Emergency Support
PEINet provides advanced technical support during regular business hours on weekdays. There is no backup technical support when the system administrator is out of the office or on vacation. Emergency technical support is available, on a somewhat spotty basis, evenings and weekends. Response to critical situations (server down, filesystem full, etc.) has varied between excellent (i.e. 5 minute response to a page) to non-existant (no response until the next business day). Technical support has generally improved since the increase in hours and staff brought on by the opening of Cycor.
I’ve been going through the archives trying to clean old cruft off my hard disk. Came across my email outbox archive from 10 years ago, including this old ASCII-art representation of “digital island” (the company now known as Reinvented):
_ _ _ _ _ _ _ _ __\| (_) __ _(_) \|_ __ _\| \| (_)___\| \| __ _ _ __ __\| \| / _` \| \|/ _` \| \| __/ _` \| \| \| / __\| \|/ _` \| '_ \ / _` \| \| (_\| \| \| (_\| \| \| \|\| (_\| \| \| \| \__ \ \| (_\| \| \| \| \| (_\| \| \__,_\|_\|\__, \|_\|\__\__,_\|_\| \|_\|___/_\|\__,_\|_\| \|_\|\__,_\| \|___/ Web http://www.digitalisland.com/ Email peter@digitalisland.com Phone +1 (902) 892-2556 Fax +1 (902) 892-3653 Pager +1 (902) 557-5787 (toll-free on PEI)
My phone number is the only thing that’s still current (I had a pager?)
Photo by Tim Parkinson (cc license)
I’ve always had an aversion to what I will call, for lack of a better term, “the storytelling people.”
Now don’t get me wrong, these are almost always nice people. Hearty people. Full-of-life people.
But they are also the people who insist on regaling us with renditions of Robert Service ballads around the campfire.
They wear bow-ties, and cuddle bodhráns at their side. There are beards and pipes. Or tie-died skirts and rhetoric about tapping into the spirtual truth-telling DNA of our wise ancestors. Etc.
This doesn’t mean that I don’t like a good story.
Get Perry Williams in a room and you’ll be lambasted with well-told storylets that can keep you going for weeks. And I’ve always been a fan of the two Alans and the Erskine, and their brother David. Indeed almost any gathering, social or formal, that happens on Prince Edward Island becomes a de facto storytelling session, and we are all the better for it.
It’s not stories themselves, nor storytellers, that I’m averse to, it’s those that seek to institutionalize (and thus suck the life out of) the practice. Going to a “storytelling festival,” to me, seems about as much fun as going to a “sex festival.”
But all of the above aside, the Storytelling People are beginning to make inroads with me, and this week they’ve been working on two remarkably similar fronts at polar ends of my everyday life.
It all began last week, when I sat in on the weekly Product Forum over at Plazes in Berlin. One of the items on the agenda was a discussion of “using stories to describe features.” Immediately my defenses went up. But once I’d heard the story story (so to speak), I was intrigued. The process, well described here, is technically called “behaviour-driven development.”
And it is perplexing mostly for its simplicity.
“Each feature is captured as a ‘story’, which defines the scope of the feature along with its acceptance criteria” is how they introduce the notion, and then continue:
Software delivery is about writing software to achieve business outcomes. It sounds obvious, but often political or environmental factors distract us from remembering this. Sometimes software delivery can appear to be about producing optimistic reports to keep senior management happy, or just creating “busy work” to keep people in paid employment…
And later:
Behaviour-driven development (BDD) takes the position that you can turn an idea for a requirement into implemented, tested, production-ready code simply and effectively, as long as the requirement is specific enough that everyone knows what’s going on. To do this, we need a way to describe the requirement such that everyone the business folks, the analyst, the developer and the tester have a common understanding of the scope of the work. From this they can agree a common definiton of “done,” and we escape the dual gumption traps of “that’s not what I asked for” or “I forgot to tell you about this other thing.” This, then, is the role of a Story.
In other words, the role of the story is to focus development on things related to the real world, as opposed to on abstract concepts that can distract and obfuscate.
So a story can be as simple as:
As a Plazes User that has created an activity
I want to spread the activity to others
So that they know about it and can react to it.
Seems simple, no. Perhaps “too obvious.” But imagine some other, more common ways of expressing the same concept (I’m just making this up, but I’ve written like this before, so I know the territory):
We need to develop a system that allows data from one user’s activities record to be messaged to other users so that, if they choose to, these other users can opt to add the same data to their own activity record and apply the usual activity controls to the newly-added data points.
By comparison, the benefits of the “storytelling” approach seem obvious.
The cavalcade of storytelling continued today, a week later, when we attended the parent-teacher interviews at Prince Street School and were shown this:
This is a sample of what, in edu-speak, is called a “social story” and the idea is much the same as “behaviour-driven” software development — indeed you could call it “behaviour-driven personal development.” And if you change around some of the concepts in this sentence I quoted earlier:
Software deliveryGrowing up is aboutwriting softwarelearning things to achievebusinessbehavioural outcomes. It sounds obvious, but often political or environmental factors distract us from remembering this. Sometimessoftware deliveryschools can appear to be about producing optimistic reports to keep senior management happy, or just creating “busy work” to keep people in paid employment…
…it’s easy to see that many of the pitfalls of traditional software development practice befall educational practice as well. Who can forget the seemingly arbitrary exercise of discipline from school days? So often school rules and discipline procedures lose sight of the “business outcomes” and become a self-contained world unto themselves.
By encasing these “business outcomes” inside a story, everything becomes commonly understandable (it’s easier to develop a shared understanding of what we’re trying to do, and why), more manageable (we can change the way things happen by updating the story appropriately) and far less susceptible to the inclusion of arbitrary “busy work” (rules for the sake of rules).
Again, one of the challenges to accepting this approach is that it seems too simple. But contrast the story above to something like:
Students are expected to return from the washroom to their desks and complete their lunchtime routine in a self-directed manner.
Try explaining that to a 7 year-old.
I’m not ready to drink the storytelling Kool-Aid yet, but these two examples of how storytelling can be used for Good, completely devoid of both bow-ties and bodhráns, are starting to win me over. Talk to me in six months and I’ll likely be invoking Rhymes of a Rolling Stone at the drop of a hat.
Today being a day off from school, [[Oliver]] had a more elastic bedtime last night, so we seized the opportunity to take in a sitting of the Legislative Assembly of Prince Edward Island.
Given that we are a neighbour of Province House, this didn’t take much planning: door to door it’s about 35 seconds. We really should be going every night.
Unfortunately we choose a rather moribund night to attend: the agenda for the night was the “Consideration of the Estimates for the Department of Agriculture.” This meant that most of what went on was the reading of line items from the Estimates of Revenue and Expenditure like “Appropriations provided for grants to the P.E.I. Association of Exhibitions… $202,800” followed by interplay between the members of the Opposition and the Minister.
In other words, important stuff, vital stuff, and the very-most inner working of the democratic engine. But not exactly in Dora the Explorer territory in terms of child entertainment value.
Nonetheless, Oliver is one for spectacle, and what with all the dressing up in robes, the Mace, the ringing of the bells and so on, his interest was piqued. When our presence was recognized from the floor — and thus immortalized in the records of the House for all time — he was very impressed.
That all said, the highlight of the visit was the reception we received from the Commissionaires: they were welcoming, helpful, answered all of Oliver’s questions, let him hold the big skeleton key to the Public Gallery, and even made him up a special Province House ID badge. They transformed an environment that could otherwise feel like an airport security line into something that felt, well, like home. Which is exactly what Province House should feel like.
By coincidence, our friend G. happened to spend the day yesterday in Wallace, Nova Scotia, picking up some slabs of Wallace sandstone. From the same quarry that provided the stone for Province House back in the 1840s.
If you’re a business in Canada with employees, every month you have to send Canada Revenue Agency “source deduction remittances” — monies for Canada Pension, Employment Insurance and Income Tax that are deducted from employees’ monthly pay-cheques combined with the matching employer contributions.
These payments are due on the 15th of the following month. And so on October 3, 2007 I sent in a cheque for the September 2007 remittances:
Canada Post tells me that it should take 4 days to deliver a letter from Charlottetown to Ottawa; I had a window of 7 business days, so in theory everything was okay.
Today in the mail, however, I received a “Notice of Assessment” from Canada Revenue Agency:
The $141.21 penalty on that form was brand new (the $362.82 is an earlier penalty — these guys are the bane of my existence). I called the toll-free number, waited on hold for a few minutes, and then talked to a very pleasant gentleman who informed me that they hadn’t processed my payment until October 19th — 4 days after the deadline.
When I told him that I’d mailed the cheque on October 3rd, he said that didn’t matter — they don’t consider the payment “received” until they receive it. And they didn’t receive it until 12 business days after I sent it. So they applied a penalty.
He went on to suggest that I should consider not using the mail to send in my monthly cheque (something that would seem at odds with the fact that they include a return envelope with every statement they send) and instead pay either at my bank or online (something that, alas, my local Credit Union doesn’t yet support).
While I could appeal the penalty, he advised against doing so because remedies are only offered in extraordinary circumstances (I know this; I’ve appealed twice before, with one penalty waived and one kept in place; both took months to process).
I don’t begrudge payroll remittances, and I understand the need to get them paid on time. I even understand penalties — if they didn’t have them, nobody would ever pay on time, and their accounts payable would quickly run into the billions.
But it seems fundamentally broken when one branch of the federal government, Canada Revenue Agency, recommends against using the services of another branch, Canada Post. If the mail isn’t a reliable way of communicating, then Canada Revenue Agency shouldn’t include envelopes, and should clearly advise against using Canada Post and provide a greater variety of alternative payment methods.
In any case, I’m out $141.21 for doing nothing but assuming that federal systems should work as they say they do.
From the CBC story:
Van Loan also said if a snap election were to be called before the issue is resolved, the chief electoral officer has assured him that he’s prepared to use “his adaptation power to ensure that no Canadian loses their right to vote” in the ensuing election.
Adaptation power? I’m intrigued.
In an attempt that I dramatized here, I dropped in on the weekly Plazes Product Forum in Berlin this morning via Skype videochat. While it was a great idea in theory, the technical side of the operation was such that while the audio was sufficient to get a sense of the room, the audio was muffled to the point where everyone sounded like they had socks in their mouths.
This is understandable, as the setup was simply a PC with a camera and a standard computer mic in a room with smooth echo-inducing walls.
iChat — which I think would have had better echo-cancellation — didn’t work on the spur of the moment because of firewall issues; the Skype connection was dead simple to set up.
So I seem the advice of the readership as to best practices for low-cost, Mac-friendly, higher-quality IP video-conferencing, with a focus on maximizing audio quality in a small room with up to 10 people gathered around a table.
Since I reported on our attendance at the Speaker’s Reception earlier in the week, I’ve learned that, in fact, this was an invitation only even. So, technically-speaking, Oliver and I crashed the event. Party crashing is also a good skill for children to learn.
[[Catherine]] and I are, in most ways, of completely opposite sensibilities and temperament. Our relationship works, thus, more because of “hybrid vigor” than anything else.
But there are a few points where we are completely in sync (which is probably equally required for relationship success).
Send us both, alone, into a new city with a camera and the photos we end up taking will have considerable overlap; we tend to focus on the same shiny bits (although Catherine is more obsessed with doors than I could ever be).
Another example: earlier this month we had our 16th anniversary (living in sin as we are, it’s the 16th anniversary of our first kiss, not of the marriage-we-don’t-have). We both ended up ordering an iPod Touch for the other; I placed an order online for hers and she ordered mine from Little Mac Shoppe.
When it became clear that the ship date for Catherine’s wasn’t going to make our anniversary deadline, I cancelled my online order and opted for an alternative palette of gifts that included giant twist ties (must be seen to be believed). But, unwilling to let the idea die completely, I stopped by Little Mac Shoppe myself, thus perhaps inducing some privacy conundrums as they knew full-well that Catherine had already ordered what I was looking for (they handled it well).
Catherine ended up persevering through the shipment deadlines and ended up pickup up an iPod Touch for me on her trip to Toronto last week. So this morning I got to place with the new-fangled pinch-n-slide interface while Catherine, alas, was left to play with her giant twist ties, needle threader and collapsing Japanese pen box.