Archive for the ‘General’ Category


  • Text messages are unreliable and insecure
  • Apple iMessage and Google+ Hangouts suffice in most situations
  • Off-the-Record messaging provides personal encryption on top of Google and Facebook services

Many of us use SMS for text messaging, but have had some trouble with delayed or lost messages. Text messages are inherently unreliable and insecure. Because our work often involves confidential information, we need to consider the limitations of our favorite communication channel. Many of you know that I’m technically oriented. As a software developer with mobile technology experience, I’d like to start by explaining how text messages work.

Read on »

The recent donglegate debacle brings to light a poignant issue relevant to the programming community, the medical community, and the human community in general — that misunderstanding and miscommunication could easily cause a small problem to escalate out of control:

A male conference participant makes a silly joke to his friend. A female participant overhears this and finds it offensive. She publicly criticizes the behavior, posting his photograph to some 10000+ Twitter followers. The male participant is fired from his job. Commenters make hateful statements about the female participant, and anons threaten to attack her company. She is fired as well.

This is not about men, women, or anons; nor is it about sexism or dongle size. Because of inappropriate reactions to what began as an inappropriate joke, two people are out of jobs and there is much outrage in the community. There are better ways to handle situations like this. Let’s always try to be tactful, give each other the benefit of the doubt, and treat fellow humans with respect.

I wiped my Galaxy Nexus last night and reinstalled ClockworkMod+CyanogenMod. This morning, I woke up to a SMS from at&t:

AT&T Free Msg: Did you know a data plan is required for your Smartphone? We have added an appropriate data plan. Learn more at

This is funny, because I had no idea that a data plan was required for my phone. Thanks, at&t, for preemptively adding services that I don’t need. They do this once in a while, and it’s getting ridiculous.

I was able to have a customer service representative remove the data plan.

I stepped out this afternoon planning to paint the town as if it were St. Patrick’s Day, but I was disappointed to find a bleak landscape mostly devoid of portals. I did manage to capture a couple of unoccupied portals, submit a few portal candidates, and top off my XM meter.

Ostensibly, Ingress is an augmented reality MMOG by Google for Android devices. Players join one of two factions, collect “exotic matter” (XM) for energy, and capture portals associated with physical locations. Three or more portals may be linked into a polygon, and the population covered by the polygon is added to the “mind score” of the player’s faction. Since the game involves publicly-accessible landmarks, it is best played in more densely-populated areas. As a side effect of playing Ingress, players submit landmarks, GPS coordinates, and other mapping data to improve Google’s mapping service.

Ingress is currently in closed beta. To get an invitation, you could either lodge a request at or, or hang out on #invites at Details regarding Ingress lore could be found at the unofficial Niantic Project Wiki, and a list of in-game passcodes is on Google Docs. Good luck and enjoy!

My younger cousin was enrolled in a persuasive writing class, and this was one of his prompts. The prevailing answer was no, because they present distractions and enable users to look up answers without thinking. A handful of students answered yes, because they are useful learning aids and provide points of contact in emergency situations. On a more fundamental level, the question heralds a technological revolution so pervasive, even among children, that we need to re-imagine the role of education.

Read on »

I started growing an avocado today. What secrets lie dormant within the oversized seed? Since the seed had already cracked down the middle by the time I dug it out of the avocado, I guess I have a few weeks’ head start. Join me for a guacamole party in a few years, maybe.

I sampled some sparkler candles today. These are narrow cylinders 2.5 mm across and 17 cm long. They burn just like regular candles, but they also sparkle intermittently and relight when blown out. I just had to investigate this strange pyrotechnic device.

on the left, a stripped candle

So I scraped the wax off one of the candles and found some gray flakes (fairy dust!) surrounding the wick. The material could be seen through the thin layer of wax along the entire length of the candle. The sparkling effect suggests that the flakes are metallic. They should also have a low heat capacity and autoignition point, so that even after the flame appears to be extinguished, they are warm enough to continue burning and light the candle again. What are these metallic flakes? I burned a candle to find out.

burning the candle

The white sparks of light were reminiscent of burning magnesium. Magnesium burns at or above 473 °C (883 °F), which is more than sufficient to ignite the paraffin vapor streaming away from a recently-extinguished candle wick.

magnesium turnings on fire

Other metals could be added for a variety of spark colors.

It appears that Mark Pilgrim, the author of one of my favorite Python language resources, has pulled a disappearing act. I wanted to recall a certain page on, but was instead greeted with a 410 error:


The requested resource
is no longer available on this server and there is no forwarding address. Please remove all references to this resource.

His other websites, as well as social networking accounts, have also gone:

His personal site is missing, too.

Whoa. How does someone just evaporate off the Internet like that? The search continues, but there may be a ray of hope

Pilgrim has shared an incredible volume of information with Internet users everywhere. I hope he is alright.


ultimatebuster pointed me to [ATOM], which contained recent Twitter activity; the site is now inaccessible, so the link points to my personal mirror copy.

Jason Scott called Pilgrim’s local police department, and Pilgrim was less than amused…

I called his police department to ask for a welfare check – someone had done it 4 minutes before me.

Mark Pilgrim is alive/annoyed we called the police. Please stand down and give the man privacy and space, and thanks everyone for caring.

The communication was specifically verified, it was him, and that’s that. That was the single hardest decision I’ve had to make this year.

… and that’s that!

With a Windows 7 guest comfortably installed on my Ubuntu host, I turn my attention to making it automatically boot and shutdown with the host. Traditionally, we would use a SysV-style init script that uses VBoxManage/VBoxHeadless to start the guest and VBoxManage to stop it. Upstart seems to be the way to go now, so let’s make a configuration file for that. And instead of powering off the guest every time (which should be done using ACPI events), it would be easier and faster to simply save the running state and restore it during the next boot.

Read on »

VirtualBox comes with a rather nice commandline interface, and here’s how you’d work it. The following commands have not changed much since VirtualBox 3.1, and they have just been tested on VirtualBox 4.1.

Before we start, here’re the guest specifications that we’re looking for…

  • VM name mustard
  • RAM 1 GiB
  • SATA controller with 20 GiB disk at mustard.vdi
  • IDE controller with CD/DVD at installer.iso
  • Bridged networking using host adapter eth0
  • OS Windows 7

Read on »