Time Until Wedding
Days
Hours
Minutes
Seconds
 
Navigation
 
Search
 
My Usable Projects
 
Reading...
 
Listening...
 
Random Image
img_2016
 
Archives
 
Me. Elsewhere.
 
Feeds and Such

Google Reader or Homepage
Add to My Yahoo!
Add to Technorati Favorites!
Bookmark del.icio.us
Bookmark Furl
Bookmark Spurl
 
Darcy
 
Things I Like
Pidgin IM
 
License
 
Cool Camera

At work we’ve been working with a cool little camera from Prosilica. Michael wrote a nice wrapper and I spent the last week or two wrangling the data out of the buffers and into the application. The cameras are pretty cool, they spew out 1620×1220 frames at about 300 milliseconds a frame in Bayer 8, and about 500ms in rgb24. The driver they gave us has a really quick conversion from Bayer 8 built in, so we went with that.

The big problem moving to these from the Nikon kits we had, is that the Nikons had their own processing box that did the work of converting the raw data into jpegs. They work pretty fast, around 250ms a frame, but those are 320×240 frames, 640×480 take a tiny bit longer.

Anyway, without that processing box, we have that load moved directly onto our weak little clients, which take about 3 seconds to crush a frame down to a 320×240 jpeg with Magick++. So we decided to just do a raw, fullscreen live image, and it is really cool.

The point of all this introduction is that I like the little guys, and were they under 2 grand I might buy one for myself. Regardless, I get to play with one at work, so here are some pictures I took when we were still working on the full screen mode. They have, of course, been compressed down from the full size. Click through for a 640×480 version.

Posted October 18th, 2007 - Permalink
Categories: Hardware - Linux - Programming - Software
No Comments »
 
Easy Makefiles

Here’s a handy g++ option that will let you make up accurate makefiles in a jiffy, -MM.

g++ -MM *.cpp

Run that on your source directory and you’ll get a makefile style list of includes. If it doesn’t work, make sure you add in your compile time defines (like -D_x86 -D_LINUX). This won’t actually check that you need the files you have included, it just makes a list of the ones you have included.

I like to add a sed line to make breaks between source files, like so.

g++ -MM *.cpp | sed 's/^\([a-zA-Z]\)/\n\1/'

It’s very literal though, so if you do “../StaticDevice.h” type includes, watch out for double entries.

