Tuesday, November 30, 2004

Phoenix Antonio's Christening



Magie and Engels Antonio's second child was christened Phoenix today, and I was invited to be godfather. It was an invitation I was proud to accept, as the couple and I have been good friends for four years running now, ever since I wrote an article on them in my defunct Linux Links column for Inq7.

I arrived very early at the Twin Hearts Chapel in West Avenue. For a while, I thought I might have ended up in the wrong church. And there I was in my barong. Nonetheless, it was good. I spent the time meditating, because obviously I have a lot of things to meditate about, given recent events.

Some time later, people did start arriving, and when Eddie Salonga came, I was tremendously relieved. And finally, Magie, Engels, and the two kids showed up.

It was quite a surprise seeing how tall Psylocke was already. She's now up to Magie's ear. I could almost swear she's grown at least six inches since I last saw her.

Some pictures at my digital album for your perusal. However, there is one I would like to show here:



O, see who I'm kumare with now. Ha! ha! I'm going to become a namedropper real soon.

(Note 1: As in many cultures, being a godparent is a way of cementing friendships; but this seems to be more so with Filipinos. Kumare means "godmother of my child" or "fellow godmother"; it's kumpare for men.)

(Note 2: That's Luli Arroyo, First Daughter.)

Scenes from a Life in Jail

I left my el-cheapo digital camera with my friend, D., in the Bulacan Provincial Jail. He asked for it innocently enough, I didn't see anything wrong with it, so I gave it to him. Unfortunately, it was against the rules and they confiscated it. Sigh. Well, that's my friend D.

They did return it through the lawyer, though. I downloaded quite a fair bit from the camera. What follows are scenes from a hard luck life. More pictures at my digital album.



Art Class

Arman, 21, otherwise known as Chairman, was a very apt pupil. Having learned the basics of drawing comic book faces and action poses, he was now well on his way to putting together basketball scenes. Beside him was John Lawrence, 14, imitating what he was doing. Vincent, 5, was away in a world of his own drawing blue houses and blue robots.

This was an art class of sorts, and improbable as it may sound, I was the art teacher. Then again, this was no ordinary class: Arman and John Lawrence were inmates of the Bulacan Provincial Jail, while Vincent was visiting his dad.

Some weeks back, I showed up in jail with a pad of printer separator sheets from the office and a box of pastels. I just wanted something to do with my hands while talking with my friend D., but not long after, I had gained a bit of following from the young kids, both visitors and inmates. In that session, we used up my entire stash.

When I showed up the following week with no materials, they asked my friend D. to hint to me about the class. What could I do? So this week I brought a box of cheap pastels and more paper.

I may not be a very good artist, much less a good art teacher, but I did leave the jail with a light feeling.

Yes, and somewhat forgiven for all the separator sheets I stole from the office.

Python code for the Loaded Dice Problem

Here's my code for the Loaded Dice problem, posted earlier. No, it doesn't exactly conform to the problem specification for input and output. Then again, I'm very lazy. This code was just to test whether my algorithm was correct.


def generate_table(list1, list2):
list3=[]
if len(list2)>len(list1):
templist=list1
list1=list2
list2=templist

padlist=[]
for i in range(len(list2)-1):
padlist.append(0)

list1.reverse()
list1.extend(padlist)
list1.reverse()
list1.extend(padlist)

list2.reverse()

for i in range(len(list1)-len(list2)+1):
sum=0
for j in range(len(list2)):
sum=sum+(list1[i+j]*list2[j])
list3.append(sum)

return list3


def test1():
list1=[1,1,1,1,1,1]
list2=[1,1,1,1,1,1]
list3=[1,4,1,1,1,1]
list4=[1,1,1,1,4,1]
list5=[1,1,20,1]
list6=[1,1,50,1,1,50,1,1,1,1,50,1]
list7=[1,1,1,1,1,1,1,200,1,1,1,1,1,1,1,200,200,200,1,1]

inputlist=[list1,list2,list3,list4,list5,list6,list7]

final_table=generate_table(inputlist[0],inputlist[1])

for i in range(2,len(inputlist)):
final_table=generate_table(final_table,inputlist[i])

return final_table

To Look Upon Medusa's Face



"They say true love comes once in a lifetime. That is true, but only partly. I have lived several lifetimes, and once did true love come my way. Unlikely, you say? Indeed. But happen it did, and for a while, we were truly happy. Our love was pure, despite the disguises we wore.

"I don't know whether it was a cruel jest of the gods, or plain human stubborness. He became insistent upon the test of true love: to see each other as we were. I tried to convince him of his folly. But he would not be denied.

"And now, I have him forever."

SLES on my desktop

For the longest time, I've had Red Hat 9 powering my home computer system. However, since I've registered for a Novell Certified Linux Professional exam, I wiped out that partition and replaced it with SuSE Linux Enterprise Server 9.2. After being with me for over a year, I let RH9 go with some feeling of regret.

But what can I say about SLES9.2? By golly, I love it! Love it, I say!

Installation was very sensible, as the system took some fairly intelligent guesses as to what I wanted. It did take some time to install, and I had a couple of glitches that I could attribute to the media, but on the whole, I survived that well enough.

Hotplug USB was beautiful! No more need to configure my /etc/fstab file with my USB devices. I guess I would have had this feature if I had only upgraded earlier, but I love it!

It recognized my scanner immediately, so that takes care of that, too. Absolutely wonderful!

Internet setup was a snap, courtesy of Yast. And I'm writing this from the Konqueror browser over my dialup.

Yast looks a bit like AIX SMIT, so I wouldn't exactly say it's end-user friendly. But for an old-time tech like me, navigation was fairly intuitive.

More reports to follow, both good and bad, over the coming days.

I have a new best friend (for my desktop, at least!)

Sunday, November 28, 2004

Temptation

Now that I'm taking things a little easy at work, getting my certifications done, and on the whole, just doing damn well as I please without worrying too much about customers or colleagues, the temptation is rearing its ugly head: Life is good. Why change it?

Why indeed? Because this happy state is the result of my decision. If I hadn't made the move, I would still be living within the shadow of client reps, customers, managers, and the oh-so-fantastic folks from Services. Would I be happy then? I think not.

Perhaps someday I'll learn to work in an organization without thinking too much about what other people think. Perhaps someday I'll learn how to be happy to color within the lines. Perhaps someday I'll learn to embrace The Processes.

Yeah. And by then, I'll have the passion squeezed out of me.

In the meantime, I'm going to Live while I can.

Temptation

Now that I'm taking things a little easy at work, getting my certifications done, and on the whole, just doing damn well as I please without worrying too much about customers or colleagues, the temptation is rearing its ugly head: Life is good. Why change it?

Why indeed? Because this happy state is the result of my decision. If I hadn't made the move, I would still be living within the shadow of client reps, customers, managers, and the oh-so-fantastic folks from Services. Would I be happy then? I think not.

Perhaps someday I'll learn to work in an organization without thinking too much about what other people think. Perhaps someday I'll learn how to be happy to color within the lines. Perhaps someday I'll learn to embrace The Processes.

Yeah. And by then, I'll have the passion squeezed out of me.

In the meantime, I'm going to Live while I can.

Grid Technical Sales Specialist

I am now an IBM Certified Grid Technical Sales Specialist. I took the certification exam yesterday, passed with a less-than-stellar result of 73%. Hooray.

Not that the exam is going to do me much good with the Life I'm contemplating, but all the same, it's good to have taken it. It wasn't an easy exam, mind, primarily because the questions were oh-so-tricky. Because of that, I did come out of it with some feeling of accomplishment.

Along the way, I got reminded of a lot of the things I didn't study. So rather than just let the matters rest, I'll probably check them out when time permits. The grid ISVs do have some fairly interesting products: Avaki, DataSynapse, Entropia, and Platform Computing; all pretty cool.

I'm pretty tempted to do some work with the Globus Toolkit when I finally get some time on my hands.

All this beside, I did just needed the excuse of studying for the exam so as not to report for work last Friday.

Oh, yeah, I love being a goof-off!

Friday, November 26, 2004

Tarot Reader



Kathy wrote a short story about the fortune tellers of Carriedo Street. Krisette and I were editing it, but there were some good images which came to mind. Here's one of them.

Loaded Dice

With a single honest die, your an equal chance of rolling a number equivalent to the number of sides of the die. That is, with a standard six-sided die, you have equal chances of getting a 1, 2, 3, 4, 5, or 6. We can represent this dice as an ordered list of numbers, each number representing the relative probability of each side appearing.

An honest six-sided die could therefore be represented as [1,1,1,1,1,1]; the first number represents the relative probability of a “one” turning up; the second number represents the relative probability of a “two” turning up; and so on and so forth.

The game becomes a little more interesting if you combine two or more honest dice. Some numbers have more combinations, and therefore appear more often. Throw two six-sided honest die together, and the best number to bet on is a seven which gives you get a 1-in-6 chance. This is because there are 6 combinations which lead to a seven -- (1,6) (2,5) (3,4) (4,3) (5,2) (6,1) -- out of a total of 36 combinations, or 16.7%.

When you throw three six-sided die together, the best numbers to bet on are either 10 or 11. This is because there are 27 combinations which sum up to each number. This gives you a 12.5% chance of landing 10, and another 12.5% chance of landing an 11.

However, for cheating gamblers, these odds aren’t nearly good enough. This is why they use loaded dice. Loaded dice look like regular dice, except that they are weighted inside so as to favor some numbers more than others. For example, we could have a die where the “three” side is four times as likely to come up as any of the other sides.

Following our notation above, this relative probabilities of the loaded die could be represented as [1,1,4,1,1,1].

If you throw two loaded dice -- [1,1,4,1,1,1] and [1,1,1,4,1,1] -- the best number to bet on would still be a seven but the odds will have changed significantly in your favor. You would now get 21-in-81 chances of landing a seven, or 25.93%.

Remember that not all dice have six sides. Some dice have four sides, some have eight, some have 12, some have 20, and some have even funnier shapes.

If you were given a number of varying shapes of dice, some honest, some loaded, but each one consecutively numbered from one to whatever number of sides each had, what would be the best combination (or combinations) to bet on, and what is its probability?


INPUT
The input file consists of several test cases. Each test case starts with n (4 <= n <= 20), the number of dice for that test case. This is followed by n lines containing the probability list for each die.

Probabilities are indicated as a series of numbers separated by a single space, with each number representing the relative probability of one side of the die. The relative probability number is an integer between 1 and 200, inclusive.

OUTPUT
For each case, print out a header indicating the number of the test. On the next line, print out the most probable sum given the set of loaded dice. In case of a tie, print out the list of sums in ascending order, separating numbers with a space. Lastly, print the absolute probability of such an occurrence, accurate to 3 decimal places, rounding off if necessary. Print any trailing zeroes.

ACM Programming Competition 2004

For the second year running, I was a judge in the regional finals for the International Computer Programming Competition of the Association of Computing Machine (ACM). The contest itself ran on November 12 at the University of Asia and the Pacific. Eighty-one teams from the Philippines, Japan, China, Taiwan, Indonesia, and Hong Kong competed in a gruelling five-hour race to solve seven programming problems.

In this competition, it's algorithms, not the graphics or the user interface design, that wins the day. What's important is the output to the test cases provided by the judges. Contestants are grouped in teams of three but share only one workstation. They program using C/C++ or Java, but they have to rely on their creativity and stock knowledge of algorithms to devise the correct solutions.

Teams get points for finishing their programs quickly; they get penalized in case their programs come up with the wrong answers to the test cases. Programs are submitted to an automated judging system that calculates to the last second how fast a team solved the problems, less penalties.

The problem sets are not for the faint-of-heart (or rather, brain). Two months prior to the contest, the other judges and I started threshing out what types of questions we would be submitting. We bandied the problems and possible solutions around, ultimately formulating the questions, sample output, test cases, and our versions of the solutions. What took us a leisurely sixty days to work out, the contestants would have to do in the space of five hours.

When the dust cleared, three-time champion University of Tokyo stood tall, but it was a close fight with a difference of a matter of minutes from second-placer Ateneo de Manila. Third place went to Sun Yat Sen University. The winning team heads to Shanghai in April next year for the finals.

But at the heart of it all, this was a friendly competition, and the crowd was one in cheering whole-heartedly for the winners.

In this world that seems to revel in the shallow and superficial, it's heartening to see that the spirit of intellectual contests remains alive in the country, and that young men and women can still celebrate it so.

Perhaps next year, the universities of Dumaguete would like to send delegations?

How tough is the competition? Check out the ACM problem archives.

True Blue

I'm taking my grid computing certification exam tomorrow. I don't actually need the certification for the Life that I'm planning, but it's free anyway, so I might as well take it before I Go.

Studying in the office isn't going to get me very far since there are the myriad distractions of Lotus Notes and co-workers. I decided to hang out in the mall cybercafe, instead, researching on grid offerings from competitors and business partners. Despite the background music and occasional digressions like this, I'm actually making good headway in my review.

It's just quite funny, though. Seven years working for a company can give you that professional bias. I'm reading through the grid computing pages of Oracle, HP, Sun, and Dell, and I can't help but flip through IBM's own views on the subject. And I'm actually thinking of the ways in which "our" offerings and perspectives are better.

All the same, it's actually been an instructive enterprise. I found the HP equivalent to IBM DeveloperWorks. Not nearly as extensive, but worth a closer look some time soon.

Heh, real soon now.

Monday, November 22, 2004

Tech for My New Life

Pretty soon I am going to part ways with my Thinkpad. Thinkpads have been an integral part of my life over the past seven years, but surprisingly, I'm not loathe to let go. In fact, it even comes as a bit of a relief.

Another four months of onerous payments to the damned phone company and I'll also be free of my mobile phone subscription. I will miss my number, the number I've been carrying the past five years. But other than that, I'll be fine, quite fine, without it.

What will take their place?

Well, there's this Palm with a keyboard that I'm typing on. It's old, it's tiny, but I'm getting used to it. I think it'll be even handier to have than a laptop. Lighter, longer charge, and more rugged. Yes, it's going to be very basic, but I actually want it that way.

I can't totally get rid of the cellphone, unfortunately, but people will have to get used to be the ones calling or texting me. I'll probably switch to a prepaid kit, but that's all right.

As for a PC, there will always be my desktops anyway. I'm happy with those.

And, finally, thank God for commercial broadband access!

The Meeting

Awkward silences. Fidgeting colleagues. Absurd numbers.

Why am I even bothering to attend this regular weekly meeting?

Maybe because I'm still on the payroll of the company. Maybe because I'm still trying to find ways to help.

Maybe because I'm wondering what everyone will say to me. Apparently, the boss has already announced my resignation.

But really: to confirm to myself that I really do hate these kinds of meetings.

I'll be glad to go.

Letter to Myself

So, what now, Dominique?

You've tendered your long-delayed resignation and this time, it's not likely they're going to ask you to stay. Not that it matters because you've made up your mind anyway.

Come December 17, you'll turn in your Thinkpad and your badge and that'll be that. You'll pack up your gear and close the lights of your rented apartment one final time.

Where to from there?

Davao, first, for the Christmas holidays. And there's a business that's waiting to be set up with your sister. Maybe it'll take off, maybe it won't, but it'll be worth the shot. If medical transcription doesn't take off, you can always turn it into a cybercafe.

Come January you can swap places with your Dad in Dumaguete. Morning runs through the boulevard and daybreak swims on the beach: so you can finally ge in shape. Volunteer work with the science high school, and computerization work with the marine lab of Silliman: just the kind of stuff you like to do and can pad your resume with. And maybe even art class.

ln case the phone rings and your old mates from IBM call (don't worry, it won't happen), you'll them politely that you're retired (don't worry, you won't have to.)

You won't be lacking for things to do, that's for sure. It's important that you keep growing. You have to keep building up expertise that you will be known for. What you might lack in revenue, you must make up for in knowledge. Study. Publish. Network. Get certified.

If you ever decide that this path you chose was not meant for you, and that you want your old life back, you better make sure that you're worth more then than you are now.

Of course, that won't happen, will it? Because you know this path is the right one for you right now. Doubt not your assessment of your situation. You could not have continued this path without further misery.

You've made the decision. Be happy

Friday, November 12, 2004

Literature in the Internet Age, Part 2

Rather than killing literature, the Internet instead liberated it. Pre-Internet, publishers and editors decided what was worth printing. Post-Internet, anyone with anything to say could publish their works electronically. Welcome to the era of personal publishing.

There's no more tangible manifestation of this today than blogs, which are currently all the rage of the Internet. For the uninitiated, blogs are short for "web log", a sort of an online diary. Content varies greatly, from the loftiest of thoughts to the most mundane mutterings: as with any diary, it depends on the personality and intellect of the writer.

While publishing on the web goes as far back as ten years, blogs are a more recent phenomenon and make publishing so much easier than before. Instead of composing individual web pages and linking them manually, blog tools allow you to write directly from the browser. The system takes care of indexing your work. Perhaps the best-known blog application is http://www.blogger.com.

More than just a content management and publishing system, blogs are also focal points for communities. We normally don't associate community with literature because reading is typically a personal activity. Literature itself is actually communal in nature, and it shows in how we gravitate towards certain authors, topics, and opinions. The Internet throws that in sharper relief.

There are blogs for practically all subjects underneath the sun: politics, literature, science, travel, religion, etc. But in the end, we have to go back to the nature of the blog as online diary: this is literature that is inextricably tied in to the personality of the writer.

For this reason, the best blogs are probably the personal blogs by twentysomethings and thirtysomethings. Why? Simply because they (or perhaps I should say "we") have the most to say. Angst, frustration, fears, boredom, love, hormonal imbalance, parental conflict, peer pressure, financial worries: all these contribute to a fascinating tapestry of human drama that rivals the most imaginative soap opera writers.

And it's all real. Sort of.

For a sampling of Philippine blogs, go to http://www.philippineblogawards.com. For a Dumagueteno-specific blog, check out http://notesfromdumaguete.blogspot.com/.

Saturday, November 06, 2004

Guitarist



Another piece of work from the day at the beach. This is a painting of one of the quartet of singers at Paradise Beach Resort. Oil pastel, dry smudge yet again.

Friday, November 05, 2004

Sarah



A day at the beach with my high school buddies and their families. All their kids were present, and I ended up playing big bully in a very spirited water fight. After that, I settled down with Lynette, my goddaughter , for a spell of drawing. One of the drawings which came out fairly okay was this oil pastel painting of Sarah, one of my other goddaughters. Not a very accurate representation, and all I could use was dry smudge. Still, I'm happy with how it came out.

Stalled



Sacha wrote a short story about a stubborn carabao that refused to budge. I attempted to illustrate the story, and had gotten quite good at drawing water buffalos, thanks to the carabao statues at Greenbelt. I wasn't too happy with the perspective and composition of this initial attempt, though. Drawing the halter and the cart was a bit more difficult than I expected. I didn't get to do enough research on these items, so they lacked the accuracy I was looking for.

Literature in the Internet Age, Part 1

Rational Technology column for November 7, 2004

In this age of woefully-short attention spans and broadband-driven razzle-dazzle multimedia, it's a wonder that literature is still alive. Far from supplanting the written word, however, it looks like Internet and other forms of mobile communication have in fact served to enhance it. One only needs to take a quick stroll to the bookstore or magazine stand to see the burgeoning choices available to the casual reader.

Does literature still matter? I think it does. People will continue to read and write. Literature is the hallmark of the common identity of a group of people, whether defined by nation, interest, or age. But literature is also continually evolving, molded to suit the needs and tastes of writers and readers; and apparently, too, by the medium of delivery.

How do I mean this? Well, examine your reading habits. How much of what you read is printed on paper, and how much of it isn't? I'd hazard a fair guess that majority of what you read is actually from a computer monitor (email and web), cellphone (text messages), television (the tickertape headlines beneath newscasts), and billboards.

These methods of delivery give rise to subtle shifts in reading patterns and thought processes. We now tend towards short articles and short words, paring away as much incidental content and retaining only the essential meaning. If possible, we want to capture everything in a glance.

Take a look at the latest bestsellers. These are characterized by short, episodic chapters, some less than a page long; the longest chapters clock in at around five pages.

A year ago, local publisher Anvil came out with a short story collection called "Fast Food Fiction." The contributors all aimed to write stories at a maximum of 500 words. Many exceeded that mark, but almost all stories averaged only a page and a half.

You might think it extreme, but fast food fiction hardly pushes the envelope. A more extreme form is called "flash fiction", which aims to tell a story in 50 words or less. Under this restriction, it's almost impossible to write a plot, let alone develop a character, but it does have a beauty all its own, not unlike a haiku. See www.fictioninaflash.com for more details.

Possibly the most extreme form of short literature is cellphone literature. Last year, the Institute of Creative Writing sponsored Textanaga, revolving around tanaga, a form of short Tagalog poetry consisting of four rhyming lines of seven syllables each.

And if you think cellphone literature is limited to poetry, well, you have another think coming. Cellphone novels first appeared in Japan in March this year; the most successful one has been turned into an actual book and has been optioned as a film. Last July, Chinese author Qian Fuchang of the Guangdong Literature Academy published a novel divided into 70-word chapters.

Thursday, November 04, 2004

Zombie Dom



I had a drawing spree while I was on vacation in Davao. This is one of the funnier ones: me as a zombie. My sister did some embellishments. Yes, I had way too many viewings of "Shaun of the Dead."