Friday, December 31, 2004

Silent Night

There's a lot to be said for a firecracker-less New Year's Eve, but the gist of it is: it's so refreshing. Davao City's mayor decreed three years ago that all pyrotechnics were banned, and iron will that he had, it was carried out.

So the old year passes and the new year comes on this silent night with the air so fragrantly clear. There will be no bloody stumps of fingers, no cries of pain and misery, and no gunpowder-blackened air. Just lovely, lovely silence.

I love spending the New Year in Davao.

Spider-Friends vs Sinister Syndicate

Lloyd, newly arrived from Iloilo, had a craving for fish and invited me for lunch at one of the streetside restaurants at Times Beach. I willingly obliged. After catching up with the recent events, we turned our attention to my latest toy: Upper Deck Entertainment's Vs System, featuring Spider-Man against Dr. Octopus.

I had been trying to figure out this game for the longest time, but the only way to really learn it is to play it. Previous attempts with my sister Darlene were met with half-hearted efforts (but she beat me anyway) and a noisy rebuff when I asked for a rematch. Yesterday I almost nailed the game when playing against Winston but time caught up with us.

So now here was a friend who was deep into Marvel lore and with whom I was running a two decade-old friendly competition at various games. I taught him the basics, and on occasion -- well, several occasion -- we consulted the manual. Oh, yeah, there were several mistakes along the way, but all in all, we ended up with some decent games.

Owing to the uncooperative winds, we shifted our game to Winston's new house. We played and played and played, all through the afternoon. Lloyd against me, Lloyd against Winston, Winston against me, and several more games with Lloyd. The competitive streak came boiling up again.

Memories of Lloyd and Winston arguing which Marvel character could whup which DC character or vice versa came rushing back. Oh, yeah, we were such nerds way back when. For this one brief moment, it was good to be a kid again.

Thursday, December 30, 2004

Chesterton Cache

My dearest Sacha just pointed me out to a treasure trove of works by GK Chesterton. Aaaaah! I am in heaven!

And, let's not forget the site of the American Chesterton Society.

Wednesday, December 29, 2004

Between Grief and Gratitude

Rational Technology article for year-end 2004.

In the last-minute sprint towards the end of the old year and the beginning of the new one, I thought how good it would have been to cross the finish line. By many accounts, 2004 had more than its fair share of bad news. Up until November, we were bellyaching about how terrible the state of the nation was; after the hoopla of election promises came post-election payback. By decree we were in a fiscal crisis; and by yet another decree we weren't anymore.

But what was that after the twin typhoons hit the province of Quezon and other parts of Luzon? With thousands dead, and tens of thousands displaced, we were given good reason for real grief. For a moment, we forgot our trivial problems to reach out to the victims; though just as quickly, we trivialized things again by starting a round of should-have-would-have-could-have on banning illegal logging (stop for a moment, and listen to how silly that sounds).

Yet in the last few days, another act of nature showed us just what real grief is. In the morning hours of the last Sunday of December, an earthquake of such immense magnitude hit. If it had been surface-born, the devastation would have been tremendous but localized; instead it was happened underwater, with the earth's tectonic plates shifting up as high as ten meters, and the results were catastrophic.

Few in our generation knew what a tsunami was, or what it could do. After last Sunday, we few in our generation will ever forget. The images, played over and over on cable news networks, show the intensity of the force of nature: waves as high as ten meters rushing through seaside hotel building; buses borne away by the force of water; rivers of water invading city streets; and bodies everywhere. In its aftermath we see corpses piled in mass graves, and suriving family members gone mad with grief. Never has anyone seen such a scene as this.

Reports within the first few indicated a death toll of 5,000 around India, Sri Lanka, Thailand, and Malaysia. Then the following day it was 11,000; the day after that 22,000; and today as I write, 33,000. Relief aid is flying in, but even that may be too little too late. What will the number be tomorrow?

In this story, there is no collective should-have-would-have-could-have. Really, who could have known?

