Ubuntu 9.04 Jaunty Jackalope

April 30th, 2009

Last week decided to upgrade to the latest Ubuntu version 9.04, aka “Jaunty Jackalope”. Although I knew from the start that there was nothing really groundbreaking in this new release, I upgraded in order to be prepared for the next release due out this October. I have read a couple of articles, here and here. The first one seems to be all worked up about about aesthetics saying Ubuntu is “now as slick and as beautiful as Mac OSX or Windows 7″. The second article seem to be more impressed with how fast 9.04 boots up and shuts down.

A quick search through Google and I find more articles talking about how slick the new release is or how fast it starts up and shuts down. If these articles are anything to go by, then the developers have clearly met one of the goals set by their BDFL, Mark Shuttleworth: Shorter boot speeds, some as short as 25 seconds, ensure faster access to a full computing environment on most desktop, laptop and netbook models. But I fear that the developers have focused on these goals too much that they lost focus on two of the most important things for (most) end users: system stability and seamless upgrades.

Read the rest of this entry »

Notes on “Biblical Mysteries Explained”

April 13th, 2009

Last night I watched the premiere of “Biblical Mysteries Explained” on the Discovery Channel. It was very interesting to say the least. I particularly liked episode 1 which tries to provide scientific explanations for the events that occurred during the Exodus. I liked the explanation for the burning bush, the 10 plagues, the pillar of fire and cloud (smoke) and the most probably location of Mount Sinai. I especially liked how they explained the 10 plagues in particular. The cascade of cause and effects that they used to explain the sequence of plagues makes very good sense. I am not going to spoil it here. The other events’ explanations really make sense if you think about it.

Read the rest of this entry »

No Approved Therapeutic Claims

April 6th, 2009

A couple of days ago a friend told me that one of his cousins had just passed away at the age of 42. Today, he gave a bit more details on how his cousin died. Apparently his cousin had been suffering from diabetes and hepatitis for quite some time. A little more than week ago his health took a turn for the worse until he eventually succumbed to complications from his diseases. My friend said that his cousin had started to develop a skin rash so he went to see a dermatologist. Additionally, instead of taking medicines that have proven efficacy and backed by clinical trials and years of study, he opted to self-medicate with these so-called “herbal medicines”.

Immediately two things jump out in his case: 1.) he went to what he thought was the “right” doctor, but because of his history, it was the wrong doctor; 2.) he decided he could cure himself by taking “herbal medicines” that made dubious claims about their effectiveness.

He should have gone to see a physician first, given that he was already under treatment for diabetes and hepatitis. The rash was probably because of his hepatitis medication. Had he gone to his doctor instead of going directly to a dermatologist, his doctor would have given him different medication or modified his prescription.

Regardless of whether or not he went to see the right doctor, it would have all been pointless anyway. He decided to self-medicate and he chose to take some of these “herbal medicines”. I can’t say I blame him. Real medicines are expensive and they can have nasty side-effects (like unbearably itchy skin rash). If you tune in to your favorite local TV station, you will be bombarded with ads for “herbal” concoctions that claim to be effective against a wide range of illness. You will also see local showbiz personalities peddling all this crap as well. There is even one noon-time show that has a couple of these “herbal medicine” companies as one of their primary sponsors. After all, you can never go wrong with scantily clad women who basically tell you to take some pills that will cure you of all your afflictions.

I know that we have ancient herbalists to thank for much of what we call “real” medicines these days. But right now, there is simply too much of this “herbal medicine” gunk is in our airwaves. It must be a pretty lucrative business since the companies that make these things seem to have more than enough money to pay local celebrities to endorse their products. The ads and packaging for most of these high-profile “herbal medicines” are pretty slick as well, meaning they have a good (read: expensive) marketing agency behind them. Despite all the glossy claims made by the ads or the celebrities that endorse these “herbal medicines”, there is something that these companies just barely tell you: NO APPROVED THERAPEUTIC CLAIMS.

