Tuesday, January 31, 2006

Why Fat Tastes So Good - The Sixth Taste?

Mmmm...fat.

Nutritionist Philippe Besnard of the University of Burgundy in France has found that the 10,000 taste buds on the tongue seem to include a type that specifically responds to the flavor of fat. If confirmed, it would be only the sixth known type, joining those that sense sweet, salty, sour, bitter, and savory (also known as umami).

Saturday, January 28, 2006

The DooM Remix Project | The Dark Side of Phobos

This incredible album is a collection of mp3 remixes based on the soundtrack for the original DooM game (not the movie!). Hangarmageddon, Industrial Strength and Mystery Meat are some of my favorites. But Darkness Dawning just blows me away. Wicked stuff.

Real photos that look like miniature sets

Photographer Olivo Barbieri takes real photos, but uses a tilt-shift lens to make them look like they were taken using miniature scale models. The effect is totally surreal. I love it!

Wednesday, January 25, 2006

The Monty Hall Problem

I came across this oddity while reading The Curious Incident of the Dog in the Night-time. From Wikipedia, the problem can be stated as follows:
Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice?
Common sense might tell you that because there are two unopened doors left, you have a 50-50 chance of picking the one with the car so it doesn't matter if you switch doors. But in fact if you always switch doors, you will win a car 2 out of 3 times.

To understand this you can look at the possible outcomes:


You originally picked a door with a goatYou originally picked a door with a goatYou originally picked a door with a car
StaySwitchStaySwitchStaySwitch
You win a goatYou win a carYou win a goatYou win a carYou win a carYou win a goat

If you stay, you will only have a 1 in 3 chance of winning a car. But if you switch doors, you have a 2 in 3 chance.

Tuesday, January 24, 2006

Project Euler

Here is another programming challenge site. This one is specifically geared towards mathematical problems. You can use any programming language you like.

The problems are rated according to how many people have already solved a particular problem. The more people that have solved a problem, the less points that problem is worth. The scores are calculated dynamically, so your overall score can change depending on what the problems are currently worth.

I'm currently using Ruby for these problems. I still prefer Python, but Ruby does have some nice features.

Python Challenge

Python Challenge is "the first programming riddle on the net". There are currently 33 levels, and for each level you need to figure out the clues that lead you to the next level. Usually, you need to do a bit of data crunching to get the answer.

You can use whatever programming language you like, but some levels are easier with Python, or with an available library you can download for Python.

If you get stuck there is a hints forum that can help steer you in the right direction. Once you solve each level you can view the solutions page for that level and see some of the clever solutions that other solvers have come up with.

This is a great way to hone your Python skills and pick up some new tricks along the way. I am currently stuck on level 20.

Friday, January 20, 2006

Graphical Passwords

This is an interesting new take on user authentication, and works something like this:
  1. You create a graphical password by choosing a small subset of the pass-icons in the system.
  2. The authentication screen shows a random grid of icons, with at least 3 of them being ones that are part of your password.
  3. You need to find at least 3 of your chosen icons, and click inside the imaginary area (the convex hull) that is formed with your icons as the vertices.
  4. The icons are shuffled and you repeat the process a preset number of times to minimize the chances of lucky guesses. If you have enough correct clicks you are authenticated.
Quite a novel concept. It could be useful in some places, but will probably be too cumbersome to use for all of your passwords.

Thursday, January 19, 2006

Classic Commodore 64 games online!

This site hosts a huge collection of classic Commodore 64 games that you can play directly through your browser. The games require Java to run, and some games work better than others.

Sunday, January 15, 2006

Software Engineering, Not Computer Science

Steve McConnell (author of the classic book on software construction, Code Complete) makes some great points in this article on why programmers are not scientists. He touches on many of the problems plaguing the software industry and their causes.

When interviewing candidates for programming jobs, one of my favorite interview questions is, "How would you describe your approach to software development?" I give them examples such as carpenter, fire fighter, architect, artist, author, explorer, scientist, and archeologist, and I invite them to come up with their own answers. Some candidates try to second-guess what I want to hear; they usually tell me they see themselves as "scientists." Hot-shot coders tell me they see themselves as commandos or swat-team members. My favorite answer came from a candidate who said, "During software design, I'm an architect. When I'm designing the user interface, I'm an artist. During construction, I'm a craftsman. And during unit testing, I'm one mean son of a bitch!"

This article was published in McConnell's book Professional Software Development.

Saturday, January 14, 2006

JavaScript tracing with jsTracer

jsTracer looks like a useful tool for JavaScript developers. It allows you to easily add tracing code to any JavaScript page, and then display the traces in real-time alongside the rendered page. To see it in action go to the site and try the live demo right on the front page.

Thursday, January 12, 2006

Thunderbird 1.5

New release of Thunderbird email client available. Many new features, including automatic updates, and a nicer RSS feed interface.

Tuesday, January 10, 2006

50 Best Firefox Extensions for Power Surfing

This page lists some of the best extensions currently available for Firefox.
There are hundreds of firefox extensions on the web. Which ones do you use? Here is my attempt to collect the 50 best and popular firefox extensions which make your browsing, downloading and navigation in Firefox as easy as possible, while harnessing the full power and features of Firefox.

Monday, January 09, 2006

How to prolong lithium-based batteries

Some tips on how to get the most out of your portable devices. The rest of the site also contains tons of information on batteries in general.
A lithium-ion battery provides 300-500 discharge/charge cycles. The battery prefers a partial rather than a full discharge. Frequent full discharges should be avoided when possible. Instead, charge the battery more often or use a larger battery. There is no concern of memory when applying unscheduled charges.

Thursday, January 05, 2006

High-Integrity Software

Saw this on Slashdot:
Coryoth writes "When you're writing software for an air traffic control system, military avionics software, or an authentication system for the NSA, the delivered code can't afford to have bugs. Praxis High Integrity Systems, who were the feature of a recent IEEE article, write exactly that kind of software. In "Correctness by Construction: A Manifesto for High-Integrity Software" developers from Praxis discuss their development method, explaining how they manage such a low defect rate, and how they can still maintain very high developer productivity rates using a more agile development method than the rigid processes usually associated with high-integrity software development."

Tuesday, January 03, 2006

Best-ever Freeware Utilities

This is an excellent resource page that has links and short reviews to some really useful, free programs.
There are a lot of great freeware products out there. Many are as good or even better than their commercial alternatives. This list features my personal pick of the "best of the best."