Monthly Archives: June 2010

Where the Unix philosophy breaks down

Unix philosophy says a program should do only one thing and do it well. Solve problems by sewing together a sequence of small, specialized programs. Doug McIlroy summarized the Unix philosophy as follows. This is the Unix philosophy: Write programs

Tagged with: ,
Posted in Computing

Getting women to smoke

In the United States, not many women smoked before 1920. Edward Bernays, Sigmund Freud’s nephew, changed that. Bernays’s proudest accomplishment was the creation of a nation of female tobacco addicts in the 1920s. … Bernays, who was well-connected in the

Posted in Uncategorized

Google Docs OCR

Google Docs now offers OCR (optical character recognition), but I’ve had little success getting  it to work. The link to upload files was flaky under Firefox 3.6.4. The underlined text that says “Select files to upload” is not clickable, but

Tagged with:
Posted in Uncategorized

Weekend miscellany

Design Keming From corporate design to start-up design Interior design and web design PowerShell New PowerShell books PowerShell in Visual Studio Python Embedding Python in LaTeX Python counterparts to C math functions Math New Math/Maths podcast Plus Magazine #55 genetics

Posted in Uncategorized

1,000th post

This is my 1,000th blog post since I started blogging two and a half years ago. Thank you for reading. Thank you for leaving comments. Thank you for helping other people discover the blog by linking to it, sharing articles,

Posted in Uncategorized

Write-only articles

I saw this on Twitter yesterday: About 200,000 academic journals are published in English. The average number of readers per article is 5. I don’t know where those numbers came from, but five readers per article sounds about right. When

Posted in Uncategorized

Translating blog posts

Once in a while someone will translate one of my blog posts. For example, here is a Chinese translation of Just in case versus just in time and here is a Spanish translation of Cosines and correlation. I’m honored that

Posted in Uncategorized

Weekend miscellany

History New York Times archives 1851–1922 Persistence After 15 years of practice Life The Laundromat in North Platte Computing A real Turing machine Foundations of Computer Science Mac vs. PC

Posted in Uncategorized

Porting Python to C#

When people start programming in Python, they often mention having to type less: no braces, no semicolons, fewer type declarations etc. The difference may be more obvious when you go in the other direction, moving from Python to another language.

Tagged with: , ,
Posted in Python, Software development

Cosines and correlation

Preview This post will explain a connection between probability and geometry. Standard deviations for independent random variables add according to the Pythagorean theorem. Standard deviations for correlated random variables add like the law of cosines. This is because correlation is

Tagged with: ,
Posted in Math, Statistics

Why computers have two zeros: +0 and -0

Here’s a strange detail of floating point arithmetic: computers have two versions of 0: positive zero and negative zero. Most of the time the distinction between +0 and -0 doesn’t matter, but once in a while signed versions of zero

Tagged with: ,
Posted in Math, Software development

Generating Poisson random values

The most direct way of generating random samples from a Poisson distribution is efficient for some parameters and inefficient for others. Wikipedia attributes the following algorithm to Donald Knuth: init: Let L ← exp(−λ), k ← 0 and p ←

Tagged with: ,
Posted in Math, Software development, Statistics

Now easier to read on mobile devices

I installed a plug-in that I hope makes the blog easier to read on mobile devices. So far I’ve heard it works well on the iPhone. As far as I can tell the plug-in doesn’t interfere with any desktop browsers.

Posted in Uncategorized

Weekend miscellany

Creativity We’re gonna need a bigger marker Science The human phenome project Computing Microsoft launches free Office web apps An oral history of Unix Introduction to numerical programming with C# Autism, Apple, iPhone, MacBook, and Life Education Higher education’s bubble

Posted in Uncategorized

Not for everyone

The expression “_____ isn’t for everyone” can sound snobbish. For example, if someone says that their favorite wine isn’t for everyone, are they really saying that not everyone has the refined taste that they do? Or if they say their

Tagged with: ,
Posted in Computing