Dipping temporarily into the anthropomorphic and the divine, was there a message for us here? Are we paying the price for our ingratitude, for looking too deeply into our own insignificant problems, and by aggrandizing them, aggrandizing ourselves? "Look here," Nature (or God) seems to be saying, "you want a picture of real misery? Do you? Here!"

In truth, the deadly tide could just as easily have it our shores as it did Somalia, some 6000km from the earthquake epicenter. We were spared only because of the strip of land between the Indian Ocean and the South China Sea. But: it could have been us.

And it could still be us: tomorrow, or some other day. Our fragile lives face far too many doomsday scenarios: gigantic meteors, volcanic eruption, chemical explosions, nuclear detonation. Yes, it all sounds so far-fetched, but remember: until last week, so was a tsunami.

None of us is invincible to disaster, none of us is invincible to death, none of us is invincible to grief. Tomorrow is a great unknown, and moreso, the year following. Let's be grateful for what we have today, and live in hope while we can.

Tuesday, December 28, 2004

Brief History of Open Source

Draft of one of the sections of the work I'm doing for UP Free/Open Source Software advocacy project. More information from the Wiki of the group. Comments needed.

Open source software traces its roots back to 1984 when Richard Stallman wrote the GNU utilities, a portable set of software development tools for the UNIX operating system. That the GNU utilities should continue to be an integral part of UNIX and UNIX-like operating systems to this day is a testament to Stallman's understanding of the hacker psyche. It is a remarkable achievement in itself, but perhaps not nearly as the revolution that he wrought with the license under which the utilities were released, the GNU Public License.

Why was GPL revolutionary? GPL stipulates that the source code of the software under which it licensed must be free to use, distribute, study, and modify, without prejudice to anyone. Works derived from modification of the software source code must likewise be placed under GPL.

At first glance, GPL is counterintuitive to prevailing thought on intellectual property, software licensing, economics, and outright human nature. Conventional wisdom dictates that a person who creates a work of value for another would want remuneration. GPL flies in the face of that wisdom by positing that people would be freely willing to contribute to the development of that work of value as part of a community effort. Yet viewed another way, this was the way that software development was done in the academe and research organizations up until the early 1980's. GPL was simply a reaction to the increasing commercialization of software happening at the time.

Was this simply idealistic naivete that was doomed to fail? Hardly. According to Freshmeat, a comprehensive directory for UNIX and cross-platform software, there are currently 19,000 open source projects, 68 percent of which are licensed under GPL. What's more, significant software products, such as the Linux operating system, have come out of GPL's community-based approach to software development; and the work continues with the participation of large international computer vendors such as IBM, HP, Oracle, and SAP.

While GPL was the seminal work for open source licenses, other licenses have followed in its wake. To date, there are over 30 such licenses 2. These licenses revolve around the same theme: defining the rights available for community development of intellectual works, particularly software.

Open source software came to the fore in the mid-1990's, coinciding with the Internet boom. Web sites came up as fast as business plans were being written and the whiz kids needed web server software. While there were commercial offerings from Netscape, IBM, and Sun Microsystems, it became clear that the emerging leader was the Apache web server, itself born from the web server reference standard NCSA HTTP server.

It wasn't just about web servers. Critical parts of the Internet infrastructure were software products in academic settings and placed under open source licenses. Some shining examples: Sendmail for sending and receiving email; the Berkley Internet Name Daemon (BIND) for running the global distributed directory of servers; and other small Internet services such as FTP, Usenet News, and Gopher.

Netscape provided the first big push for the open source development model for as a legitimate commercial model in 1998. At that time, Netscape was involved in a fierce struggle against Microsoft for browser dominance. Because it was bundled together with Windows, the tide was shifting in Internet Explorer's favor and the threat of proprietary web protocols loomed large. In response to this, Netscape open sourced the code to Navigator in an effort to keep the web protocols open and increase their developer base.

