" /> Always: February 2006 Archives

« January 2006 | Main | March 2006 »

February 23, 2006

Ordering Wine

Anyone that knows me should know my semi-facination with wine. I'll sadly admit a nice sized chunk of my income goes to the drink of the gods.

Wine drinking has its own culture and like with any cultured organization you have to know the rules to not look like an idiot in the eyes of everyone else. I surely made some silly mistakes in the early years of my wine education.

Now, in an attempt to educate everyone else I give you HOW TO ORDER WINE WITHOUT LOOKING LIKE AN ASSHOLE!. If you regularly lift a cork to your nose to smell the freshness of a wine and/or spin your wine like you're trying to start the whirlpool of all whirlpools then you have to read this piece.

Metadata Snafu

There was a story in the Washington Post this weekend that I thought was very interesting. It was about a hacker and the thousands of bots he controls and it is possible your computer could be one of them. I thought it was pretty brazen of him to even share his story with a global newspaper.

Then just a few days later we get this update from eWeek. Every digital camera these days is capturing tons of metadata that it associates with each image. I know that camera cell phones with a built-in GPS can tag its pictures with a geocoordinate. Obviously the Washington Post didn't use a camera phone, but how many high-end digital cameras have GPS now? I can't think of any other way to determine that this guy lives in Roland, Oklahoma based on the metadata in a picture other than it including a GPS coordinate.

February 11, 2006

Hello, World!

Every introductory programming book begins with a "Hello, World!" program, but this Louisana Tech site takes that concept to the extreme. Almost 200 different examples using 200 different languages.

Sites like this don't make me miss college. I can't believe I had a whole semester of Lisp and Prolog.

Lisp

(DEFUN HELLO-WORLD ()
                  (PRINT (LIST 'HELLO 'WORLD)))

Prolog

hello :-
printstring("HELLO WORLD!!!!").

printstring([]).
printstring([H|T]) :- put(H), printstring(T).