depth first search

“We can only see a short distance ahead, but we can see plenty there that needs to be done."

Topics and Services in ROS

As an exercise, I wrote some code to translate between ROS topics and services. Both directions turned out to be somewhat tricky. For example, I had to use a condition variable to coordinate updating data from the topic (which is taken care of behind the scenes in ROS using a provided callback) with calls to the service. I couldn’t figure out whether the way the callback is used under the hood is thread safe, so there may be some extraneous locking in my solution.

Going the other direction is complicated by the fact that service request and response objects, which walk and talk like messages, aren’t actually messages. So populating a call to a service and reading the response requires specifying some code in advance that knows how to translate a service response into a proper message. You can’t use the response object as a topic message type directly since it’s not actually a visible message type and roscore will complain that it can’t find the message definition.

In general, it would be nice if services and messages could be specified dynamically, but I suspect that the performance requirements of serialization require that these be specified in advance and compiled.

This Week in Microblogging

  • My sole reason for getting to work on time is listening to Morning Edition during my drive rather than the dreaded Eklektikos. #
  • So when can I add failed blogger to my resume? #
  • We're half an hour into the blackout and I've already tried to look up three things on Wikipedia. #longday #sopastrike #
  • It seems like OpenCV has 2.5 mutually incompatible Python APIs and only documents 1.5 of them. #
  • Example: cv2.SURF.detect() takes a numpy array as input but the documentation says it takes a cv image. #
  • Of course there's also cv.ExtractSURF… #
  • Maybe I shouldn't complain, since I'm getting robust feature extraction for free. #
  • Last time I had to extract features I had to wrap an open source SURF library using SWIG. #
  • If I wait another six months I can finish my research by just composing the right ROS modules. #
  • Trying out a new burger joint in my neighborhood. http://t.co/L4p5VXPE #
  • Long Gone Lonesome! http://t.co/nKBl8jlS #

Quote of the Day

Enclosures don’t just hurt the commons, they ultimately hurt the new lords of the manor. This is part of the point of rights, of limited government, of checks and balances: that to safeguard the future even of the powerful, you have to restrain everyone from getting everything they think they want right here, right now.

SOPA/PIPA Video of the Day

This site is not going dark in protest because, well, this site isn’t exactly turning heads. Anyway, if you want to learn more take a look at the video below or read a good breakdown of the current bills here.


Now for some pointless musing about what’s really going on. The point of SOPA/PIPA is not to combat piracy in the sense that most people understand it. I finally figured out what’s going on when I realized that for people supporting SOPA, the biggest internet pirate isn’t some torrent site like The Pirate Bay, it’s Google.

The “secret” plan isn’t to censor the internet, or take down pirate sites, or throw Google/Facebook/Wikipedia offline. The goal is to maximize revenue for existing intellectual property and the method is straightforward crony capitalism.

1. Finance political campaigns.
2. Lobby for a laws that provide leverage.
3. Negotiate lucrative blanket license agreements with major players.

Nobody in Hollywood cares about real piracy because most smart people realize that there isn’t a lot of money there. The people who use sites with pirated content aren’t easily converted into paying customers. This law will do nothing to shut down sites like The Pirate Bay or prevent people from using them. Instead, this law is aimed squarely at more lucrative targets, with the intention of facilitating a transfer of wealth from companies like Google/Facebook/Twitter to associations of content creators.

My prediction: If SOPA/PIPA pass then some form of step 3 won’t be far behind.

This Week in Microblogging

  • "One of the main skills of research scientists of any type is knowing how to work comfortably and productively in a state of confusion." #
  • Source: http://t.co/Be151b1c #
  • Ah, quaternions. It's been awhile. #
  • ROS is great but the use of both XML (not to mention XACRO) and YAML is sort of strange. How many forms of markup does a project need? #
  • Caravaggio at the Kimbell! http://t.co/ZF0knTrg #
  • Fort Worth! http://t.co/cpcKiPXd #
  • # of Tim Love sightings: 1. #

This Week in Microblogging

  • Shark attack! http://t.co/jUhtZXLm #
  • This flight *is* the place to be for the under two set. #babyflight #
  • So Dulles isn't half bad anymore. #
  • Reflexive contrarianism is the worst intellectual habit. #
  • Pizza stone acquired. Baking is about to get real. #
  • Averaging about 44 miles a month running since I started tracking 3 months ago. I'd estimate around 400 miles for the year. #
  • Going out today to pad my stats. #
  • The more I run, the more I realize how fast my dad was in his running prime. A marathon at 8 min. mile pace seems impossible. #

This Week in Microblogging

  • It's amazing how many publicly accessible Paypal transaction logs are available if you know what to search for. #
  • The proliferation of build systems is history's greatest problem. #
  • At AUS. Wish me luck. #holidaze #
  • Still at AUS. More planes than gates at the moment. Also, the signs at each gate are not correct. Chaos. #
  • Ground crew radio says my plane is at gate 22. Gate agents say 23. The mood is quiet, stoic, subdued. We expected this. #
  • Meanwhile, in Tyson's Corner… http://t.co/6KMoMaZI #

Today in Gaudí

This Week in Microblogging

  • A piano bar in the lobby virtually guarantees that the hotel room won't have enough outlets. #
  • Watching weed wars. They got hit with a huge tax bill. Liquidity trap! #
  • Wondering why they can't just borrow against future revenues. Aren't credit markets functioning in California? #weedwars #

This Week in Microblogging

  • Big bend. http://t.co/eaupaSts #
  • South rim. http://t.co/w9DMusPJ #
  • Do tricorders back up to the cloud? #nerdquestions #
  • I wouldn't mind the atmosphere of hostile indifference around the lab if it weren't also so fucking noisy. #bitter #
  • I guess sometimes when you try to combine technology and the liberal arts, the liberal arts bite back. #
  • So is there an app that makes Android fast and responsive yet? #
  • Big Austin Chronicle piece on the apartment complex where I live: http://t.co/7JeJOCuu. #
  • Also, I've been living here for six years and I don't have any idea who any of these people are. #antisocial #
  • The fact that I'm as poor as some shitty comics rubs me the wrong way. #
  • @jmugan Definitely not you making the noise. They redid the seating since you left and now it's loud, dense, and smelly down there. in reply to jmugan #
  • @jmugan I'm not even kidding. They had to spray for roaches a few weeks ago. The kitchenette is a disaster zone. in reply to jmugan #