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.
]]>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.
]]>