Just received my Punchthrough Beans

Yet another small device to figure out how to use, this one a melding of arduino and Bluetooth. Super small form factor, the box is matchbox-sized, and I ordered a bag of them. Crowd funding IOT devices is awesome and disastrous — I get a new bag of toys all the time, but now I have to figure out what to do with them all…


I am so glad I largely skipped over the C++ generation of coding

As I get back into coding, I’ve had to jump into some C++ code to do some OpenCV bindings for Node. And wow am I reminded of how glad I am to have basically skipped C++ as a tool. I grew up on C and ASM which always felt natural, an obvious mapping to the machine. Now I use Node and Python, with simple object support and nice type behaviour. C++ just seems like an utter backwater. I don’t even begin to understand what all this really does:

Local<Object> mean = Matrix::constructor->GetFunction()->NewInstance();

Anyway if you are messing with OpenCV, it throws some horribly obtuse error messages:

OpenCV Error: Assertion failed (scn == 3 && (dcn == 3 || dcn == 4) && (depth == CV_8U || depth == CV_32F)) in cvtColor, file /opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/opencv-2.4.9/modules/imgproc/src/color.cpp, line 4040
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: /opt/local/var/macports/build/_opt_mports_dports_graphics_opencv/opencv/work/opencv-2.4.9/modules/imgproc/src/color.cpp:4040: error: (-215) scn == 3 && (dcn == 3 || dcn == 4) && (depth == CV_8U || depth == CV_32F) in function cvtColor

No idea what all that really means, but I’ve found it is almost always the case that I have a type mismatch. The documentation slings around matrices like they are all the same, but obviously it is important to pay attention to the differences between color images, grayscale, and binarized images, and be very intentional about their use.

First test build lasted 25 minutes before everything exploded!

https://www.flickr.com/photos/-cavin-/Just ran the very first version of an app we are building on multiple RPIs, it lasted for all of 25 minutes and generated good data before melting down. The fact that all the Pis gave up the ghost at the same exact time, and were all using the same power supply, makes me suspect a power glitch. The RPIs are horribly underpowered (and i mean power in the electrical sense) — for instance it is a known issue that with some power supplies, taking a picture will cause the ethernet connection to drop.

But honestly I’d have been happy if they ran for 5 minutes before exploding. So progress.

I’m inordinately proud of my first open-source contribution

https://www.flickr.com/photos/jagelado/One milestone of my new career direction is my first accepted pull request to an open source project (the node.js mappings for opencv). Ok it was a silly little bit of frippery, adding line thickness to some line drawing routines, about 4 lines of code, but it has been a long long time since I contributed any code to any effort so it makes me kind of happy.

I have a more sizeable contribution chunked up and ready to go soon, so hopefully this won’t be the last.

My 6 months of post-VC activity

https://www.flickr.com/photos/flattop341/Been quiet on the blog. Super busy learning about modern software development. In no particular order, I’ve been playing with: webgl, three.js, node.js, shaders, opencv, 0mq, travis ci, ansible, raspberry pi, arduino, resin.io, docker, vagrant, coreos, objective-c, github, hadoop, ubuntu and debian and raspbian and fedora and centos and RHEL, and about 100 more things. Having a blast!

We are looking to hire a few people and if any of the mishmash above appeals, let me know…

I’m a sucker for funky cameras

I bought a Lytro back in the day. It spent a week in my bag before it hit the technology graveyard in the corner of my office.

My narrative clip lasted maybe a week. Everyone around me was freaked out. And mostly I just ended up with a lot of pictures of the edge of my desk.

I just got my Pixy. Maybe I am doing it wrong but this thing doesn’t seem to detect squat. Maybe it works great in some super controlled setting but not worth my time.

Of course I had to order a Centr.

I am eternally optimistic. One of these things is going to be useful.

