joey's blog

Follow me on Google+

Follow me on Google+.

Radio Tomographic Imaging Improvements - Nov 2011

Yang Zhao, Neal Patwari and I just got done testing a totally new system for radio tomographic imaging. It uses new radio node hardware that we manufactured ourselves, a new imaging algorithm, and new "teepee" stands for quick and easy demos. The new images are bright and clear, the hardware/firmware is fast/stable, and the new stands set up in a fraction of the time. We're pretty psyched because every element of the system has been improved.

By the way, I am using Google+ more and more these days. If you're interested in following me, here's the link: https://plus.google.com/101773630805931921626/posts

Book review - "e: The Story of a Number"

e the story of a numberHave you ever wondered where the number “e” comes from? While I was looking at geek books at the store, one called "e: The Story of A Number” by Eli Manor caught my eye. I bought it, read it, and really enjoyed it.

The book starts with the discovery of the logarithm by John Napier as a tool to calculate complex multiplications. I learned that Napier spent 20 years of his life doing extremely tedious work: compiling log tables so that computations could be done much easier. 20 years! His logs were a huge revolution in math in the 1500s, now considered to be one of the most important mathematical discoveries ever. As the book progresses, the relationship of the log function to the number e is revealed, along with many insightful discussions about other areas of math.

We often take for granted the math concepts we use without really asking ourselves where they come from. For example, when I learned how to take the derivative of a polynomial, I never bothered to learn why we were “bringing down” then decreasing the exponent. I've used the formula “exp(ix) = cos(x) + i sin(x)” many times, but I never really understood why the formula was true. Why is the derivative of exp{x} = exp{x}? While reading this book, I said to myself many times “So that's where that comes from!”

The book is very inexpensive and definitely worth the read. Here's a link to a preview of the book: http://goo.gl/lR2sP

Converting PDF to EPS on entire directory

We recently had a paper accepted to a journal, and they required that all figures be submitted in EPS format. I normally export all of my figures from Matplotlib in PDF, so I had to figure out a way to convert them. I got good results using the "pdftops -eps file.pdf" command in Ubuntu. The only problem was that I had to do it for a whole directory of figures, and when I tried "pdftops -eps *.pdf" it choked.

Python to the rescue. Here's a simple python script that will grab all PDFs in the current directory (wherever the script is placed), and automatically convert them to nice EPS files.


from glob import *
from os import system
fileList = glob('*.pdf')
for f in fileList:
  system('pdftops -eps {0}'.format(f))

So easy! I love python. The glob command grabs all the names of files that match the patten you want. In this case "*.pdf" returns a python list of all files with PDF extension. Then, it just iterates through the filenames, inserting each filename into a system command using the string format function. DONE!

TelosB Heat Problem With USB Connection [Video]

I recently discovered a heat issue with the USB interface on the TelosB wireless modules. Heat can drastically corrupt the data collection when you try to read packets over a USB port. To see the problem yourself, I have created a video demonstrating what happens. Sorry for the blurry screen in the video.

USB ports, due to their serial architecture, run at a set data rate. My guess is that by heating up the node, the oscillator that the system uses to clock data is changing frequency enough to make the serial interface go haywire. I could be wrong though, just a thought. If anyone has an idea of why this is happening, feel free to post in the YouTube comment section.

Remember to keep your TelosBs away from any kind of heat source, including your laptop CPU vent. If you're doing experiments outside, keep the base node out of direct sunlight to avoid a problem.

Video: How To Build RTI Sensor Stands

Here's a quick video about how to build RTI sensor stands. Thanks to Yang Zhao for being the camera man.

New Xandem Website

Check out the new Xandem website.

An Interactive DFL Halloween Robot

Utah Open Source Conference 2010

Am I allowed to post on this blog even though I am now graduated? :) If you live in Utah and like open source software, consider attending the Utah Open Source Conference 2010: http://utosc.com. It's a great way to support the local open source scene, meet new people that share your interests in software, and learn new tools.

Python Sets

Python "sets" are a handy for keeping track of certain kinds of data, particularly when dealing with set theory or when you want to remove duplicate entries. Here's the description from the python documentation:

"A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference." Examples found here.

Syndicate content