"A good database should not have any triggers, nor should it have any foreign keys."
-- a DBA who should not be named, in a 4-hour-without-break meeting
Speaking of longish-without-break things, that was a long Easter Vigil service on Saturday. It started off with seemingly forty-five (seven, actually) readings -- when it reached the one-hour mark and they were still reading, you knew something was up -- which was then followed with the baptism of hundreds (forty-something, actually) of catechumens, and ended with what I guess you can say the normal eucharist procedure, by which it was already past three hours. Seriously, in my short Catholic career, that was the longest service I've ever attended.
It's like the Church is making a statement, "Dude, don't mess with us. You can complain all you want, break any of our rules all you like, in the end you have no choice but to do this. Because 'Our Savior has suffered so much for you -- didn't you watch that Mel Gibson movie? -- and you don't think you can spare a few hours for Him'?"
Anyway. Remember those days when programming was fun? When you worked overnight on your PC XT, staring at your CGA monitor, just to see if you could create a bouncing monkey using your beloved Basica? Remember how satisfying it was to show it off to your much impressed buddies? *Hey, it's not easy, you know, to create a realistic bouncing effect, what with the gravity and all*
Right. Well, news flash: those days are sadly over.
Take that simple yet fun bouncing monkey. Before long someone would come and go like, "Whaddaya say we make multiple monkeys for multiple users?" Challenge, you thought. So you worked more nights and presented the multiuser version of the bouncing monkeys.
Another one would have a look. "Hey, not bad. But you know, we should implement some kind of control mechanism so that only the rightful owners get to make their monkeys bounce. Maybe some password, user management kinda thing?" So you were all, huh, all right, that shouldn't be too difficult.
Only when you again presented the monkeys -- complete with the "user management kinda thing" -- they would say, "Uh, you know what, how many users can these monkeys handle? How many bouncing requests can be processed in one minute? It won't be nice if at one time only a few people can bounce 'em. And even if they can't, you should give them some meaningful message." So you said nothing and developed some sophisticated queue system, entirely configurable.
One look and they would say, "But what happens in the event the monkeys crash? Won't it be nice if they can so-called remember the last states they were in, so that they can resume their bouncing seamlessly?" Almost fed up, you kept it shut and went on to implement an updatable data storage system, kept in sync with the bouncing states of the monkeys.
They would be happy at first. Until they realized that now the monkeys ate a lot of resources and became slower and slower. "This is not good, man," they would complain. "We should balance the load while maintaining a centralized repository. And definitely a housekeeping facility. Oh, and when you're at it, what about controlling which requests should be allowed from the rest of the world."
And, "We can't afford to have some monkeys bounce when they shouldn't, just because they have crashed earlier. Reversal would be a good idea. You know, some ability to rollback?"
And, "What if we have another partner that want to pay for bouncing some monkeys remotely? Like, the monkeys stay on our site, but they could access them whenever they want. It would be great to have some kind of gateway for different partners. Then we can have multiple bouncing types, easily configurable, and platform-independent. Something like, I dunno, integration of all applications within the enterprise?"
And, "What about bridging different types of monkeys?"
And, "What about this framework? It'll save us effort and time."
And, "Data warehousing? Multidimensional database would be ideal."
And, "Some slice-and-dice ability? Business Intelligence?"
...
...
...
Finally, "Err, whaddaya mean you're gonna charge me that much? All I want is actually just a simple bouncing group of monkeys. What would be the impact if we take out this feature? That feature? Come on, work with me here or I won't give you a deal!"
I want my running-on-PC-XT-showing-on-CGA-developed-with-Basica bouncing monkey back.
Current music: The Carpenters - Close to You
Current mood: happy
Di sini pas tiga jam, nggak kayak taun lalu yang hampir empat.
Selamat Paskah, Pak Dodol.
Selamat Paskah, Texas! Selamat Paskah, Indonesia!
BTW, gua sedikit kaget ama ketigajaman misa kemaren karena biasanya gereja di sini (baca: SG) itu cepet-cepet banget kalo misa. Orang misa biasa aja nggak nyampe sejam. Di Indonesia mana ada misa nggak nyampe sejam?
what?? no trigger and no foreign key??
Met paskah semua..
Met paskah Ren.
Makasih, Son. Met Paskah juga.
Makasih juga Ren, gue seneng paskah disini Jum'at ama Senen libur. Mesti berterimakasih sama Yesus juga. Titip salam ntar kalo elu ke gereja.
Uhm... i love monkeys :)
Eh, ada Bu Lhukie.