Recent Books — OpenGL, McKillip, Film Grammar, Beatles, Lexicon, Coben, Annihilation, and more

  • OpenGL Programming Guide by Shreiner, Sellers, Kessenich, Licea-Kane. Incredibly boring in a good way. Very useful depth walkthru of OpenGL.
  • Forty Signs of Rain by Kim Stanley Robinson. Boring in a bad way, unreadable. The author attempts to wrap his nonfiction treatise with some thin and dull characters who lead boring lives. Gave up on.
  • Riddle-Master by Patricia A McKillip. Fun semi-classic fantasy romp. Nicely wraps up in a modest number of pages unlike the modern commercial 10+ tome series.
  • Grammar of the Film Language by Daniel Arijon. Great reference on a topic I was clueless about, hat tip to Paul. A little dated but super useful.
  • Revolution in the Head by Ian MacDonald. Another excellent history of the Beatles, focusing on their songs and what was going on in the culture and the group at the time. MacDonald takes a very critical look at the songs at times, which makes the discussion all that much more compelling.
  • Lexicon by Max Barry. Fun adventure with very erudite zombies.
  • Mind of Winter by Laura Kasischke. Uber-creepy story of a woman in the grips of a possible breakdown, or is something else going on?
  • Missing You by Harlan Coben. Another solid Coben, started out a little slow, but grabbed by the end.
  • Annihilation by Jeff VanderMeer. At first I thought this was going to be yet another post-apocalyptic dystopian series written to sell books, but this is something quite different. An expedition enters a blighted area in the south, and nothing is what it seems — the nature of the blight, the goals of the expedition, the members of the expedition all have hidden natures. I’ve pre-ordered the next book.
  • Duke of Deception by Geoffrey Wolff. A man unravels the life of his father — a conman, liar, thief, but still a loving father. Complex relationship.

A note on Raspberry PI power supplies

Just a reminder to self — some of the kits out there come with <1 amp supplies, and most come with 1 amp. The 1 amp supply is barely adequate for the base rpi plus camera. Less than 1 amp and camera use will drop your internet connection.

Now if you add in a USB wifi dongle, 1 amp no longer is sufficient. I am having to use a powered hub.

I’d suggest a 2 amp minimum supply.

Help needed on objective-c/requirejs interop

I am hosting the webview controller in an OSX app. I have followed the code sample in calljs and i can successfully call javascript functions inside script tags from objective-c. This integration requires that the objective-c program know the name of the javascript function. for instance i have a javascript function called “objective_c_entry()”, and in my objective c wrapper, i can call that entry point using:

NSString *callResult = [[webView windowScriptObject] callWebScriptMethod:@"objective_c_entry" withArguments:args];

Now I want to move all my javascript into require.js modules; i am not clear how to reference a function in a require.js module from within objective-c. if i am moving my “objective_c_entry” function into a require.js module named “integration”, what string do I pass to callWebScriptMethod?

Dear Satya, please include an ssh client

http://noncombatant.org/2014/03/03/downloading-software-safely-is-nearly-impossible/ — and this only scratches the surface. Of all the reasons why I don’t use a Windows machine for development, this is the stupidest, and simplest to fix. Just ship a reasonable ssh client, it is not that hard.

Recent Books — kind of on a Beatles kick


  • Tune In by Mark Lewisohn. Fascinating telling of the Beatles’ early years. Massive detail. Uplifting in many many ways, the group overcame great odds, while staying true to themselves. But never let your kids catch you admiring this book, the young Beatles were not exactly role models.
  • All The Songs by Jean-Michel Guesdon and Philippe Margotin. Exhaustive notes on the writing and recording of every Beatles’ song, which provides an interesting window onto the arc of the group.

OK I need an OSX Webview/Webkit expert…

So I have a little app that hosts the Webview control and doesn’t do a whole lot more. I am running it on a MacBook Pro Retina display. I’ve enabled fullscreen display, I’ve set the window in the xib to be full retina 2880×1800.

But the webview seems to think it is running at 1440x790ish or so. Basically half res. As reported by NSScreen. And it is pretty clearly running at half resolution.

The same web page looks fine in Chrome, full retina resolution.

Ah interestingly, in Safari, it is also running at half resolution. Hmmm.

Nothing obvious on StackOverflow. Nothing obvious in Apple developer doc (tho I certainly probably missed something).

UPDATE: Mr. Sobeski gave me some ideas. The retina devicePixelRatio is probably involved. Apparently this creates some problems in some configs. http://stackoverflow.com/questions/4405710/uiwebview-w-html5-canvas-retina-display might be a direction to try.

I have finite outrage capacity.

Bigotry, poverty, abuse, healthcare, education, government waste and incompetence — I could go on, these are big issues in our society, and I can get outraged about them and have occasionally done so. There are certainly other issues in this category.

Whether or not a certain kind of taxi service can operate in a certain way, or whether or not cars can be sold in a certain fashion at a certain location? Yawn.