The term "open source" wasn't coined until a few months after the Netscape announcement. Given the positive impact of the announcement, open source thought leader Eric Raymond and other hackers formed the Open Source Initiative. The aim of the organization was to promote open source model to businesses and to certify licenses that conformed to the open source definition.

Elsewhere, technology and market demand were conspiring to push forward another crucial piece of technology. UNIX servers, especially those from Sun Microsystems, were initially the favored platform for deploying Internet services. However, servers based on the commodity Intel processors were now catching up in power to their RISC-based UNIX cousins. Though Windows NT was the clear operating system leader for Intel servers, UNIX clones ultimately came into the picture, and among them, Linux.

Though it started out as a university project of graduate student Linus Torvalds in 1991, several companies were already building their business around Linux. Red Hat, SuSE?, Caldera, and a few others packaged Linux distributions and offered commercial support packages. Oracle and Informix announced Linux ports of their databases in 1998. But it was IBM's announcement of a $1-billion investment around Linux that cemented the operating system's position as the leading UNIX clone.

Though the announcements focused primarily on Linux as operating system, it boosted the legitimacy of other open source projects as well. IBM, for instance, had previously adopted the Apache project for its WebSphere? product, and now it invested resources in other projects like the Samba file sharing system. It also placed its Eclipse application development tool under an open source license.

Leading industry vendors also contributed to the creation of several organizations dedicated to furthering Linux and open source software: the Open Source Development Laboratory focuses on regression testing of new developments of the Linux kernel; the Linux Standards Base defines standards to maintain compatibility across different versions of Linux; and Carrier Grade Linux aims to produce a version of Linux that meets rigorous telco requirements.

Not everyone was happy with the developments around open source, least of all Microsoft, which saw in Linux its most significant threat to the Windows operating system. Thus far, Microsoft Windows successfully unseated network operating system leader Novell Netware and beaten off IBM OS/2 in the mid-1990s to become the dominant operating system platform for Intel-based servers and desktops. Linux came in from under their radar and posed an unforeseen threat. Leaked internal memos known as the Halloween documents articulated these fears. Conveniently, however, Microsoft used the growing popularity of Linux in its defense against the lawsuit from the US Department of Justice to claim that it was not a monopoly.

In response to the the threat of open source, Microsoft released its shared-source initiative. Under this agreement, interested entities could view the source code to Windows and other Microsoft products. Ostensibly, the purpose was to demonstrate their willingness to have selected customers vet through the inner workings of their products. This approach ultimately provided limited utility as the agreement placed several legal restrictions, permitted viewing of only limited portions of the code, and no way for third-party modification. The shared source philosophy could be summed up by the edict: "Look, but don't touch."

Ironically, it was a company associated with Linux that put Linux and open source to its first major legal test. SCO, merged with Caldera, a Linux distribution company, filed suit against IBM for allegedly including proprietary UNIX code into Linux. The root of this suit lay in the convoluted ownership history of UNIX: since its inception in the late 1960's in Bell Labs, ownership of the UNIX changed hands several times. UNIX vendors like Sun, HP, and IBM simply licensed the code. SCO was the latest holder of the UNIX baton (a fact later disputed by Novell), and on this basis, cried infringement against IBM. SCO, however, has thus far not publicly revealed what sections of Linux violate UNIX intellectual property; and the suit is still in legal limbo.

In the meantime, majority of organizations using Linux have not been cowed and use of Linux continues to grow. Linux has found its way into the IT data centers running side-by-side with UNIX servers and Windows servers. The functions it supports are not merely auxiliary: Linux runs mission-critical email servers, databases, and application servers. Furthermore, Linux has also expanded into supercomputing clusters, becoming the de facto standard for scientific modeling in physics and health industries.

GPL, too, is undergoing revisions. In late 2004, Stallman announced impending changes in the third version of the license to take into account the new environments and new software development techniques. This is a clear sign that the 20-year old idea, so pivotal now in a multi-billion dollar industry, is poised to change and grow with the times.

Street Astronomer

