So this happened at work
That’s right, after 13 years of being a purely Linux user, work asked if I’d like to be cross trained in Windows/C# development and I said “sure” and here I am.
So first thoughts: VirtualBox’s ability to boot from a harddrive is a massive help, crutch, safety blanket and amazing, I have my origional work Ubuntu install runing off the harddrive in VirtualBox fullscreened on one of my two screens fairly seamlessly interacting with the host Windows (copy/paste etc). Windows 8.1 is less broken than I remember my one half hour of messing around with Windows 8 to be. Also little apps like AltDrag help ease the transition. Although there have been a good few cases of wrong window typing because I’m about 13 years out of practice with click-to-focus. Visual Studios + ReSharper are at least trying to ease the burden of coming up to speed on a new language, environment and code base by making exploring easier, so that’s appreciated (“Find declaration/implementation/usage” are getting a lot of usage from me).
As for a deeper why? Well, my new director basically made a more complelling argument about Visual Studios and C# being good languages for a lot of productivity in a way that clearly got my interest unlike anyone else in the past. Naturally final verdict is TBD (will need some good time on that one), but I appreciate the oppurtunity because this stack isn’t one that would often land in my lap to experiment with and learn on.
So, new learning adventure comenses. We’ll see where this takes me.
Linux Encryption in the Cloud using LUKS on Linode – an excellent guide to setting up a Linode with root disk encryption – 2013
Work around for 14.04 …
It sure has gotten easier to add USB devices to VMs with libvirt-manager and it’s nice UI
The latest bolt on top email security specification, on top of SPF and DKIM is DMARXC. Need to read up on and get to implementing I suppose.
Adding ‘$(__git_ps1)’ to my .bashrc PS1 bash prompt was the greatest idea/discovery I’ve had in a bit, as now I know exactly what branch any repo I enter is on:
Well, for better or worse, I semi impulsively upgraded my main laptop Minerva to Ubuntu 14.04 a month and a bit ahead of release. I used to upgrade to all the latest Ubuntu versions a month and change ahead of release because back in the 10.04 and before days the Ubuntu alpha’s and beta’s had amazing stability. After that the stability went away, even in some case from the actual releases (12.04 has always been a bit unstable to my mind, even two years later). But so far (knock on wood) nothing has exploded so that’s good.
I’ve always been a fan of ‘focus follow mouse’ so while I had previously just removed the Ubuntu appmenu (because the two do no work together and also appmenu degrades functionality on bigger screens) I’m now trying their new “Menus in title bar”. I’m glad they are now remembering and acknowledging big desktop interface users.
Now I just need to track down the new beta’s of ROS that will work on Ubuntu 14.04 and we’ll really be cooking…
So I installed some packge updates on my work machine and rebooted and… kernel panic during init. Repeatedly. So that was surprising, concerning and worrying. On the fourth try I booted the previous 3.8.0-36 kernel and the system came up fine. So they shipped a kernel than panics, at least on my system. Not good. There seems to be some confrimation popping up on AskUbuntu and I chimed in there.
But I was curious why the first google hit was AskUbuntu and not launchpad for a pretty dire bug. So I hoped over to launchpad. Logged in for the first time in a very long time and looked around. No “report bug” link. Ok. That’s odd, it’s their bug reporting system. So I poked around and eventually figured maybe I had to pick a project (not super obvious from their front page) so I found Ubuntu and poof, there was the report bug link! Except it linked to a long detailed help document on how to report bugs. I just want to report a non-booting kernel. So in there after some other non working links to more documentation I found a link specifically for reporting System Crashes. But I’m still on their wiki, and just being passed around to read more and more and not actually report a bug. I don’t want to read pages of documentation on their convuluted bug reporting process at work. I have work to do they’ve already crapped all over by shipping a buggy kernel, and now I’m wasting my time reading aobut their kafka-esque reworking of a bug tracking system. Have they removed the web report a bug system and replaced it only with wiki pages and some programs? I’m sure it’s great once you’ve drank the kool-aid, spent the requisite month in solitude learning it. But FFS, for a random guy who just had a system crashing bug, it’s all useless. I’m trying not to be rude but I’m pretty angry. How hard is it to have a web interface for bug reports? Were they just getting too much so hide it behind a maze of wiki page or just removed it and repalced it with a bunch of apps you have to install and read manual pages on to use? Not really acceptable IMHO. I know the inundation of bugs might have been a problem, but obfuscating the process for only people who have a load of time to drop seems like not the answer. If you screwed up you should probably make the barrier for finding out as low as possible. Get a smarter system that auto groups likely dups, don’t write a barage of docs and desktop/cli apps and hide behind those instead. So maybe they’ll not learn today they are shipping a kernel-panic bug. Awesome.
Huge really amazing fail Ubuntu both on shipping a non booting kernel and then making AskUbuntu the only way non-super initiated people can report it.
So a bit ago I bought a DepthSense 325 camera. I’ve been pretty busy since then but today I finally sat down to get started with it. First thing, it was on my netbook so I had to resetup the software stack and SDK. The SDK is free from softkinetic and works on Linux (which is awesome, and also a big reason I bought this camera) but I think it’s more aimed at Ubuntu 12.04 so there was one or two extra steps to make it go on 13.10.
First, regardless of Ubuntu version, you need to add the DepthSense libraries to the LD_LOAD_PATH and the now recommended way is adding a file to /etc/ld.so.conf.d like this
Then run ‘sudo ldconfig‘ to regenerate the ld.so cache or what ever. Now you can link agianst the libraries.
Next, at least for Ubuntu 13.10, you need to fake having libudev.so.0. Thankfully libudev.so.1 worked fine so run
sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
At this point DepthSenseViewer that comes with the SDK should work and you are good to go.
So today’s mission after getting set up was to get some code pulling form the camera and displaying using opencv (because I ultimately want to feed it through ROS filters and as was suggested on a forum post, the best way to hook the DS325 into ROS was through openCV and then the ros opencv bridge). Thankfully I found what I needed on the softkinetic forum in Example Linux/OpenCV Code to display/store DS325 data. The first code needed some slight fixes as detailed in the second (but slightly corrupted formatted) post. With a little poking and proding I had it compiling and working.
g++ ds_show.cxx -I /opt/softkinetic/DepthSenseSDK/include/ -L /opt/softkinetic/DepthSenseSDK/lib -lDepthSense -lopencv_core -lopencv_highgui
Not actually that much coding today, but a lot of pieces in place.
So some kind folks over at ACL services set up, kicked off and hosted the first Vancouver Go lang meetup on wednesday. It was great. Packed room, about 60 people showed up. One of the talks in particular was of use to me, by Joseph Holsten (who kindly ventured up from Seattle), it was on Go and DevOps and he kindly posted the slide. So thanks to everyone, it was fun and very informative!