de en es fr nl pl pt sv zh

code

Go To Statement Considered Helpful (part 5: Fun with Switches)

Preston Crow

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

Portable Inline Assembly

Preston Crow

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

Solving a Puzzle

Preston Crow

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

Get Coding!

Josh O'Brien

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

KinectFusion Presents: Lord Pyry

Brian C. Becker

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

KinectFusion Weekend (T-107)

Brian C. Becker

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

Why I detest LabVIEW

Brian C. Becker

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

Mac & Linux Helicopter Visualizer

Brian C. Becker

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

Kinects & IR & Microscope

Brian C. Becker

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

My extreme frustration at Windows Video Libraries

Brian C. Becker

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

Unsigned int has to go

Brian C. Becker

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

Yay! Official Swapover

Brian C. Becker

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

Google Fail – Don’t Re-invent the Wheel

Brian C. Becker

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

Analysis of JPEG Decoding Speeds

Brian C. Becker

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

First Journal Paper

Brian C. Becker

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

Interview Questions on Language Specs

Brian C. Becker

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

← Newer