Recent Books — Parasite, Ice Harvest, Crace, Fowler, Mr Peanut, Byatt, Auchincloss

  • Parasite by Mira Grant. The start of a new series by the author of the Feed series, which I found to be among the best of the zombie novels I read. This is also a lot of fun, a twist on zombies, in some way much creepier. Looking forward to rest of series.
  • The Ice Harvest by Scott Phillips. A Fargo-esque spiral of crime and misdeeds. Fun.
  • Harvest by Jim Crace. Crace does not write happy tales. This story details the collapse of an insular farming village in the face of political and economic change, and how one man in the village experiences the changes. Kind of grabbed me tho it is a mostly depressing little tale.
  • We Are All Completely Beside Ourselves by Karen Joy Fowler.download Gripping. A woman tells the story of the unusual family tragedy that occurred at age 5, and how that has rippled through her life and her family’s life. Very hard to put down, and the messages will sit with me a long time.
  • Mr. Peanut by Adam Ross. Three intertwined marriages beset by problems and power struggles, with some Hitchcockian murder built in, or maybe not, and with a mix of fiction and maybe truth. A lot going on here. And a lot of pain. Not sure how I feel about.
  • Possession by A.S. Byatt. Snore. I need to remember that Man-Booker Prize != interesting.
  • The Rector of Justin by Louis Auchincloss. A charismatic school founder and his impact on all the lives of the people around him, both good and bad. The power and charisma of a founder/leader can lift some people up and drown others. Really excellent tale and relevant in many walks of life.

I’m starting to care more about my LinkedIn profile

IMG_0130I didn’t really want to, I don’t use LinkedIn much, but we are hiring a couple people for the stealth startup I am working on, and I am starting to see traffic to my profile that might be related to job search. And so I am starting to think my profile should look better (thought I haven’t done a thing about), and I considered paying for a higher grade of LinkedIn service so that I could see who was pinging me. But, wow, $240 a year for LinkedIn business service?? That explains their lofty valuation I guess. That is a very rich price to expect of every business professional, the marginal cost to provide the service is effectively $0. I’d worry that this price will drive substitution, it is certainly making me think about that. I need to get a lot more for my $240 than they are offering.

Who else gets $240 a year from business professionals for a software/communications service? When a corporation rolls this up for all their sales and marketing people, how are they going to feel about it? I am sure there is a corporate discount plan tho.

Aim high, Ultraviolet, Aim High

Over the holidays I had to create an Ultraviolet account. I was trying to watch a movie on our new XBOX One and I could only find it on the Vudu provider, and so first I had to create a Vudu account, and then that chained into having to create an Ultraviolet account. No idea why all this fuss was required, and I didn’t really know what Ultraviolet was for, but we got to watch our movie.

Now one month in, I get a piece of marketing spam from Ultraviolet, and now it is all clear:

Imagine … the freedom to access your movies and TV shows through many retailers

Wow. Mind blown. What a world that would be. I am so thrilled and excited. It sounds so much better than the 20 other legal or not-so-legal ways to watch videos. And I am so glad that retailers are fully involved, that sounds like it is going to be so much better for me.

Javascript is the worst tool ever. Actually every tool is unhappy in its own way.

Javascript tools suck, all the sample code on the web is invariably wrong in some way, variable scoping as practiced is horrible, debugging is terrible. And I am just focused on a single browser target! I’ve spent a day chasing after some pass-by-reference and scoping problem. Grrr.

Of course when I spend a day on Objective-C problems, I am pretty convinced it is the worst tool ever with its bloviated syntax and huge masses of obsolete sample code.

And when I spend a day on python I get so cranky about crappy IDEs and crappy debuggers and crappy library documentation.

The only constant is me, probably I am doing it all wrong, regardless of the environment.

Barnes and Noble (@BNBuzz), can’t you at least try?

5 people in line waiting to pay at Barnes & Noble Bellevue vs 1 chatty cashier. 1 Nooklehead standing over at the Nook stand doing nothing while we are all trying to give the store money.

I finally called the store and asked whoever answered to come up front and help, they said they were busy with a customer. When it was finally my turn the clerk spent 1 minute on the script trying to get me to sign up for their loyalty card — not understanding that the last thing I want to do is buy more books here.

So many things wrong here. As a start, give the idle Nook dude a square reader and let him do check outs on the Nook. Giving him something to do, a chance for me to handle a Nook, and completing my transaction more speedily.