$ g++ -MM -D_x86 -D_LINUX devices/*.cpp | sed 's/^\([a-zA-Z]\)/\n\1/'
 
BaseDevice.o: devices/BaseDevice.cpp devices/BaseDevice.h devices/Enums.h
 
BaseStream.o: devices/BaseStream.cpp devices/BaseStream.h
 
CameraTest.o: devices/CameraTest.cpp devices/../camera.h \
  devices/../devices/Nikon/NikonDevice.h \
  devices/../devices/Nikon/../StaticDevice.h \
  devices/../devices/StaticDevice.h \
  devices/../devices/Panasonic/PanasonicDevice.h \
  devices/../devices/Panasonic/../StaticDevice.h \
  devices/../devices/BaseDevice.h devices/../devices/Enums.h \
  devices/../devices/Prosilica/ProsilicaStaticDevice.h \
  devices/../devices/Prosilica/ProsilicaDevice.h \
  devices/../devices/Prosilica/../BaseDevice.h \
  devices/../devices/Prosilica/ProsilicaDeviceConfigurator.h \
  devices/../devices/Prosilica/../inc-pc/PvApi.h \
  devices/../devices/Prosilica/../Enums.h \
  devices/../devices/Prosilica/../StaticDevice.h
$

Posted October 8th, 2007 - Permalink
Categories: Linux - Programming - Snippets - Uncategorized
No Comments »
 
Karamba Theme

I’ve been playing with Karamba (SuperKaramba?) and took a monitor script (Unix Monitor) and hacked it up and added some scripts and images of my own. I like it, and it shows some info you don’t usually find on Karamba monitors, like a wireless interface link quality meter. You can check it out on kde-look.org at this link or download it direct at this link.

Posted October 4th, 2007 - Permalink
Categories: Linux - Nix
No Comments »
 
Command Line Package Installation in OpenSuSE

One of the things I love the most about Debian is apt. It’s a great and speedy package manager. Being able to apt-get install from the command line and not have to wait for a heavy UI to come up is a major plus for me. Thats why I was frustrated with OpenSuSE, which we use at work.

First thing first, I think that the OpenSuSE package system is a pig. Yast is a pig. Zypper is a pig. I did, however, find the fastest route to installing via the command line, which I’ll share here.

Unless you happen to know the exact name of the package you want to install, you’ll need to look it up. The fastest way I’ve found is using Webpin, a nice online package searcher. Be careful that you are reading from the right repo though. For example, a search on “magick++” returns many packages, including “libMagick++-devel (6.3.5.10)” which, to my Debian eye, looks like the perfect package. It is from an odd repo though, “Results from http://download.opensuse.org/repositories/home:/dipe/openSUSE_10.2″ and the one I really want, and have access to mind you, is “ImageMagick-Magick++-devel (6.3.0.0)” which is in the main repo “Results from http://download.opensuse.org/distribution/10.2/repo/oss/suse”. It’s already too complicated, but we soldier on.

With my new, exact, package name in hand, I open up a root command line. The syntax for a zypper install is zypper install [package name] so I do zypper install ImageMagick-Magick++-devel and let it rip. After a ridiculous amount of parsing, it figures out the dependencies and asks me to continue, which I do. You have to babysit it for key managing, I havent figured out how to force “yes” on it. And that is how you use zypper to install on OpenSuSE.

root:~$ zypper install ImageMagick-Magick++-devel
 
Restoring system sources...
 
Parsing metadata for 20070918-142944...
 
Parsing metadata for 20070927-100843...
 
Parsing metadata for 20070927-100709...
 
Parsing metadata for 20070918-055437...
 
Parsing metadata for SUSE-Linux-10.2-Updates...
 
Parsing RPM database...
 
Summary:
 
<install>   [S3:0][package]libxml2-devel-2.6.26-27.pm.1.i586
 
<install>   [S4:1][package]liblcms-devel-1.15-30.i586
 
<install>   [S4:1][package]libwmf-gnome-0.2.8.4-24.i586
 
<install>   [S4:1][package]libwmf-devel-0.2.8.4-24.i586
 
<install>   [S4:1][package]readline-devel-5.1-55.i586
 
<install>   [S5:0][package]ImageMagick-Magick++-devel-6.3.0.0-27.6.i586
 
<install>   [S5:0][package]ImageMagick-devel-6.3.0.0-27.6.i586
 
Continue? [y/n] y
 
Downloading: [S4:1][package]liblcms-devel-1.15-30.i586, 141.5 K(490.1 K unpacked)
 
Installing: [S4:1][package]liblcms-devel-1.15-30.i586
 
Downloading: [S4:1][package]libwmf-gnome-0.2.8.4-24.i586, 7.7 K(9.6 K unpacked)
 
Installing: [S4:1][package]libwmf-gnome-0.2.8.4-24.i586
 
Downloading: [S4:1][package]readline-devel-5.1-55.i586, 137.2 K(376.7 K unpacked)
 
Installing: [S4:1][package]readline-devel-5.1-55.i586
 
Downloading: [S4:1][package]libwmf-devel-0.2.8.4-24.i586, 414.1 K(2.7 M unpacked)
 
Installing: [S4:1][package]libwmf-devel-0.2.8.4-24.i586
 
Downloading: [S3:0][package]libxml2-devel-2.6.26-27.pm.1.i586, 2.5 M(11.6 M unpacked)
 
Installing: [S3:0][package]libxml2-devel-2.6.26-27.pm.1.i586
 
Downloading: [S5:0][package]ImageMagick-devel-6.3.0.0-27.6.i586, 1.5 M(5.6 M unpacked)
 
Installing: [S5:0][package]ImageMagick-devel-6.3.0.0-27.6.i586
 
Downloading: [S5:0][package]ImageMagick-Magick++-devel-6.3.0.0-27.6.i586, 193.2 K(939.8 K unpacked)
 
Installing: [S5:0][package]ImageMagick-Magick++-devel-6.3.0.0-27.6.i586
 
root:~$

Posted October 1st, 2007 - Permalink
Categories: Computers - Linux - Software - Tutorials - Work
No Comments »
 
More Posts
Newer »