Friday, February 10, 2006

Notice: Site Has Moved

I've decided to move the site. All new posts will appear at the new location. Update your bookmarks and head on over!

Thursday, February 09, 2006

Knife Maintenance and Sharpening

This is an extremely detailed guide to sharpening your kitchen knives for optimal performance.
Knife sharpening is not difficult. It is not shrouded in mystery. With a little knowledge, a little geometry, a couple of tricks and some inexpensive tools, knife sharpening can be fairly easy and extremely rewarding. At the very least it’s a great skill for the toolbox. You’ll come away from this clinic with a better understanding of edges, steel and how to maintain your knives yourself. Or, if you decide to send them out, you’ll know how to make sure you’re getting what you want – and what you pay for.

Wednesday, February 08, 2006

Notpron - The Hardest Riddle available on the Internet

This is another web-based riddle, similar in concept to Python Challenge. But, this one doesn't require any programming. You will, however, need to be proficient at figuring out subtle clues, lateral thinking and searching for information on the web.

There are a total of 138 levels. Good luck!

Tuesday, February 07, 2006

Mind Hacks: music, wine, and will

Interesting article about a study from the University of Leicester.
You go to the supermarket and stop by some shelves offering French and German wine. You buy a bottle of French wine. After going through the checkout you are asked what made you choose that bottle of wine. You say something like "It was the right price", or "I liked the label". Did you notice the French music playing as you took it off the shelf? You probably did. Did it affect your choice of wine? No, you say, it didn't.

That's funny because on the days we play French music nearly 80% of people buying wine from those shelves choose French wine, and on the days we play German music the opposite happens

Babbage's Difference Engine built out of LEGO

Andrew Carol is building a LEGO Difference Engine that Charles Babbage designed in the 19th century but was never able to complete.

Before the day of computers and pocket calculators all mathematics was done by hand. Great effort was expended to compose trigonometric and logarithmic tables for navigation, scientific investigation, and engineering purposes.

In the mid-19th century, people began to design machines to automate this error prone process. Many machines of various designs were eventually built. The most famous of these machines is the Babbage Difference Engine.

Because of engineering issues as well as political and personal conflict the Babbage Difference engines construction had to wait until 1991 when the Science Museum in London decided to build the Babbage Difference Engine No.2 for an exhibit on the history of computers.

Babbage's design could evaluate 7th order polynomials to 31 digits of accuracy. I set out to build a working Difference Engine using LEGO parts which could compute 2nd or 3rd order polynomials to 3 or 4 digits.

Wednesday, February 01, 2006

Blue Light Makes People Alert at Night

An early study suggests exposure to blue light at night can help perk you up. Not much in the way of detail in the article on what the level of exposure was, or what the possible long-term effects might be.

"Light exposure to this system, particularly blue light, directly reduces sleepiness,” said Steven Lockley of the Brigham and Women's Hospital. “Subjects exposed to blue light were able to sustain a high level of alertness during the night when people usually feel most sleepy, and these results suggest that light may be a powerful countermeasure for the negative effects of fatigue for people who work at night."

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."

Thursday, December 29, 2005

How to make $1M in 4 months

This student has made almost a million dollars within four months by selling pixels on his homepage for $1 each!

Thinking Machine 4

This is a beautiful java applet that plays chess and displays its thought processes on the board.
The artwork is an artificial intelligence program, ready to play chess with the viewer. If the viewer confronts the program, the computer's thought process is sketched on screen as it plays. A map is created from the traces of literally thousands of possible futures as the program tries to decide its best move. Those traces become a key to the invisible lines of force in the game as well as a window into the spirit of a thinking machine.

Wednesday, December 28, 2005

xpy - Fix default threats on Windows XP

xpy is a useful utility that helps close some security holes in Windows XP by tweaking certain registry settings for you.
Small tool which disables the default threats of a Windows XP installation. Besides disabling Windows and some of its components to communicate with Microsoft servers, xpy improves privacy settings and your system's security.
Make sure you know what you are disabling or you may break some applications on your system.

Saturday, December 24, 2005

Seven Habits of Highly Effective Programmers

Nice article on good programming practices.
As a software engineer, you might want any number of things out of your job - a steady paycheck, the opportunity to work on interesting projects, a springboard to the next better job, or maybe you just like hanging out with other programmers. But by "effective", I mean the ability to complete projects in a timely manner with the expected quality. After working on dozens of software releases, I believe the following practices will bring you there, and while they may involve sticking your neck out, I'd like to think they will also advance your professional reputation, career longevity, and personal satisfaction.