Lisp is different

I love programming!

I’ve played with lots and lots of programming languages during the past 15 years (chronologically, BASIC -> Pascal -> C -> C++ -> Scheme -> Smalltalk -> Java -> Haskell -> Javascript -> PHP -> Python -> Ruby -> Lisp). Notice that I’ve used the term played. For me, programming is a very fun activity and I actually enjoy it…

As you know, I am a teacher. I teach Computer Science i.e. problem solving using modeling and programming. Unfortunately, I am not really satisfied with the currently fashionable Java language which is used a lot now for introductory programming courses. Java is a relatively good professional language but it should not be used for teaching problem solving and programming. Joel Spolsky has written a great article where he demolishes the concept of JavaSchools:

“But JavaSchools also fail to train the brains of kids to be adept, agile, and flexible enough to do good software design (and I don’t mean OO “design”, where you spend countless hours rewriting your code to rejiggle your object hierarchy, or you fret about faux “problems” like has-a vs. is-a). You need training to think of things at multiple levels of abstraction simultaneously, and that kind of thinking is exactly what you need to design great software architecture.”

Eric Raymond, in his famous article How To Become A Hacker, revealed that every programmer should learn Lisp because of “the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot.”

He recommends learning different types of languages because “they represent very different approaches to programming, and each will educate you in valuable ways.”

Paul Graham has written a convincing article on how to become a better than average programmer by using Lisp. He queries: “What’s so great about Lisp? And if Lisp is so great, why doesn’t everyone use it? These sound like rhetorical questions, but actually they have straightforward answers. Lisp is so great not because of some magic quality visible only to devotees, but because it is simply the most powerful language available. And the reason everyone doesn’t use it is that programming languages are not merely technologies, but habits of mind as well, and nothing changes slower.”

My wish for 2006 is that more and more of my students at the University of Mauritius discover the real joys of problem solving and programming using nice languages like Smalltalk, Ruby and, especially, Lisp.

Happy New Year to you!

Image courtesy of Lisperati

A Home Cinema in Mauritius (part 5)

This is the last part of my ramblings about setting up a home cinema system. Today, I’ll talk about the necessity of subscribing to Satellite TV.

The local TV channels are state-owned and state-controlled in Mauritius. Therefore either (1) they are crap due to lack of creativity and/or guts or (2) they are politically-biased. You choose…

Basically, I don’t watch DVD all the time (I only watch a film, say, 1-2 times a week because of the kids. So, I personally need Satellite TV as I can’t stand the local channels. I can also add that the picture quality and the sound is better than average (but very far from what you have on a DVD).

In Mauritius, there are three competitors in this field, CanalSat, Parabole Maurice (of TPS fame) and DSTV.

I don’t know much about DSTV but I’ve been a subscriber of CanalSat and Parabole Maurice for more than one year now. I’ve just decided to cancel my subscription to CanalSat for two reasons (1) I can’t afford 2 satellite subscriptions and (2) I like Parabole Maurice more because of its dedicated English football channels.

I have many sport channels (among which Supersport 3, Eurosport, TPS Foot and TPS Star Direct) where all English football matches are shown.

I also have specific channels for cinema (in stereo only), entertainment, education, kids and news.

I pay Rs. 1334 monthly for Parabole Maurice. It’s expensive, I know…

A Home Cinema in Mauritius (part 4)

20040322-dvd727.jpg

Today, I’ll briefly talk about my Philips DVD-727K DVD Player.

A good DVD player is essential if you want to have a nice (and realistic enough) home cinema. The Philips I have is cheap (I bought mine at Rs. 3000) and can read many many types of media (CD, CD-R, CD-RW, DVD, DVD-R, DVD-RW, DVD+R and DVD+RW). This is very important for me as I use the player to:

  • listen to Audio CD which I have bought over the years,
  • listen to Audio CD-R/RW that I’ve burnt from tracks purchased online,
  • watch DVD that I rent most of the time from Flamingo in Quatre-Bornes,
  • watch DVD-R and DVD+R that I’ve authored myself from video shots of Kyan, Anya and Christina.

I don’t care about MP3 (even though the player plays this format properly) or DivX (even though my brother has loads and loads of movies in this format).

Now, as far as connectivity is concerned, nothing could be more simple. I have only two cables (three if you count AC power) coming out of the DVD player. One composite video cable and one coaxial digital audio cable both going directly to the corresponding inputs of my home cinema amplifier.

Take care not to fiddle too much with the settings (i.e. picture “enhancements” or whatever). A DVD is good enough ; you don’t need to “enhance” it! Just don’t forget to calibrate your TV properly.

And I am perfectly satisfied :-)