It was the last full moon of the year and the evening was extremely cooperative. Not a cloud in the sky, so the moon hung in all her silvery brilliance. Even the stars were visible.

I could not resist the invitation. I whipped out my 75x telescope and set it on the street outside our house to get a better view. Close up, the moon was even more stunning.

The moment was too good to keep to myself. I invited the young fellow from the nearby fruit stand to have a look. Pretty soon, I had a small crowd of the ubiquitous neighborhood kibitzers and other passersby. Even my old kindergarten teacher joined in.

I joked: "Five pesos per viewing, okay?" Some people pulled away from the telescope until I told them I was joking.

At the turn of the last century, street astronomer was actually a profession, or so I read from Discover Magazine so many years back. I don't plan on making a career out of this, but it sure would be fun to do from time to time.

There's a poem composed of snatches of conversation entitled Street Astronomer. From yesterday's experience, I could really relate to it.

Monday, December 27, 2004

13 going on...35

Gasp! I'm 35 years old today! But as you can see from my mug above, I'm still very young at heart. Snigger.

Good start to the day today. Early morning Mass with Mom. Ran Riley and Terence around our neighborhood. First call from my dearest Sacha (and a wonderful email which just blew me away!). Breakfast with the family.

Ah! I feel a good day ahead.

Sunday, December 26, 2004

Witch Apprentice

My first illustration in a long time, and I hope the start of many frequent exercises in art. I'm not wholly satisfied with the outcome: the drawing is too small to permit detail, so it's coming out a bit smudgy.

Back to the drawing board.

I am happy with the pose, though. This one's dedicated to the bright little witch girl who's captured my heart.

Riley Goes for a Ride

It happened so fast we didn't have time to see it.

My sister had just opened the rear door of our van when our Riley, our German shepherd, swooped in and laid claim to his throne. No amount of coaxing or scolding could get him out of the car. Temperamental dog that he was, he resisted all our efforts with a low growl.

I opened the door on the other side and attempted to push him out, but he twisted his body around.

Mom had the idea of bribing him with a bit of fish. He stared at it, fixated. The big pool of saliva that was forming on the leather seat gave him away, but he resolutely held his ground. No fish could lure him out of the car.

Finally, my sister gave him what he wanted. She drove him once around the garage. That short ride fooled him into thinking that he had gone somewhere. When we opened the door once more, he popped out willingly.

Danged spoiled dog.

Saturday, December 25, 2004

Goodbye to some old friends

I love books. I really do. Over the years, I've amassed quite a collection for my library. Unfortunately, I didn't quite have the necessary guidance for making the right choices, so I've bought from bargain bins left and right. Hence, I've built up quite a mongrel of a library: classic English literature, science fiction, comics, detective novels, general science, physics, philosophy, Eastern philosophy, computer programming, electronics engineering, chemistry, algebra, differential calculus. The list goes on.

One day I woke up to our library shelves filled to the brim. How did it ever get to this?

I didn't buy my first book until I was fourteen years old. Up until then, all we had were a Compton's Encyclopedia set (ca. 1969) and reference books. Just as Imelda Marcos had a fetish for shoes because she was deprived as a child, I had a fetish for books. So I bought. And bought. And bought.

All told, it wasn't such a bad vice. I won't boast that I've read everything in my collection, but I'll venture to say that I've taken in probably around three-quarters of the lot. I think they've served me in good stead, though I could have done with more good books and less trashy ones.

But now it's time to say goodbye to these old friends. They're gathering dust in our shelves and have grown mottled yellow with age. My seven year absence from home has increased my detachment so I've finally gathered the strength to let go.

Last Thursday, I asked the Ateneo de Davao University library if they were willing to take a donation. My request must have been very unusual, because the assistant I spoke with hemmed and hawed and spouted absurdities as regards the conditions of my donation. Oh, for goodness' sakes, woman, just take the books! They finally called the chief librarian, who gladly accepted my offer.

