Epigrams in Programming — all from the remarkable Alan Perlis. By the time I learned that he was responsible for such gems as “Syntactic sugar causes cancer of the semicolon”, “A language that doesn’t affect the way you think about programming, is not worth knowing”, and “Around computers it is difficult to find the correct unit of time to measure progress. Some cathedrals took a century to complete. Can you imagine the grandeur and scope of a program that would take as long?”, he had died and I never had a chance to meet him. “The best book on programming for the layman is “Alice in Wonderland”; but that’s because it’s the best book on anything for the layman.”. (via Hacker News)
Tricorder for Android — app that shows all the info from the sensors: local magnetic field, RF, acceleration, sound, etc. They really need a designer to make this look more like Star Trek than an Apple ][c program. (via attercop on Delicious)
Will Wall Street Require Python — with Release 33-9117, the SEC is considering substitution of Python or another programming language for legal English as a basis for some of its regulations. Reminds me of Charlie Stross’s “Accelerando” where companies bylaws are written in Python and largely autonomous.
Hatetris — game of Tetris that deliberately gives you the most difficult pieces. I love inversions like this, which present their own algorithmic challenges distinct from the original’s.
Introduction to Computational Advertising — slides to a Stanford class on a new “scientific discipline” whose central challenge is to find the best ad to present to a user engaged in a given context, such as querying a search engine (“sponsored search”), reading a web page (“content match”), watching a movie, and IM-ing. “Scientific discipline” makes me gag. You could devise algorithms, measure performance, and write papers about the best way to put carrots up your bottom or the best way to pick pockets, but those still aren’t complex enough activities to be trumpeted as “new scientific disciplines”. (Although I do look forward to reading Stanford’s CBUM126, “Introduction to Carrot Stuffing” lecture notes online). (via Greg Linden)
Timing Attack in Google KeyCzar Library — if you compare strings in the naive way, attackers can figure out whether the first bytes they gave you are correct based on the time the comparison takes. When they get the first bytes correct, then they can work on the next, and so on. This is a common mode of information leakage, and reminds me of my revelation when I began to edit security books: “this stuff is hard”. New programmers are not taught to think like attackers, and the only trope of secure programming that they’re taught is “avoid buffer overflows”. (via Simon Willison)
Climate Wizard — explore historical temperature data as well as the various climate models and see what their predictions look like across the United States. (via Sciblogs)
Contextual Clothing for Naked Transparency (Jon Udell) — notable for this: The Net can be an engine for context assembly, a wonderful phrase I picked up years ago from Jack Ozzie. We used to think that the challenge of social software was to amass as many users as quickly as possible, but the far harder problem to solve is how to help those people contribute to something positive. YouTube comments shows that simply having a lot of users doesn’t make something virtuous.
How to Run a Meeting Like Google (BusinessWeek) — the temptation is to mock things like “even five minute meetings must have an agenda”, but my sympathy with Marissa Mayer is high. The more I try to cram into a work day, the more I have to be able to justify every part of it. If you can’t tell me why you want to see me for five minutes, then I probably have better things to be doing. There may be false culls (missing something important because the “process’ is too high) but I bet these are far outweighed by the missed opportunities if time isn’t so structured.
Computer Science Education Week — December 5-11, 2010, recognizes that computing: Touches everyone’s daily lives and plays a critical role in society; Drives innovation and economic growth; Provides rewarding job opportunities; Prepares students with the knowledge and skills they need for the 21st century.” Worthy, but there’s no mention of the fact that it’s FUN. The brilliant people in this field love what they do. They’re not brilliant 9-5, then heading home to scan the Jobs Wanted to see whether they could earn more as dumptruck drivers in Uranium mines in Australia. CS isn’t for everyone, but it won’t be for anyone unless we help them find the bits they find fun.
Installing EtherPad — step-by-step instructions for installing EtherPad, the open-source real-time text editor recently acquired by Google.
Victorian Infographics — animals, time, and space from the Victorians. It’s beautiful, it’s meaningful, it must be infoengravings.
Historic Documents in Computer Science — my eye was caught by John Backus’s first FORTRAN manual, Niklaus Wirth’s original Pascal paper, the BCPL reference manual (the C programming language got its name from the C in BCPL), and Eckert and Mauchly’s ENIAC patent. (via Hacker News)
The growing role of software architects: “Architecture has become much more interesting now because it’s become more encompassing," says Neal Ford, software architect and meme wrangler at ThoughtWorks.