Oct 142011

I’ve been trying to do some cool time lapses, and learning a lot as I go (as well as purchasing even more equipment). Eventually, I may reach the level of a photographic hero of mine, Dustin Farrell:

Landscapes: Volume Two from Dustin Farrell on Vimeo.


…or maybe not. One can hope.

I’m still learning the basics right now, but recently, I finally achieved a nice flicker-less video shot over a large change in lighting, and with a battery change in between. It’s a little less than interesting, but you can see the result below:

Making time lapses is one of those areas where certain equipment does matter a lot. For example, I just invested in a heavy-duty Manfrotto tripod with a heavy Benro ball head after finding that my old Proline tripod, though stable in most situations, just wouldn’t cut it when you wanted the frame to be identical over many hours through windy conditions. A 32GB or Eye-Fi card was also essential, especially if you wanted to shoot in RAW to do some work in post. And I’ve been meaning to learn some basic electronics to make a large battery pack that would allow a few parallel packs, and a selector, so you can change out a battery pack without ever stopping the power delivery, and also, without ever buying another overpriced Canon battery again.

A recent writeup of a time lapse project of the whole of Burning Man was interesting, and gave me lots of tips. The guide is here, and the final video is below:


Aug 242011

I heard this song all over Peru, and initially wondered if Peruvians were generally big fans of Simon & Garfunkel. Then I remembered that the name of the song was El Condor Pasa, which was Spanish, and that the condor lived in the Andes, and was a prominent symbol of the Incans. It turns out that El Condor Pasa is was a Peruvian song from 1913, based on Andean folk songs.

Aug 202011

Someone recently contacted me to ask the following question: What is the probability that two students, each taking the same multiple choice exam, with q possible answers per question, will get k or more identical answers in a row?

I initially imagined this to be straightforward. It’s just a sequence of n Bernoulli trials with p=1/q, with k successes, right? Probably just a few terms clumped with a binomial distribution? Oh, boy was I wrong. Go try it out.

MathWorld has an especially interesting solution: http://mathworld.wolfram.com/Run.html

Aug 042011

We live on a former Superfund site, so when I started planting in the garden a few months back, I was worried that there would still be some residual contamination from heavy metals and other deadly chemicals. I sent in a soil sample to the UMass Extension Service for testing, and just got back the results.

The good news is that the dangerous stuff are all pretty low. Trace of lead (30ppm), very low cadmium (0.1ppm), etc.

The interesting parts were actually the nutrients and soil composition. The pH turned out to be 7.5, with nitrates at just 3ppm, and extremely high calcium levels (20187ppm). The soil is buffered at a pH of 7.4, probably because of the high concentration of calcium. What’s also interesting is that the phosphorus levels are very high as well (45 ppm, where 20 is usually considered high). My guess is that the previous residents of this house used lime to fertilize, then applied lots of P-heavy fertilizer when the plants were still doing poorly. Since the calcium from lime ties up the phosphorus, a high P concentration was necessary for the plants to get any. Disturbingly, sulfur levels are just as high, at 356ppm. It’s as if previous residents saw others using sulfur and lime and 10-30-10 fertilizer, and decided that applying all three all the time was the way to go, without knowing what each component did.

This is bothersome, since I want a target pH of 6.6 or so, and how I’ve always lowered the pH has been to add sulfur, or to use an acidic mulch. But is it safe to add more sulfur? With all that calcium, it would seem like I need a lot of it to overcome the buffering at 7.4.

I’m also guessing that the low nitrates is normal; I haven’t fertilized in 3 months, and nitrates are pretty mobile, but should I add more nitrogen, in the form of dried blood or something similar? Because 3 is very low.

Full results:

soil pH: 7.5
Buffered pH: 7.4

Organic Matter: 6.9%
Soil Weight: 5.1g/5cc
Cation Exchange Capacity: 103.3 Meq/100g
% Base saturation: K=1%, Mg=3.3%, Ca=95.9%

Nitrogen (NO3-N): 3 ppm
P: 45 ppm
K: 373 ppm
Ca: 20187 ppm
Mg: 414 ppm

Al: 12 ppm
B: 1.3 ppm
Mn: 11.3 ppm
Zn: 3.7 ppm
Cu: 0.0 ppm
Fe: 0.6 ppm
S: 356 ppm

Extracted Pb: 0.0 ppm
Total Pb: 30 ppm
Cd: 0.1 ppm
Ni: 0.2 ppm
Cr: 0.11 ppm


Aug 042011

I was doing my daily blog rundown, and this video caught my eye. Go watch it. It’s pretty cool.

Of course, a recorded demo doesn’t say that much about the actual technology accomplishments, so I went ahead to check out the lab’s web site. Their technology is named SOINN–Self-Organizing Incremental Neural Network, and their page is here. It seems that SOINN is essentially an online variation of the Self-Organizing Map (SOM), using pretty standard Hebbian learning, and also something called Growing Neural Gas (GNG), which I haven’t heard of before. The SOINN algorithm itself is really interesting, but doesn’t seem as revolutionary as HuffPo and Engadget are making it out to be. It’s another online unsupervised learning algorithm.

I’m more interested to see how the real-world knowledge was stored in the robot in the demo. They never mentioned how the robot knew it was handling a cup, and how a cup and water were supposed to be manipulated. Did it undergo reinforcement learning to learn the laws of physics and reality?

Aug 022011

I hear debates about the speed of languages all the time. Most people who argue for low-level compiled languages cite that anything can be faster with optimized C. True, but if we put in around the same effort in coding, higher level languages can offer better optimization. Java doesn’t have direct pointer access, and so can offer better compiler and runtime optimization than compiled C/++ in some cases, since the JVM has more control over your memory usage.

This, though, takes the cake: http://morepypy.blogspot.com/2011/08/pypy-is-faster-than-c-again-string.html


In general Python, as a dynamically typed language, and PyPy is one of the fastest JIT compilers for Python out there. Even so, Python is generally much slower than an equivalent program in C. However, this article shows that in certain situations, compiled Python can beat C exactly because the programmer is relinquishing some control to the compiler/interpreter.

(via Hacker News)

Jul 232011

Little Dragon’s new album is up on NPR’s First Listen: http://www.npr.org/2011/07/18/137855136/first-listen-little-dragon-ritual-union#playlist

This album brims with lush, sharp, crackly electronics, reminiscent of Phantogram, and is a shift away from the more mellow synth dreams in their previous material. Yukimi Nagano’s voice has also matured, daring to experiment with a variety of sounds throughout the album. It’s a treat.