Today, I sorted my collection. It took half a day to sift through the books, and at the end of it all, I was red with rashes from my dust allergy. And there they were, sitting in four boxes, filled to the brim with books and magazines. In the process, I've cleared a whole cubic meter from our shelves, gaps which I've cosmetically remedied by rearranging the survivors.

In these boxes are the whole case history of my intellectual development.

My introduction to science fiction and fantasy at age fourteen, sparked by my high school gang: the now-defunct Choose-Your-Own-Adventure series and some juvenile sci-fi stories. A long dalliance with Star Trek at age 17, courtesy of my college classmates at the University of San Carlos, which I've somehow outgrown. A maniacal obsession with electronics, communications, and computer programming textbooks, in line with my competitive nature in college (though, sadly, my ambitions exceeded my reach) from age 18 onwards.

Along the same time, I also had a brief flirtation with quantum physics and Eastern philosophy. They're mostly curiosities now, semi-intelligible blatherings of mystics pretending to be scientists and vice-versa. Fortunately, that gave way to the joys of Western philosophy.

As I entered my professional life and floundered for direction, for a time, I started collecting programming books and computer journals. They were marginally useful in my time, but by now, are only of historical interest. Nevermore will I buy their ilk, but that is a late, late realization.

What survives the carnage are the encyclopedias and reference books, English classics, sci-fi from the old masters, C.S. Lewis, J.R.R. Tolkien, philosophy books, a few computer reference books of more lasting value, and well, some books I just have a sentimental attachment to. Perhaps someday I will also part with them; for now, not quite just yet. The remainder is still sizeable.

As for the rest that I part with: "Fly, fly, my old friends, and find new homes. You have been good companions, and given me much joy in my time. Now, give joy to the some young stranger parched with thirst of mind."

Merry Christmas!

Half past midnight on Christmas day, and all's fine. I just came from midnight Mass and I'm home with the family. Everything's quiet, but I feel very happy.

It may have something to do with long Skype conversations with Sacha about sundry things; well, yes, it has a lot to do with that. Thank goodness for VoIP services!

I'm happy, too, because I am home, and for the first time in a long time, am in control of what I want to do. It's been a great Christmas season!

I hope all you folks who visit my blog also have a great Christmas.

So, once more: Merry Christmas everyone!

Friday, December 24, 2004

Backlog Entries

It's close to the end of my first week in Davao. No more calls, no more emails. I take care of the dogs, I watch TV, I read books, I write. Soon, I'm going to have to start setting a schedule for myself just so I maintain my edge (or better yet, sharpen it). In the meantime, it's Christmas break, and I am treating it accordingly.

Some previously-unpublished backlog from the last few weeks:

Monday, December 20, 2004

Last Days

The past three days have been a whirlwind of activity, and I was at the center of it all.

Friday, I spent writing goodbye letters to myfriends and colleagues at IBM. It took longer than I expected: there were so many people to thank, and similarly, just as many people to apologize to. I didn't quite manage to write notes to everyone that I wanted to. I'll certainly have to continue my letter-writing spree as soon as I've decompressed.

As the clock wore down, I declared a stop to all my writing activities. I backed up my files one last time. I turned in all my requirements and that was that.

Friday was also the day of the Christmas party. I initially did not plan on attending, but was convinced otherwise by my young friends from Team Blue. It was just as well, as I treated it as a despedida of sorts. People woud have wondered where I was.

Saturday: I headed out early to deliver my boxes to Pambato. As susual, it was an adventure getting there, but I managed it. I then dropped by briefly at the PLUG Christmas party where I met, Mario, Claire, JM, and Jijo.

I skipped lunch at the party and headed to Noel's house. Food was good, as usual, and it was good to take a break from the hectic pace I was running.

After lunch, we dropped by Magie and Engel's offices to pick up a souvenir from Phonex's baptismal. They also had Christmas cards for Sacha and me.

Business needs overrode my physical tiredness and current luggage weight count. I bought stocks for the store anyway, and that added 6 kilos more to the stuff I was supposed to bring home.

