Alan Kay's Talk at TED 2
Alan Kay recently gave at talk at TED. You can view his video from here. Like all TED talks, it's about 20 minutes long so it's short and straight to the point. The rest of my post will make references to the video, so reading it without watching the video might not make much sense.
Unsurprisingly, in the video, Kay demonstrated the canonical moving car example for Etoys. The moving car demo is something that most people familiar with Squeak would have seen. It's really simple but it lets kids experience programming in a fun interactive way. Unfortunately, this is something that most modern languages have failed to enable. After all, which is more fun: printing text to the screen or watching your creation actually move on screen?
However, the second part of Kay's demo was even more interesting. He shows what you can do to help illustrate some simple math and physics properties in an insightful manner. It uses all the features of Etoys (or maybe the full Squeak implementation) to let students experiment by themselves.
Experimenting with this would have been so much cleaner than using a tape meter. It's actually even cooler when you watch the animation or code it up yourself in Etoys.
For instance (and this was something that impressed me), you could design a simple car that drop dots along as it moved. So, a car that is accelerating will be dropping dots further and further apart from one another. This is basically the same idea as using a tape meter. However, the animation of the car moving and dropping dots seem so much cleaner to me. You can easily illustrate the concept of velocity and acceleration without having to talk about friction, etc. Something that is unavoidable with a real experiment. This helps especially when you are teaching a younger audience about the basic principles of motion.
Toward the end of the talk Kay showed an example running on the OLPC. So I was curious whether all courseware on the OLPC will be interactive or whether they will be like normal textbooks only in digital format. Either way, it's already hard enough to actually get good content onto the OLPC. As far as I know, there is no group dedicated to creating content for the OLPC yet.
However, I was able to find a couple of interactive learning environments at OLPC Courseware Review but, from the list, it seems that Dr. Geo II is the only one that has been ported to run on the OLPC. It would be interesting to see if there is a Google Summer of Code project for creating/porting an existing interactive learning environment to the OLPC.
Incidentally I was reading "A Mathematician's Lament" by Paul Lockhart which also talks about how to revamp the current K-12 mathematics education. The paper is available from here. Basically, Lockhart says that there is not enough experimentation with math going on in the class rooms. And that most of math is rote memorization with little appreciation for the beauty of math.
The math education back in Malaysia is not much better either. In school, the teachers are more interested in finishing the syllabus. So students either get-it in school or have to rely on paid tutors to teach it to them. There's very little appreciation on the derivation of the proofs of math. Either the derivation is skipped entirely while teaching or it follows the route of the boring derivation on the board that doesn't engage students.
Leave No Stone Unturned
I spent the previous week reading two very interesting - and some might say controversial - books. The titles of the books speak for themselves. However, that is not the main reason for this post. Instead, this post is about what I think is an important point of both books; something that might be hidden underneath both the hype and criticism surrounding the books.
Both books advocate the need to question everything -- even religion. Religion has always been considered a taboo subject and its veracity has always been taken for granted. More often than not, religions rely on a divine book that has been perpetuated by a deity as the source of truth. And this source of truth, according to its followers, shall not be questioned. This is faith.
And that is where a potential problem lies. While I am certain that both authors have tried their best to verify what they have written, they are not ashamed or adamant about making corrections to their books when the evidence shows otherwise. With sufficient evidence, both authors might even be converted toward religion. I doubt the same could be said about religious texts. Religious texts might have been perpetuated by a divine deity, but they are still transcribed by human beings.
Now, it might very well be that religious texts are indeed infallible. However, without testing, without questioning, we can never be sure. At least, we cannot be sure without just relying on blind faith alone. To put this into perspective, most people are not going to sit in a plane after being told that it is powered through sheer faith-power alone.
If anyone doubts the need to question, just look around us. All modern inventions come about through some form of questioning. If we just accepted everything as being magical then we would never have many of the inventions that we take for granted today. The scientific theories that we have today might not be complete but they sure do a fine job of making our lives better. And those theories are continuously being subjected to testing and questioning to refine them: obsolete ones are rejected, replaced or even removed.
Religion might be true; it might be false. Religion might be necessary; it might be unnecessary. But like everything else, it should be investigated and questioned. And every individual should be free to draw his or her own conclusion based on the evidence and not just on the words of influential figures. It goes the other way around too. Just because the authors of both books claim something, it does not mean that it is true. Again, the facts and evidence must be evaluated.
For many religious devotees the veracity of religion is not necessarily an issue. And that is fine. However, for some other people, the quest for verifying the truth is important. They should be granted the freedom to question such things and make their own decision without any backlash from members of religious communities. Both books present examples of reactions from religious communities on this issue of seeking the truth. Some reactions being more harmful than others.
And what happens when the truth is discovered? Probably nothing much. People are still free to choose whether or not to believe in religion. Neither author strongly suggest the need for getting rid of religion. What they do is merely present their ideas and the evidence to support it. But they never force anyone to abandon their beliefs.
Zen and the Art of (Pair) Programming
Since this book is so general, it can be interpreted in many different ways. I choose to interpret some of the advice it offers in terms of programming.
Programming is an intellectual activity. It takes sufficient intellect, great concentration and lots of patience. And there are some things that can easily sap a programmer's concentration and patience. Robert Pirsig, author of Zen and the Art of Motorcycle Maintenance uses the term gumption as a reference to the gasoline that motivates a person to continue working on what he needs to get done. And he calls the little things that retard the progress of work gumption traps.
Anyone who has done programming before is certainly aware of some gumption traps. When your IDE that has been working fine for the whole day suddenly starts throwing peculiar errors and exceptions, you feel infuriated. Or when you try to chase down a bug that prevents your program from working only to discover that you had somehow used a stale version of the source file and that the bug had already been fixed. It is not the encounter with these incidents that causes you to lose your zen as you are programming; rather it is your reaction to these incidents that cause the state of zen to be broken.
An anecdote would illustrate this better. Pirsig uses the South Indian Monkey Trap parable to illustrate this:
The "South Indian Monkey Trap" was developed by villagers to catch the ever-present and numerous small monkeys in that part of the world. It involves a hollowed-out coconut chained to a stake. The coconut has some rice inside which can be seen through a small hole. The hole is just big enough so that the monkey can put his hand in, but too small for his fist to come out after he has grabbed the rice.
Tempted by the rice, the monkey reaches in and is suddenly trapped. He is not able to see that it is his own fist that traps him, his own desire for the rice. He rigidly holds on to the rice, because he values it. He cannot let go and by doing so retain his freedom. So the trap works and the villagers capture him.
The normal reaction a programmer has for a gumption trap is to lash out and probably try to find the solution fast. However, like the case of the monkey trap, sometimes even when the solution is apparently within your grasp, you tend to forget that there could be a different solution. It takes a great amount of brain power (to use the cliche term) to perform a paradigm shift and try a different route even if the end goal is within your grasp.
As a concrete example, think of how many times you had fixed a bug only to realize that it was but a tiny manifestation of a bigger bug? Or that the bug that you are seeing could be a transient one that exhibits itself every 500 hours and that it would be better to provide some tolerance for it rather than trying to fix it?
Look one way and you see a duck. Look another way and you see a rabbit. Different ways of looking at the same thing requires a paradigm shift. And programmers need to be able to do this numerous times each day.
This idea of taking a step back from what you are doing to actually think about your actions is also highlighted in Edward De Bono's Six Thinking Hats. De Bono proposes six different colored hats: white, red, black, yellow, green and blue. The blue hat captures this notion that you need to be cognizant of the bigger picture and how to react accordingly.
Which brings me to my point: pair programming might help alleviate some of the gumption traps. After all, it is rather unlikely that two programmers with completely different mind sets would fall into the same trap at the same time. Having someone watch over your shoulders does prevent some rather embarrassing episodes of barking up the wrong tree since you now need to convince your partner to do the same.
Even if you do not have the luxury of having someone to pair program with, you can easily just keep a log of all the tiny mistakes or observations that you have encountered during your programming sprint. It's those moments of "a-ha" that seasoned programmers reflect upon to give them the edge over the newbies.
You can find more information about gumption from Chapter 26 of the book. It's a book that has continuation from chapter to chapter but you can easily grasp the advice that Pirsig dispenses by reading each chapter independently. Like I mentioned in the beginning, the book is general enough that you can interpret it differently and mould it to fit various situations.
Crimes Against Logic
After reading the Tipping Point by Malcolm Gladwell, I have been slowly following a trail of books that were part of the "Customers Who Bought This Item Also Bought..." list from Amazon. And I can say that this approach seems to work quite well. All the books that I have picked up so far have been really enjoyable.
This method of choosing new books to read also has it drawbacks -- mainly that I am only reading the same sort of things over and over. However, while browsing for the book at the local Borders (I am a member so I get 20% discount coupons each week to buy some new book) I also see some other books that are interesting and would be buy them once I run out of recommendations to read. One that has caught my fancy is Zen and the Art of Motorcycle Maintenance.
I have almost completed Freakonomics and while it is an interesting read (full of unexpected outcomes) it does not warrant any real blogging on my part. In fact, I find those stories to be more entertaining -- think of coffee table conversations material with someone whom you have just met -- but not really useful in any other sense. I have some reservations toward the anecdotes in the book since there isn't enough proof to convince me of their credibility. Again, like I said, it's a book worth reading just to stump your friends on some aspect of life in the US.
But Crimes of Logic by Jamie Whyte is something different. And did I mention that this book is thin, being around 130 pages, so you don't have to make a great commitment to read it. Probably all you need is about 4 hours before bed time. And since the chapters are short and non-continuous, you could easily read one or two during the times you are free and the book will still feel coherent.
Compared to Blnk, The Tipping Point and Freakonomics, there are no out-of-the-box anecdotes that would stump most people. In fact, Whyte uses only simple examples that everyone has probably heard about through the media. And using this simple examples, he points out logical fallacies about them! And he writes with such clarity that it is impossible to miss the punch-line at the end of each chapter. And when you get it, you would be thinking to yourself: how did I fall for that in the first place?!
I was surprised too that I had fallen for some of the logical fallacies while reading the newspaper or listening to the news. In fact this was really surprising. When I read academic papers, I tend to be more critical in my reading and can detect if certain sections are there just to finagle the reader into believing the paper. On the other hand when I read a non-technical article such as an article in a magazine or the newspaper, sometimes it feels that I just turn off part of my brain that does logical thinking. Yes, this is a very illogical thing to do since fallacies present themselves in all forms of writing and they especially abound in journalism.
So why does my logical side of my brain turn itself off? Probably because I don't really care about the news that much so I cannot be bothered to analyze it. Or more likely that I had somehow succumb to the journalistic writing style that favors gossip and shenanigans such that those elements seem more interesting than the gist itself. Whatever the reason, Whyte has certainly produced a nice little catalogue of common fallacies that people commit and how to detect them.
Now all he needs to do is convince the people who commit such fallacies to read them.
Crimes Against Logic
After reading the Tipping Point by Malcolm Gladwell, I have been slowly following a trail of books that were part of the "Customers Who Bought This Item Also Bought..." list from Amazon. And I can say that this approach seems to work quite well. All the books that I have picked up so far have been really enjoyable.
This method of choosing new books to read also has it drawbacks -- mainly that I am only reading the same sort of things over and over. However, while browsing for the book at the local Borders (I am a member so I get 20% discount coupons each week to buy some new book) I also see some other books that are interesting and would be buy them once I run out of recommendations to read. One that has caught my fancy is Zen and the Art of Motorcycle Maintenance.
I have almost completed Freakonomics and while it is an interesting read (full of unexpected outcomes) it does not warrant any real blogging on my part. In fact, I find those stories to be more entertaining -- think of coffee table conversations material with someone whom you have just met -- but not really useful in any other sense. I have some reservations toward the anecdotes in the book since there isn't enough proof to convince me of their credibility. Again, like I said, it's a book worth reading just to stump your friends on some aspect of life in the US.
But Crimes of Logic by Jamie Whyte is something different. And did I mention that this book is thin, being around 130 pages, so you don't have to make a great commitment to read it. Probably all you need is about 4 hours before bed time. And since the chapters are short and non-continuous, you could easily read one or two during the times you are free and the book will still feel coherent.
Compared to Blnk, The Tipping Point and Freakonomics, there are no out-of-the-box anecdotes that would stump most people. In fact, Whyte uses only simple examples that everyone has probably heard about through the media. And using this simple examples, he points out logical fallacies about them! And he writes with such clarity that it is impossible to miss the punch-line at the end of each chapter. And when you get it, you would be thinking to yourself: how did I fall for that in the first place?!
I was surprised too that I had fallen for some of the logical fallacies while reading the newspaper or listening to the news. In fact this was really surprising. When I read academic papers, I tend to be more critical in my reading and can detect if certain sections are there just to finagle the reader into believing the paper. On the other hand when I read a non-technical article such as an article in a magazine or the newspaper, sometimes it feels that I just turn off part of my brain that does logical thinking. Yes, this is a very illogical thing to do since fallacies present themselves in all forms of writing and they especially abound in journalism.
So why does my logical side of my brain turn itself off? Probably because I don't really care about the news that much so I cannot be bothered to analyze it. Or more likely that I had somehow succumb to the journalistic writing style that favors gossip and shenanigans such that those elements seem more interesting than the gist itself. Whatever the reason, Whyte has certainly produced a nice little catalogue of common fallacies that people commit and how to detect them.
Now all he needs to do is convince the people who commit such fallacies to read them.
Would you call the 1 800 number on a soap bar?
In case some of you have not noticed, products sold in the US have the distinctive property that there is almost always a 1 800 number written somewhere on the back of it. Now, this seemed rather weird to me the first time I saw it. My initial thought was that this must be part of some weird law or requirement similar to the bizarre warning - Caution: Contents may be HOT - that you can find on coffee cups. After all, when someone purchases a bar of soap, would they really want to call that number other than to complain about something?
Well, it seems that there is indeed such a group of people who do care about such things. In his book The Tipping Point, Malcolm Gladwell labels such people Mavens . Mavens are people who seek to be experts in their respective field. You can think of them as the equivalent of the computer geeks but in the real world. Mavens are people who devote themselves to finding out anything and everything they can about a product. They then propagate this information to anyone who is willing to hear them out. And since normal people like you and me don't really care so much about that bar of soap, the 1 800 number is generally reserved for the Mavens.
What's the point of all this? Well, turns out that Mavens are people who might actually affect whether something sells or not. Not everyone cares about a bar of soap but most people will care about something that they are going to invest a lot of money in, say, a car. No one is going to get a car without consulting a friend or a friend's friend who has more experience on a car. And this is where Mavens play a very important role. You are probably going to trust what the expert says. And smart companies are going to try their best to win over these experts.
Mavens occupy a very precise role in influencing the selling point of a product. Sometimes, their roles seem so inconsequential. But at other times, their opinions carry so much weight that it is almost suicidal for a business to ignore them. Of course, it is important to be able to distinguish the real Mavens from the wannabes.
The Tipping Point contains lots of tit-bits like the above. While the book itself is lacking a cohesive theme, it redeems itself by presenting lots of interesting cases and it lets the reader form his or her own conclusions. Reading the book is probably not going to change your life - which never was the intent of the book. Instead, the book aims to bring together a collection of these observations and present them as plausible theories of how the tipping point might come about.
Harry Potter
Unless you have been living under a rock - or just could not be bothered - you would have at least heard the news that the 7th and final book of the Harry Potter series has been released much to the delightfully anticipation and solemn realization of many. Delightful since this is the concluding book; and solemn since it marks the ending of a tale that has spanned a decade.
Truth be told, I was not an early fan of the Harry Potter series. In fact I had merely dismissed it as another work of fiction when the first book appeared during my teens. I am not one who enjoy modern works of fiction since I have found them to be rather shallow in nature. However, as a kid, I did however remember reading the works of Enid Blyton and thoroughly enjoyed them. When I hit my teens most modern fiction books out there really began to feel repetitious with heavy borrowing from one another. And there never was a compelling series to commit myself to.
My interest in Harry Potter only started during the long holidays when I was done with school. In my country, that mean after the exams that one has to take during Form 5. By that time, four Harry Potter books have already been released. My mom had somehow procured them from one of her friend's daughter who was studying overseas. Moreover, by this time, I was curious about the hype and controversy that the Potter series had spawned. The hype was undeniable so much so that one of my more radical church friends (forgive him as he was (is still?) young and naive), brainwashed by his church, condemned the book as a vessel for demonic works.
It was by reading the four books in my hands at that time that I think I understood how Harry Potter could captivate the hearts of children and adults alike. There was an endearing quality to it. It did not dismiss the acts of violence as most other children's book would have done; neither did it superficially inject violence into the series. Sacrifices do have to be made sometimes for the greater good. Moreover, its conversations were not cloaked under the shroud of pretense: adult conversations (be they muggles or wizards) will always be punctuated with implied swearing. It is this honesty that separates this book from the works of the other authors who try too hard and yet at the same time, reveal too little human nature.
Anyway, it was certainly fun reading the last installment of the series. I was determined to finish it as soon as possible to avoid the possibility that my girlfriend would spoilt the ending for me. She has already attempted to do so by flipping to the last few pages of the book and reading the text aloud. Without spoiling it for anyone else, I would say that the ending brought a nice satisfactory conclusion to the series. It was a most appropriate ending after the midst of sadness that had transpired during the last few books of the series.
Now, if you'd excuse me, I must search for some other series to follow.
Summer 2006 Reading
Here, in order, are the books that I have consumed over the summer. The same list can be found here.
- Little Schemer
I finished the Little Lisper a year ago. Little Schemer is a fresh introduction to Scheme with some revision on the end chapters. I much prefer the derivation of the Y-combinator in this book compared to the one from the Little Lisper. The omission of the end-of-chapter exercises from this edition was much missed although the authors did include more examples this time around. - The Pentium Chronicles
This was a very nice book detailing the process that transpires in the making of a processor. The book was a bit technical and I really appreciated that fact that I had taken ECE 411: Computer Organization and Design. This book really shows you how brilliant people can really create wonders. - Blink
Blink tries to provide some arguments as to why intuition works. Through various examples, the author provides compelling reasons (not really evidence) to support that notion. Blink is an easy book to read and is well worth it for all the interesting anecdotes thrown in. - 55 Ways to Have Fun with Google
An interesting book. Mind you, it's not a book on how to search better with Google (there are some of those too in the book). Rather, it showcases all the nifty things that you will never think of doing with Google. Most of the chapters will probably not be useful to anyone, but it is a fun book nonetheless. - The Curious Incident of the Dog in the Night-Time
This book was all right. However, I found that the kid being portrayed was more of a savant that an autistic kid. Personally, I found that the behaviors ascribed to the kid were stereotypical-- they're what we think a autistic kid should be like. Nothing much to be missed for passing this book. - Life of Pi
I will not recommend this book to anyone. Too long for its own good. Half way through, I was just reading it for the sake of completing it. The ending was nothing spectacular either. Moreover, I find the sentences much too long-winded.
Books that I am in the process of completing:
- Pragmatic Version Control: Using Subversion (2nd Edition)
I have finished most of it already. Essentially, I have enough knowledge on how to use Subversion. I will probably use this book as a reference in the future. - Refactoring to Patterns
An interesting book on how to evolve your design to fit into well-known patterns. I am halfway through the book and there isn't anything much that I have not seen or read about before. However, the detailed steps on refactoring to patterns might come in handy some day. - The Seasoned Schemer
This is a great companion to the Little Schemer. It's in this book thatletrec, letandcall/ccare introduced. I would be more inclined to recommend this book had the authors made use of the normal nomenclature for Scheme and functional languages. Most of the terms are not mentioned making it harder to search for more information on the topic on Google since you do not have the proper term to refer to it.
I think I could have consumed more books had that piqued my interest (I am being very optimistic here) but was not able to do so because it is rather hard to procure the latest books from book stores here. In fact, there has been a dearth of decent book stores and most have been relegated to only selling school textbooks and reference materials. Seems like most Malaysians do not find reading to be a enjoyable hobby.
What's a Ph.D in CS?
Stevey's Blog Rants: Wizard School:
"You hire a Ph.D., it's hit-or-miss. Some of them are brilliant. But then some subset of virtually every educated group is brilliant. The problem is that the notion of a Ph.D. has gradually been watered down for the last century. It used to mean something to be a Doctor of Philosophy: it meant you had materially advanced your discipline for everyone. Von Neumann, Nash, Turing -- people like that, with world-changing dissertations, they just don't happen that often anymore, at least not in CS. Well, they probably occur at the same frequency, but it's one in a thousand at best.
Instead, what usually happens is a bright young Ph.D.-to-be chooses a school based on expedience: finances, or location, or parental pressure. There might be a dozen or so advisors to choose from, and the department as a whole has only one or two really big, prestigious areas of focus, areas for which the school is known (and hence funded). So if a kid goes to a school that does a lot of X, chances are pretty damn good the kid's going to do her Ph.D. thesis in X. But it's probably specialized to death, and the kid will wind up working for years on some tiny slice of almost-nothing: little prototype mobile doodads that track forest monkeys or something. And the kid will lose faith, stop hoping their thesis will ever mean anything, and they'll go through the motions until their advisor pities them and lets them defend."
Go read the article. It's (mostly?) fictitious but it does incorporate some snippets of truth.
Blink
I just finished blink by Malcolm Gladwell. Gladwell maintains a column at the pretigious New Yorker of which I am an avid fan. I was actually interested in blink when it first came out a couple of months back but never got the time to purchase it. Anyway, I am glad that I did.
blink has a lot to offer. Gladwell has done a fantastic attempt at codifying the abstract. How would someone actually try to explain something as ethereal as intuition without sounding like a fortune teller? It is in this area that Gladwell's flair for writing really shines. He begins the book with an example of how some art connoisseurs could tell that a piece of art (a kourous, to be exact) was fake just by relying on their gut feeling. None of them were able to articulate why they have that gut feeling. In other words, most of them just could not put their finger on something. To them, that piece of art looked jarringly out of place. That intuition is what it means to think in the blink of an eye without actually thinking about it. And it comes from experience.
In fact, a couple of chapters through the book, Gladwell explains why sometimes it is important that you do not force yourself to deliberately articulate why you think something should be this way. Now, this goes against a lot against the principles we have been taught: do not say anything if you have nothing to back you up. However, in an experiment concerning the rating of fruit jams, participants' ratings of jams commensurate more with the experts' ratings when they were just asked to quickly rate the jams in quick succession. When the participants were asked to actually to justify their choices in words before giving a rank, their ratings were very different from the experts' choices.
Now, not everyone can actually describe why one type of jam is better than the next. It requires extensive yet precise terms that only a gourmet would possess. When an ordinary person like you or me is forced to describe food in words, we are not able to describe all the nuances in flavor clearly. As such, our description actually skews our intuition since we now think that description is more logical and thus must be paramount in our decision making. After all, we did spend an awful long time sitting there and coming up with logical descriptions of the jams.
This comes as a great shock to me. I have always believed that a good decision comes after some lengthy deliberation on my part. However, what Gladwell proposes is that in a situation where articulation is next to impossible, we should rely on our gut feeling. Of course, identifying that actual moment or scenario might be harder than we think. As a consolation for me, Gladwell's book does not seem to undermine the importance of actually making decisions. It is my pet peeve when someone is not able to make up their mind on simple decisions such as going out to catch a movie or going to eat dinner. But I digress...
blink uses real-life examples to illustrate the points that Gladwell makes. As usual, Gladwell has done some extensive research and interviews and even if you do not believe everything in blink about intuition and gut feeling, you could just finish the book for the sake of knowing some juicy new anecdotes which you can share with your colleagues.
All in all, blink is a fairly quick read; one which you can definitely finish in about half a day especially if you are traveling.