Archive for July, 2006
Friday, July 28th, 2006
Damn Interesting has an entertaining article on how a girl in high-school proved that you can fold a piece of paper in half twelve times. She did it by calculating exactly how much paper she would need, and then tracking down an industrial-sized roll of toilet paper that met the requirements.
I have heard it stated as fact that one cannot fold a paper in half more than eight times, because the doubled and re-doubled paper quickly becomes too thick. This reasoning had always seemed pretty odd to me – what was this magical property of hardened tree pulp that caused it to stop folding after so long? Thanks to a student named Britney Gallivan, it turns out that this impossibility is just as mythical as not being able to lick your elbows. By developing her own formulae for paper folding, she calculated how much paper one needs to achieve any number of folds (and herself managed to break world records by folding a piece of paper twelve times).
Posted in math | 1 Comment »
Wednesday, July 26th, 2006
This article presents a significant optimization for Conway’s Game of Life.
Making a slow program fast can lead to both joy and frustration. Frequently, the best you can do is a low-level trick to double or maybe quadruple the speed of a program; for instance, many readers may have implemented John Conway’s “Game of Life” using bit-level operations for a significant speedup. But sometimes a whole new approach, combining just a few ideas, yields amazing improvements. A simple algorithm called “HashLife,” invented by William Gosper (”Exploiting Regularities in Large Cellular Spaces,” Physica 10D, 1984), combines quadtrees and memoization to yield astronomical speedup to the Game of Life. In this article, I evolve the simplest Life implementation into this algorithm, explain how it works, and run some universes for trillions of generations as they grow to billions of cells.
Posted in games, math, programming | No Comments »
Wednesday, July 26th, 2006
Apparently, the title is a valid English sentence.
Here’s the story. First, when I was a grad student in philosophy at Indiana a long time ago, John Tienson gave us the example of:
Dogs dogs dog dog dogs
whose syntax is the same as:
Mice cats chase eat cheese.
We found the -s morpheme unaesthetic, so we came up with
Buffalo buffalo buffalo buffalo buffalo
Posted in language, odd | No Comments »
Monday, July 24th, 2006
This is one of the coolest 3D animations I’ve seen.
From the first Animusic DVD. Pipe Dream has been voted one of the 50 greatest animation projects ever (by 3D World magazine).
A group of percussion instruments perform music by way of metal balls that fly out from pipes.
Posted in audio, graphics | No Comments »
Monday, July 24th, 2006
The author of this article sent out some questions to a number of notable programmers, and has posted the responses that were sent back.
Starring:
Linus Torvalds - The Linux kernel author
Dave Thomas - Author of the „Pragmmatic Programmerâ€, „Programming Ruby†and other great books about programming. One can read his mainly programming-related thoughts here.
David Heinemeier Hansson - Author of the Rails Framework - the new hot web development framework. He has a weblog here.
Steve Yegge - Proably the least known from guys here, but also made one of the most interestings answers, has a popular weblog about programming. He is also the author of a game called „Wyvernâ€.
Peter Norvig - Research Director at Google, a well known Lisper, author of famous (in some circles at least) books about AI. See his homepage.
Guido Van Rossum - The Python language creator
James Gosling - The Java language creator
Tim Bray - One of the XML and Atom specifications author and a blogger too.
Posted in programming | No Comments »
Thursday, July 20th, 2006
Coding Horror has posted a howto on reducing the size of Windows XP virtual machines.
Now that Virtual PC is finally free, I’ve become obsessed with producing the smallest possible Windows XP Virtual PC image. It’s quite a challenge, because a default XP install can eat up well over a gigabyte. Once you factor in the swapfile and other overhead, you’re generally talking about around 2-4 gigabytes for relatively simple configurations.
My best result so far, however, is a 758 megabyte virtual machine image of a clean, fully patched Windows XP install. Not bad. And here’s how I did it.
It isn’t mentioned in the article, but it may also be worth looking into nLite to create a stripped down Windows XP installation disc before you install it into the virtual machine to reduce the initial size.
Posted in apps, computers | No Comments »
Thursday, July 20th, 2006
Incredible image of the sun from Astronomy Picture of the Day.
Posted in photography, science/nature | No Comments »
Wednesday, July 19th, 2006
An academic paper has been generating quite a bit of discussion lately. It proposes an aptitude test to determine if you can be taught to program, based on the assumption that not everyone has an ability to learn and understand formal systems.
A bunch of people have linked to this academic paper, which proposes a way to seperate programming sheep from non-programming goats in computer science classes– long before the students have ever touched a program or a programming language:
All teachers of programming find that their results display a ‘double hump’. It is as if there are two populations: those who can [program], and those who cannot [program], each with its own independent bell curve. Almost all research into programming teaching and learning have concentrated on teaching: change the language, change the application area, use an IDE and work on motivation. None of it works, and the double hump persists. We have a test which picks out the population that can program, before the course begins. We can pick apart the double hump. You probably don’t believe this, but you will after you hear the talk. We don’t know exactly how/why it works, but we have some good theories.
Posted in programming | No Comments »
Wednesday, July 19th, 2006
An essay on why being good at programming competitions doesn’t make you a good programmer.
Almost all programming competitions have the same format. A number of relatively short problems are posed to the contestants. They have to come up with algorithms and working code that implements those algorithms. The test of the resulting code is whether it works at all, and if so, how fast it is. There is a time limit which is generally quite short. And that’s all.
Update (2006-07-19 11:31): fixed missing link. Oops.
Posted in programming | No Comments »
Wednesday, July 19th, 2006
This is the first in a great series of articles on HDR (High Dynamic Range) photography techniques.
Today’s digital cameras match or slightly exceed the performance of silver halide film. Computer graphics has achieved the goal of photorealism. Now the goal is to go beyond simply matching paper and silver halide - to create display technologies which can present any visual stimuli our eyes are capable of seeing.
One area of rapid development is in dynamic range. A new crop of technologies using High Dynamic Range imaging (HDR or HDRI) aim to extend the dynamic range of digital imaging technologies way beyond traditional media.
Posted in photography | 1 Comment »
Wednesday, July 19th, 2006
Printers, minibars, and cell-phone plans…what are you getting yourself into?
The printer. It’s one of the most common peripherals in the computer age and so cheap — at first blush, anyway — that stores often give them away when you buy a PC. Yet how many people realize, when they walk out of CompUSA, a nice $99 inkjet model tucked under their arm, that it’s likely they’ve just committed themselves to spending nearly $1,500 on ink cartridges over the next four years? (In fact, only about 3 percent realize it, according to Stanford economist Robert Hall.)
Posted in economics | No Comments »
Wednesday, July 19th, 2006
Well this has been around for a while but somebody just posted it to reddit. If you haven’t had the pleasure of seeing what truly terrible writing is like…enjoy!
The weather beaten trail wound ahead into the dust racked climes of the baren land which dominates large portions of the Norgolian empire. Age worn hoof prints smothered by the sifting sands of time shone dully against the dust splattered crust of earth. The tireless sun cast its parching rays of incandescense from overhead, half way through its daily revolution. Small rodents scampered about, occupying themselves in the daily accomplishments of their dismal lives. Dust sprayed over three heaving mounts in blinding clouds, while they bore the burdonsome cargoes of their struggling overseers.
“Prepare to embrace your creators in the stygian haunts of hell, barbarian”, gasped the first soldier.
“Only after you have kissed the fleeting stead of death, wretch!” returned Grignr.
Posted in funny, scifi | No Comments »
Wednesday, July 19th, 2006
Some unfortunate choices for web addresses.
Posted in funny, web | No Comments »
Wednesday, July 12th, 2006
I found this great little overview on defending your ssh server from script kiddies. This should be required reading for anyone running a ssh server.
During 2005, bute force attacks on the ssh (secure shell) service became pretty popular. These attacks are based on a rather simple idea: use an automated program for trying, one after the other, many combinations of standard or frequently used account names and likewise frequently used password (e.g.: guest/guest).
Defence methods
There are a number of methods to defend against such brute force attacks. The following list is intended to give an overview of them, and briefly mention their respective advantages and disadvantages.
- Strong passwords
- RSA authentication
- Using ‘iptables’ to block the attack
- Using the sshd log to block attacks
- Using tcp_wrappers to block attacks
Posted in security | No Comments »
Monday, July 3rd, 2006
Here’s a nice, clear flash tutorial on how you might visualize from 0 all the way up to 10 dimensions. However, the tutorial concentrates on temporal dimensions rather than spatial dimensions.
In string theory, physicists tell us that the subatomic particles that make up our universe are created within ten spatial dimensions (plus an eleventh dimension of “time”) by the vibrations of exquisitely small “superstrings”. The average person has barely gotten used to the idea of there being four dimensions: how can we possibly imagine the tenth?
Posted in science/nature | No Comments »
Monday, July 3rd, 2006
This is an impressive video of a guitar solo with an interesting playing style.
Posted in audio | No Comments »
Monday, July 3rd, 2006
Just what is going on here? It’s a mystery why this illusion persists long after the afterimage is gone.
It is called the McCollough Effect, and was originally described by Celeste McCollough in a paper in Science in 1965. It has been the focus of on-going investigation ever since.
The effect typically lasts for hours, or even overnight. The duration can be changed by the consumption of coffee and other psychoactive drugs. One paper found that it is stronger in extroverts than introverts, and might be a reliable test for extroversion.
The precise cause of the effect is unknown, and currently under investigation. It is not a simple case of fatigued neurons: there are neurotransmitters involved and appear to be responsible for the long-lasting nature of the effect.
Posted in odd, science/nature | No Comments »
Saturday, July 1st, 2006
If you’ve ever been frustrated because you thought standard message boxes didn’t allow you to select the text within it and copy it to the clipboard, secretGeek has a cool little tip for you. You can simply hit Ctrl-C with the focus on the message box and all the text will be sent to the clipboard. Useful when you need to take down a detailed error message, without resorting to a screenshot. This should work for most applications that use the standard message box control.
Posted in computers | No Comments »
Saturday, July 1st, 2006
Ted Neward has written a thought-provoking article on the Object-Relational mapping problem.
No armed conflict in US history haunts the American military more than Vietnam. So many divergent elements coalesced to create the most decisive turning point in modern American history that it defies any layman’s attempt to tease them apart. And yet, the story of Vietnam is fundamentally a simple one: The United States began a military project with simple yet unclear and conflicting goals, and quickly became enmeshed in a quagmire that not only brought down two governments (one legally, one through force of arms), but also deeply scarred American military doctrine for the next four decades (at least).
Although it may seem trite to say it, Object/Relational Mapping is the Vietnam of Computer Science. It represents a quagmire which starts well, gets more complicated as time passes, and before long entraps its users in a commitment that has no clear demarcation point, no clear win conditions, and no clear exit strategy.
Posted in programming | No Comments »