I had just wanted a simple dinner but those plans went awry when I met Deegi, another friend who had left IBM some months earlier in the year. It was serendipity, actually. I wanted to write her a goodbye note, but she wasn't in the IBM directory anymore.

Finally: last Internet chat with Sacha from my room. That was how the Saturday ended.

Sunday: spent the entire morning packing up the rest of my stuff, I thought I had already disposed of the bulk o my possessions by sending them to Dumaguete the day before, but alas, that was not the case. A large number still remained. Would I get it all stored in time? Would it fit in my baggage allowance?

Briefly, Jesse passed by the apartment to run one last check of the major items. I passd that alright. More packing.

I finished at 11:00am. My apartment was more or less back to the way it was when I first came in a year-and-a-half ago. I felt a little sad, because I really had gotten attached to the place. But what had to be done had to be done.

I went through one last past of Robinson's Galleria to ease my thoughts.

Noel came by with a handcart. The guard accosted us at the lobby, but I brushed him off quickly. We moved some of my things to his office. The rest we packed into his car.

At the airport, I shipped off the stocks to Dumaguete. I said goodbye to Noel, entered the terminal, and checked in.

My luggage weighed around 30 kilos. I asked the nice girl behind me if we could check in together. All told, we wieghed in at 46 kilos but the airline rep waved us on.

I arrived in Davao at 6:30pm. My mother and sister picked me up.

Goodbye, IBM. Hello, rest of my life.

Friday, December 17, 2004

Last Day at IBM

Today is my last day at IBM. Here, I've spent seven years, seven months, seven weeks (more or less). I leave with mixed emotions: looking forward with anticipation and excitement at what the the future holds; looking back with a twinge of sadness.

As I said in my farewell note to my friends: it's a fool thing to do; but it's also the right thing to do.

Dominique Cimafranca, formerly e-Business IT Specialist, formerly Net Generation Business IT Specialist, formerly Emerging and Competitive Markets IT Specialist, formerly Linux IT Specialist, formerly Technical Sales Support Manager and System Architect for Systems and Technology Group, signing off.

Christmas Spirit

As I write this, it is the second day of the Misa de Gallo. I sigh with relief because finally, Christmas is really here. The carols no longer sound grating, the ornaments no longer seem out of place.

You can't being to imagine what a wait it's been. They say that if times are bad, Christmas comes earlier. I don't know if this statement is universally true, but my experience says that it generally holds for the Philippines. This year was no exception: I first heard the strains of Christmas carols in Manila as early as October.

Early Christmases, though, always seem very forced. And why not? Our hallowed symbols have simply been appropriated by retailers as a Pavlovian signal to start Christmas shopping. Gratified prematurely, the joy of anticipation is thus obliterated. Even the very act of gift-giving has become a compulsive tit-for-tat over the years, a custom reinforced by advertising. Thus adulterated, the spirit simply isn't there.

Now that the real Christmas is here, it's time to start looking beyond the traditional shopping list. Look around: there are people in greater need than we. Take the Quezon mudslides, for example: though tragic events in a real sense, have also been real opportunities for people to respond admirably. I have seen organizations forego Christmas parties in favor of donations to the victims.

It doesn't even have to start with something big. Random acts of kindness don't take much time, effort, or money; but they give the highest quality of joy, that of surprise.

Give some real loving, baby. Merry Christmas.

Wednesday, December 15, 2004 contest is running a contest for most creative ways to advertise within an online game. My entries:

1) Product placements within the game itself. For example: power-ups could be in the form of Mountain Dew caps; speed boots with the Nike logo; or furniture from Ikea. Within the context of a contemporary game like Sims Online, product placement lends itself well to add a feeling of realism. Within the context of a fantasy or sci-fi online game, it adds to a feeling of light comedy.

2) In-game mini-games. When users want to take a short break from hacking-and-slashing (or socializing, as the case may be), they can enter into special areas for short, mindless mini-games. Perhaps something like the card games in Final Fantasy IX. Advertising could be placed within the mini-games (for example, company logos on the back of the cards).

