For my final segment on the use of gotos, let us not forget one important hidden goto. The switch statement is essentially a goto with a variable label. This means that the if(0) trick can apply here, too. Before I get into the meat, I want to point out that many of the examples in this section...
This is a fun little tidbit. Assembly language is, obviously, not portable. If you use inline assembly code in a C program, you won't expect it to run on multiple processors without special handling for each one. Well, there's an exception to that. First, the trivial exception:...
Earlier this year, I was given a puzzle as a gift. It's a simple frame with Tetris-like blocks of different shapes, and the object is to get all nine blocks into the frame. Making it more difficult, there will be leftover empty squares throughout the puzzle. I played around with it for a while,...
In the first four parts of What did you Expect, we covered the basics of getting started with automating interactions for network equipment. In the first few posts it was important have a networking environment that was 100% stable. The last thing I needed when I was trying to learn to use...
WE HAVE WINNERS!! Big Congratulations to: John Swanson & Dustin Plunkett Hoping to get them both on the blog in the near future. Thanks to everyone who participated. Sign up for ACL, The StaticNAT Newsletter for future offers and to see what we are doing here at StaticNAT! So lately I have...
So lets start off with I am an old dog and I am learning new tricks. My entire career I have avoided the dreaded programing. In college I slid by my degree requirement for a coding class by taking Visual Basic for Industrial applications. I hated it. Debugging drove me nuts and there is still...
After working all weekend on getting PCL’s new KinectFusion and collecting cool voxel representations of my friend (and after fixing the bug patch), we got this rendering: We got this by setting the voxel size to be about upper-torso sized and then spinning my friend around on a chair. Thanks to...
So KinectFusion is an awesome new Microsoft algorithm for the GPU that essentially does real-time SLAM with Kinect RGBD cameras. They didn’t publish the source, but the WillowGarage PCL and OpenCV guys have been busy implementing it from the paper. And I must say, the beta versions so far in the...
Because my robot’s control system runs on a LabVIEW real-time machine, I have no recourse but to add new features in LabVIEW. Oh, I tried coding new stuff in C++ on another computer and streaming information via UDP over gigabit, but alas, additional latencies of just a few milliseconds are enough...
Thanks to Joydeep and Pras, Plinth now actually works under Mac & Linux (both x86 and x64). It turns out it was just some minor library and compilation issues that needed to be resolved. This means that that the helicopter visualizer now works on all three major platforms. Luckily, the MATLAB...
Microsoft, always the butt of nerd jokes with Windows and blue screens, has introduced a new device that will revolutionize robotics: the Kinect. It is a depth-camera using structured light that gives full 3D representations of indoor environments within 2 to 10 feet along with a normal camera...
I hate them. No seriously. They are terrible. In fact, I’ll go further and say that dealing with video programatically through C++ has plagued me for almost a decade now. The scenario is this: I’ve recorded some video from one of my experiments and now I want to post-process it and overlay some...
I’m sure unsigned int has had its place in the eons gone by; however, I think it’s outlived it’s useful lifespan. The number of times I’ve tried to do math with it and shot myself in the foot is quite astonishing. The root of the problem is you simply can’t do subtraction and expect sane results...
So thanks to some urging by a fellow PhD student, I’ve uploaded a new version of my Facebook Downloader and swapped the site over to the new WordPress version. The old site is still there so old links work, which means eventually I’ll have to do individual redirects so that people following old...
Operating rooms are scary places at the best of times, and when going under the knife, you’d like to know that a surgeon’s itchy nose or her morning’s double espresso isn’t going to cause any accidents. This is where medical robotics can ride in to the rescue. As a PhD student developing...
So this is twice that I have been upstaged by my lack of Google skills. I have some small background in compilers, languages close to the processor, and optimization. So when I see something obviously lacking in even rudimentary speed-ups, I think about taking a look and doing a better job myself....
As a computer vision/controls grad student at CMU, I often work with very large image/video datasets. My latest project involves a terabyte or so of image data – all compressed in JPEG format to save space. I usually analyze the data in batches and am interested in maximum speed for minimum cpu...
So my first journal paper was written in 13 days. My advisor originally wanted it to be written in a single day but I certainly do not posses such superpowers – not in the least. The reason for the massive rush was my advisor promised a journal paper in the grant proposal by a certain timeframe...
So today I heard of a CMU graduate student who was interviewing with Microsoft and they asked him what the result of the following C code would be: int i = 10; printf(“%d %d %d\n”, i++, i++, ++i); First off, this is a dumb question to ask a student who is about to graduate with a PhD in robotics....