A Home Cinema in Mauritius (part 3)

I’ve already talked about my home cinema amplifier and my set of speakers. Today I’ll spend some time discussing about the use of a normal TV set (instead of some expensive projector and/or plasma display) in a home cinema.

My feeling is that good audio is crucial if you want to have a real home cinema experience. In a way, it’s more important to have good audio than to have good video. The reason being that, according to me, our brain can more easily compensate for missing information in the video than in the audio. A glitch in a video transmission (say some missing frames or some MPEG artifact) is largely unnoticeable whereas a glitch in audio (a click or white noise) is immediately perceived.

Personally I use an ordinary (i.e. non-widescreen) 29″ Samsung CRT TV set (model CS-761BGV if you really want to know) which has a relatively flat screen. I bought it second-hand from my uncle at Rs 8500 about one year ago. Unfortunately, the TV does not have a S-Video input and therefore I rely on a composite video signal!!!.

Let me tell you that I’m pretty much satisfied with the image quality. Of course, the TV has been callibrated using the same THX Optimizer software used for audio callibration.

Take your time and set the contrast, brightness and colour correctly. Most TV sets have abysimal standard settings more likely to make your eyes bleed than to render pictures accurately.

As I watch widescreen movies most of the time, it would have been better to have a widescreen (i.e. 16/9) TV. Actually, my Samsung TV has a 16/9 mode (normally used when watching an anamorphic DVD) but I do not often use it because (1) there is a distracting white line at the top of the screen when using this mode and (2) from a distance it’s difficult to see any difference between an anamorphic and a non-anamorphic image. So why bother?

I’ll perhaps buy a LCD or plasma display in the future. But I am not too in a hurry. My lowly 29″ CRT TV is perfectly adequate for the time being :-)

A Home Cinema in Mauritius (part 2)

As promised, today I’ll write about the speakers that I have. Please read part one of this article before proceeding.

I bought a set of Pioneer home cinema speakers at Rs 5000 when Le Continent did a massive sale two years ago:

  • 2 x H-210V tall bookshelf front speakers
  • 1 x S-CR30 center speaker
  • 2 x small but adequate rear speakers

As you see, I do not have a subwoofer but, to be frank, I’m satisfied with the level of bass of the H-210V. As far as connections are concerned, the speakers are linked to my amplifier using normal electric copper wires. I do not use any fancy cable.

The speakers must be properly positionned:

As read in Home Cinema Choice, “the front pair should be placed on either side of the TV, about 6ft apart, and towed in to the centre slightly. [...] speakers can be placed to each side at the rear [...] above head height [...]. The centre channel should be close to the screen.”

The next step is to callibrate the speakers. The easiest way to do that is to buy (or rent or borrow or steal) a THX certified DVD and to run the THX Optimizer.

Choose the Audio tests and follow the directions very precisely. Pay particular attention to the phase of the speakers. Take your time.

To be honest, I like the sound of the Pioneers speakers a lot when watching movies. But, for some reason, they sound crap (there is a definite problem with high frequencies) when listening to CD. As a consequence, I use a pair of Sony SS-H10 speakers for such purposes. The sound quality is much better.

This pair of speakers come from my old Sony FH-B500 mini-hifi system which is now dead and burried. I bought it in 1992 when I started university in Reunion Island.

Remember: Placement and Callibration are fundamental!

Tomorrow I’ll talk of my Samsung 29″ TV.