3) Place advertising within loading screens. Rather than place a simple "Loading..." bar when entering the game or shifting between game locations, put instead some brief advertising.

4) Product tie-ins into the game. This actually works like a promo. Players can earn specific points or get items in a game by coding in special keywords that they find as a coupon in an item they buy. For example, if there's a promo for a cereal, players get the key from the cereal box; punch it in to the game, and voila! they get a special item.

5) Game tie-ins into product. This works in reverse fashion from number 4. The game could contain "easter eggs" which gives out a coupon (emailed to user's account) which can then be redeemed for real-world prizes.

You can also send in your entries to contest-at-gamewallpapers-dot-com. If you win, share some wallpapers with me, okay?

Saturday, December 11, 2004

Certified Linux Professional

The room was cold and remote access to the servers was excruciatingly slow. Four or five times I actually lost my connection to the servers. The minutes ticked by and I still had two items left undone. The clock hit zero...

Still some minutes grace period left. My fingers typed furiously. Finally, the system stopped responding. Time was really up.

On the screen: "Congratulation! You passed..."


Okay, now that I've done gloating, I am now going to post some tips for the brave souls who are going to take the exam over the coming days.

A. General tips

1. The exam is centered around system administration so candidates need to be very familiar with the relevant topics. Focus on user and group management, file system management, network configuration, and network services. See the Novell CLP certification roadmap for more information.

2. It's important to get to know Yast, the SuSE system administration utility, but by no means should you just limit your learning on it. Yast simplifies a lot of the tasks, but knowing the underlying configuration files is still best.

3. Use the Linux help files! You're not allowed to refer to external materials, either written or web-based, in the course of the exam. However, the Linux environment you're working with has all the man and info pages. Plus, take a look at /usr/share/doc....

B. The Test Environment

1. The test environment runs in a web browser, with a Java applet providing remote access to the servers. Access is excruciatingly slow. You will have to compensate for the slowness: try not to move windows around too much, and try to do everything with as few window dialogs as possible.

2. If you do lose access to the servers, don't panic. Your environment is still active, and when you reconnect, all your work will still be there. However, you'll start with a clean environment, i.e., all the windows you were working with will be gone.

3. Autocomplete doesn't work in the terminal environment, at least, not during my exam.

C. Review Materials

It is best to get a copy of SuSE Linux Enterprise 9 and play around with it. If that is not possible, you can refer to the SuSE administration manual which I've put up in my web site. You should also refer to the how-tos in The Linux Documentation Project.

Good luck, and have fun!

Wednesday, December 08, 2004


Golden is a relatively good brand of oil pastels, and they come much cheaper than Pentel: only P32 for a dozen. The colors come out thick and creamy, and smudging is very easy, even with just a finger. Color mixing is pretty good, too.

I haven't drawn anything in a long while, though, so my skills are regressing somewhat. A bit preoccupied with the move out of my company, among other things.

The Replacement

Sitting in a room now, listening in on a telecon. This used to be my monthly duty, but now my replacement is handling it. He is taking to the role quite quickly and easily.

On my part, I am now Chief Dunsel. I am a lame duck waiting for the axe to fall. Not that it matters, because the axe will be a welcome respite.

The Replacement is a friend of mine, though, and he's better-suited for the job than I am. I gave him a list of all the things he was supposed to do on this job, and more importantly, the stuff he shouldn't do. In a way, this is a good promotion of sorts for him.

Thursday, December 02, 2004

The Moving Bar Method

Dear Roy:

Ah, my young padawan, this does bring back memories of those days in CRC. I am now no more than a glorified computer salesman, much abused by business partners, customers, managers, and so-called subordinates; so it is with some pleasure that I'm able to flex my intellectual muscles and recall brighter days. Thank you for the opportunity.

I guess the quickest way to explain my solution to the loaded dice problem is to just dive into a simple example straightaways. So here goes: for two honest six-sided die, how many combinations will result in a five being rolled? The answer, if you build a table and start counting, is four combinations. But how about if you don't build a table? Is there another way?

Here's my suggestion for getting that figure. Numbers in brackets indicate the number on the face of the die; numbers not in brackets are the relative probability. (Again, I'm not sure if that's the proper term; but you know what I mean.)

Die 1 Die 2
1 - [6]
1 - [5]
[1] - 1 1 - [4]---------1 x 1 = 1
[2] - 1 1 - [3] 1 x 1 = 1
[3] - 1 1 - [2] 1 x 1 = 1
[4] - 1 1 - [1]---------1 x 1 = 1
[5] - 1 Sum = 4
[6] - 1

That's four combinations, or a relative probability of four. Translating this to actual probability, we divide four by 36, the total number of combinations (6x6), to give us 0.111....

What I'm trying to do here is get the intersection of the two dice so that the faces equal five. I get the product of the probability (or relative probability) of those intersections and add them up, and I get four possible combinations. You can extend this to all the other possible combinations of numbers for two dice: keep die 1 stationary, and just move die 2 across, looking for the intersections, and adding up the products. You'll see that you actually generate the relative probability table, or RTP, for two honest six-sided dice.

[2] - 1 [8] - 5
[3] - 2 [9] - 4
[4] - 3 [10]- 3
[5] - 4 [11]- 2
[6] - 5 [12]- 1
[7] - 6

What about the case for three honest six-sided dice? You should consider the two dice to be an 11-sided die ranging from 2 to 12, but whose RTP follows that given above. Then, you match that against the RTP of the remaining die.

Example: what is the relative probability of churning out a 10 from throwing three honest six-sided die?

Die 1 Die 2

[2] - 1
[3] - 2
[4] - 3 1 - [6]---------3 x 1 = 3
[5] - 4 1 - [5] 4 x 1 = 4
[6] - 5 1 - [4] 5 x 1 = 5
[7] - 6 1 - [3] 6 x 1 = 6
[8] - 5 1 - [2] 5 x 1 = 5
[9] - 4 1 - [1]---------4 x 1 = 4
[10]- 3 Sum = 27
[11]- 2
[12]- 1

That's a relative probability of 27; actual probability is 27 divided by 216 (6x6x6), or 0.125.

I call this my "moving bar" technique, because I am essentially moving one RTP across another in order to get the sum of their products.

The case for loaded dice follows much the same technique, except that the RTPs of the dice have essentially been tampered with and no longer start out with relative probabilities of one.

It's quite funny how I came across this method. Ten years ago, this started out as a simple problem of how to generate probability tables for three or more dice. I was beating my head against the wall, and a flash of insight: I could actually generate the new table by moving a "bar" across the old probability table. But in my mind, this was a "physical" measuring bar, six numbers wide, with which I summed up all the numbers inside. I didn't know why it worked; it just did. I was happy at the result, and I set it aside.

Last year, this was one of the problems that I submitted to the ACM ICPC. However, to make it interesting, I started thinking about odd-shaped dice, ones that were not cubes. How would that work out? I modified my thinking to alter the size of the measuring bar to fit the number of sides of the die; again, it worked, though I didn't know why. Unfortunately, the problem was shelved because the other judges thought it was too easy to generate the tables in brute force fashion.

Finally, this year, I thought of modifying the problem to include loaded dice. But how did the measuring bar fit into all this? There seemed to be no way, and I resigned myself to just applying the solution in brute force fashion. The problem must have been percolating in my mind, because, attending Mass one day, I had another flash of insight. The solution is what you see here.

I hope that with this description the Python program should start to make sense. I'm simply padding the RPT for the first die with zeroes at both ends so as to give my "moving bar" (the RPT of the second die) room to maneuver. That way, I don't have to build any special cases. Perhaps there is a better approach; if so, I would like to see it. But I am pretty pleased at the cleverness of the method.

Let me know what you think.