What the hell does that even mean?!? You bombard me with ads that tell me that your 7-herbs-in-one capsules effective against arthritis, high-blood pressure, kidney problems, chronic fatigue and it can give me an erection that lasts for 10 hours. Then you tell me, just for half a second in very small print, that you are making no approved therapeutic claims? It turns out that the BFAD (just like the US FDA) classifies these things as “food supplements” and companies must label their products to indicate that there are “no approved therapeutic claims”. There seems to be nothing specific as to how these things should be labeled. Which is why there are times when the disclaimer is barely even readable. They could also care less if the people who watch these ads even know what this disclaimer even means.

Basically this means that they can make dubious claims about the effectiveness of their products but they are cannot be held liable(?) if the product works for you or not. If the product works for you, cool! You can probably send them a letter telling them how effective their product is and they will probably put you in their next ad. If the product does not work for you, too bad for you, they made “no approved therapeutic claims” after all.

I can only wonder how many people, like my friend’s cousin, took these things thinking they will get better soon only to succumb to complications of their disease. If this were a perfect world, the disclaimer will be prominently displayed and explained, in layman’s terms, before and after the glossy ad is shown. But that’s probably asking too much. After all, who in their right mind would buy this crap if we all understood that it may or more likely may not work as advertised.

R.I.P. Steve.

Taking Another Stab At Learning Haskell…

March 22nd, 2009

I have been trying to learn functional programming in Haskell on and off for about two years now. The functional programming approach, terminologies and Haskell’s unfamiliar syntax makes me feel like a fish out of water every time I try to learn it. What makes it especially difficult for me is that the BSCS course I took did not have a functional programming subject plus the fact that I a mostly self-taught. I first learned to program using Atari Basic and 6502 assembly language. From then I learned C, Pascal, C++, Java, PHP, Perl, Python, and a slew of other esoteric languages. I also know CLISP and ELISP so I have some familiarity with functional programming. One thing that all these languages had in common is that they are all procedural, imperative programming languages. I have been conditioned into the mindset that a computer program is a series of instructions given to a computer. Learning functional programming and, at its heart, lambda calculus throws most of what I know about programming out the window. You are forced to think differently. Programs are no longer a series of instructions. They are now special applications of fundamental and advanced mathematical concepts.

Most of the material I have been reading so far introduces concepts which are completely foreign to me using terms that I have never even heard before (”monad”, hyukhyuk!). Some materials like “Haskell Tutorial for C Programmers” attempts to map functional programming concepts in Haskell to imperative programming concepts in C. That was my last attempt to learn Haskell prior to this current one. It starts off slow but in the next chapter it gets deep all of a sudden and I felt lost and eventually gave up.

The approach taken by “Haskell Tutorial for C Programmers” is essentially the same approach that I had taken to learn all the programming languages that I know. This approach consists of three stages:

  1. Learn about all the keywords of the new language, then map them to the keywords of a language that you already know.
  2. Learn how to do all the concepts using the new language like loops, branching, function definition, etc.
  3. Finally, learn how to do advanced I/O like reading/writing files and talking to a network.

This approach has not failed me until I tried to learn functional programming using Haskell. I eventually gave up until better material was available and I had some spare time. I have been especially productive using Django and Python lately so I have been finding a bit of time and with a new book on Haskell available for free, I decided to give it another shot.

I am reading well into chapter 3 as I write this and so far, my brain is still chugging along nicely. I took a completely different approach to learning this time: Zen Mind, Beginner’s Mind. It is at the core of the teachings of Shunryu Suzuki-roshi. Basically it means emptying your mind of all preconceived notions and being free from expectations of what should and shouldn’t be. In this mental state, all you do is explore and observe.

The approach is working thus far. However it would not be possible if “Real World Haskell” itself was written in the same cut-and-dry approach like that found in most of the books on Haskell that I have read. The book takes on a very nice pace in the first 2 chapters so far. It introduces functional programming concepts using small, working, real-world examples. It exposes only as much of the language as it needs to and explains everything in detail without overwhelming you. Considering the depth of the subject, it looks like an excellent book written in a very engaging manner.