My name is
Christian, lead developer (resume), writer, photographer, runner,
gun enthusiast, libertarian (voluntaryist),
This is also my wife Honey Robins' site.
Shanklin/Lowry housewarming in MinnesotaNews ·Sunday August 14, 2016 @ 21:38 EDT (link)
Fairly late last week I learned about a housewarming party (private event link) a few states over held by a long-time libertarian (voluntaryist) online friend I'd never met. At first I joked about making a road trip there, but he encouraged me to come, and I thought it would be fun to actually meet up, and I hadn't driven in that direction (in fact, I'd never been in Wisconsin), so I decided to go for it and took a half-day Friday (I would have taken the whole day, but I had a few things to finish up for work that I didn't want to leave undone). I packed everything up Thursday night, including a tent to crash on the lawn, so I'd be good to go straight from work Friday. I got in early and left a little before 1100.
The drive was pretty, but uneventful. I was surprised at how horrible the tolls were in Chicago; I don't object to tolls (users should pay, non-users shouldn't) (although the gas taxes they already take are supposed to cover road maintenance, but Chicago likely needs more due to all the corruption), but it was so inefficient: every couple miles, another set of tollbooths. Cheryl (Lowry) had nothing good to say about Illinois either (if I recall correctly she's from there); best to move through quickly and not stop.
I hit a few traffic jams, and arrived at 1919, and had no trouble finding the house, which I'd already looked up on Google Street View. I parked in front of a house opposite where nobody lived yet. When I went in, I was with a crowd of neighbors so I don't think Michael (Shanklin) realized that I was the crazy chap who drove in from Illinois. (I could say I did it because Honey is out visiting her parents, but she would have been up for a short-notice road trip too; we almost took a short one to northern Indiana when friends were stuck there for a little bit last week.)
A lot of neighbors turned up, and a few people from both of their workplaces/former workplaces, and there were games (bean-bag toss and beer pong, and I played poker with a group and then spoons), hamburgers and corn on the grill, a decent time. Mike was very appreciative that I'd driven eight hours to stop in (something that at one point and state of inebriation he repeated every few minutes, which was pretty funny).
Since the party who had "reserved" the couch didn't show, I slept indoors on the couch (very comfortable) instead of in my tent (fortunate, since it rained), got up fairly late Saturday and the family grilled corn, hamburgers, and hotdogs for lunch and then I headed out. There weren't any traffic jams on the way home; I did stop briefly at a couple parks but decided not to hike and just head straight back, arriving back before midnight.
I really have neglected this site, in favor of social media or just from being busy with other work, but I'm trying to make the occasional post.
AR-15 maintenanceNews, Guns ·Saturday August 6, 2016 @ 22:57 EDT (link)
I thought I needed an "AR tool" (AR-15 multi-tool, something like this) today, and so that I could accomplish what I wanted to do I bought it locally at Bare Arms (sic.) here in Noblesville. They had one, by UTG, and I paid about $40 for something I could get online for about half that.
It turned out I actually needed a handguard removal tool—or, what I eventually ended up using: (the grips of) a set of pliers.
With Bare Arms, all sales are final. I don't begrudge them this, especially in "these parlous times" where gun (rights infringement) scares abound and people might regret a purchase made in fear when they're thinking clearly again, although I do consider it customer-hostile. So I couldn't return the tool, but I consider it a $20 lesson/reminder (to double-check the return policy for small stores, or to be sure of the tool I need first, something like that). I'll probably have a use for it eventually.
The issue was that one of the bolts for the add-on lower rail I had installed had come lose inside the handguards, so I needed to pop them off (something I hadn't done for a while, but fortunately found a few videos to remind me), and reinstall the screw (and tighten the other one). I had a bipod installed there, but I left it off for now since I hadn't been using it lately and it's easy enough to reinstall. I'm also considering switching out the EOTech red dot and 3x magnifier for a single Trijicon ACOG (green horseshoe reticle like on my SCAR), for weight and convenience.
Books finished: The Well of Ascension, The Hero of Ages, The Elfstones of Shannara, Elantris.
Honey's graduationNews, School ·Sunday May 8, 2016 @ 22:02 EDT (link)
Honey graduated from the IUPUI school of science with her Bachelor's degree in Psychology earlier this year, and we went to the school of science ceremony, opting to skip the main one due to how busy and crowded it would be, although the school of science ceremony was still quite the occasion.
Honey's mother came up for the graduation ceremony and to visit for a few days on Thursday (our first overnight guest), and had a good visit with us.
Honey is preparing to take the GRE and we've already looked into a variety of graduate programs to which she might apply.
Congratulations Honey for this achievement! We're very proud.
Books finished: Mistborn.
A visit to cousin Dave'sNews, Auto ·Saturday April 16, 2016 @ 19:30 EDT (link)
On this trip back to Canada we had the chance to visit my cousin Dave and his wife Danielle at their place in Wellandport, a sprawling property which features a number of vehicles in various build states (like the field cars, used, when it's drier, in time trials around the track), a well-equipped garage and outbuildings, and the residence, all of which have been extensively upgraded by my cousin, including the installation of a kitchen where there was none. He can be seen in the first image in the stack at left, on his tractor, which while a little older, is in fine working order and has the power to pull trucks out of mud or haul a wagon with four of us (my parents, Honey, and I) in it.
Emily and her boyfriend Johnny (parents own a vineyard which he manages) joined us for dinner, delicious burgers. Dad and David got to playing various stringed instruments (guitars and a banjo) later. I started and then borrowed Losing Joe's Place, one of the Gordon Korman books I hadn't read, to finish later at home (and now have, and need to make sure it goes back to Canada on the next trip). It was the usual Korman fare, but I didn't like it was much as I Want to Go Home or the (early) McDonald Hall books.
Later on I headed over to Shaphan and his wife's place for a college and careers bonfire (Honey didn't want to be around the smoke), where I talked with Jesse and others about chainsaws, since I'd just gotten the DeWalt for clearing the path to the range, and learned I wasn't the first person to get one stuck temporarily…. I also talked with Jamie, and with Andrew, who was working with my cousin to build remote control into a (regular, normal-size) car, which sounds like a fun project and I wish I was closer to participate.
Books finished: Confronting Reality, Warbreaker, Debt of Bones.
Of lawn mowers and chainsawsNews ·Thursday April 14, 2016 @ 18:27 EDT (link)
The house sits on seven acres, and requires new tools for maintenance, starting with a hose, which I bought two lengths of to connect with a valve so I don't have to go all the way around back to the hose bib to turn it on or off. We shopped around to pay someone to mow the first time, and got some good advice: get a zero-turn mower. I had been looking at John Deere, probably something in the X300 series, but after opening up to zero-turns (the lap bar steering turned me off them), I got a Toro SW5000, with a steering wheel instead of bars, and it's been excellent, even fun to drive. On advice I hunted around for ethanol-free gasoline, since ethanol can be hard on small engines, finding it almost an hour away at Harvest Land Co-op in Greenfield (there are other locations but not with ethanol-free gas).
The advantage with the steering wheel over the lap bars is that there's no learning curve; I hopped on and was driving it right away, and so was Honey (see pictures). Zero-turns are easy to make. I had the mulch kit pre-installed, and bought a cover so I could leave it outside, although I might put it away in the shed over winter. I bought it locally from The Mower Shop; I found the best price at a dealer online, but I figured I'd stop in to see if The Mower Shop could meet the price and knock off the tax, and they could and did, and the delivery experience was great too.
Speaking of which, a couple planned projects: bring power (sub-panel) over to the shed for a light or tools, and build a workbench. Trenching to bring cables across seems the most difficult, so overhead or at least above-ground (in flexible all-weather pipe) might be the way to go, and electrical work the most dangerous, but doable.
Another maintenance tool I've had to use is my old backpack sprayer, which I haven't used since our house in Duvall, and it's held up well (except I had to replace a bolt/nut in the pump-arm); I use it to spray RoundUp to kill all the plants that love to shoot up where plants shouldn't (driveway cracks, on the stones behind the house, path to the range, edge of the garden beds, and so forth).
For other indoor and outdoor tools I've been buying DeWalt 20V/40V; they had a combo deal with hammer drill, impact driver, and a light in a hard case, that's been handy for assembly and such. The leaf blower has been great for keeping the driveway clear and when we had a couple trees come down over the path to the range out back during high winds, I added their chainsaw, which worked great for clearing things up (the 90-day return guarantee also helped persuade me to give it a try over gas, and not having to keep gas in it, or worry about how to mix it). Lowe's had a free battery rebate on a string trimmer, and what I needed was beyond my old corded one, so I added that too. I considered getting a pull-behind spreader for the lawn tractor, but assembled my old Earthway manual spreader and gave it a try and it did the trick.
I had to fix the front (electronic) gate keypad too; the internal battery holder had given up (under stress of previous battery corrosion? even though the current ones were good), so I removed it, swapped in a new one, and soldered it on (a recently acquired skill).
New house in NoblesvilleNews ·Tuesday March 1, 2016 @ 17:03 EST (link)
Our three-year search for a house came to an end last year, and we closed on this house in December, and, since we had only a few months to go on our apartment lease, decided to ride it out and move things gradually, hiring a truck (Two Men and a Truck, in fact) for the larger items. Speaking of which, Sunlake Apartments did very well and, as we left everything cleaned, refunded our full security deposit. I'm dating this back to March 1, when we were starting to be fairly well settled.
One of the first things I had done was to install Ethernet (cat6, 23 AWG, CMR UTP, to be precise); I looked into doing it myself but was concerned about making holes in the wall where there ought not to be holes, or other damage, so I paid a professional, Jeremy of Mine Electric, to do it, and was very happy with the results (and based on the trouble they had, I made the right decision to leave it to the pros). I connected it up to a TP-Link 24-port switch and put a TP-Link router between the switch and the incoming internet. We have both AT&T—business class for the servers—because their customer service doesn't suck, and Comcast for speed; since the router made it convenient I took a page from my friend Bob in California's book, even though I don't do a lot of work from home. AT&T is slow due to distance from the distribution point, and if Comcast can manage not to mess things up too badly we may go with just them. Using an actual router is a change from previously having my Linux server/firewall/NAT connected directly, and surely a security improvement, although it made for some topology changes. The previous owners left a cable modem, which we were able to use (after a bit of persuading Comcast's tech support) and a wireless router, which we moved into the living room (and turned into more of an access point, installing DD-WRT). The main server, minas-tirith, lost 1007 days of uptime when I moved it (but that's 1007 days of unpatched kernel vulnerabilities too). It is being switched from Gentoo to Arch Linux (it started as Redhat, a few motherboards and CPUs ago), because that's what I've been using lately and it's also an opportunity to embrace more best practices in regards to security and layout.
Around the end of January I was rear-ended turning into the driveway, but the other person's insurance paid up reasonably for the most part (they tried to fob off an aftermarket trunk lid on me, and I had to pay the difference), and I got the car back about a month later after driving a blue Dodge Dart in the interim. I started putting my hazard lights on turning for a little while after that, but decided that was unnecessary and just made sure that the person behind was giving me enough distance when I signaled, although I don't know for sure if that would have helped; even with distance if the following car is going too fast and not paying attention a collision can result. Parts of the exhaust pipes, trunk lid, bumper, lettering all had to be replaced, and the license plate frame was badly bent.
Speaking of Bob in California, he and his wife Jill and their son Raven got to be our first guests (but due to snow in Colorado not our first overnight guests), stopping in on the way to tour Purdue since their son had early acceptance there for an engineering program, and we had a nice visit.
Several useful items were included in a bill of sale with the house, such as the comfortable leather chairs in the media room, and, speaking of which, a couple more TVs, probably both newer than ours. Since we don't use cable or the like, I bought an MSI Cubi, a small computer, to connect to the media room TV (the other TV, in the kitchen, has a computer connected, which I'll update at some point). I set it up with Kodi like our main TV, and put it on the local network, although for various technical reasons it only accesses our movies so far, not TV shows; but we usually watch shows in the living room and go to the media room for movies anyway.
There's still work to do but we're fairly comfortable here, have maintenance figured out, and are enjoying the space and benefits of the new place (like the great kitchen). And we'd be happy to have more visitors!
Books finished: Zero To One, The Icarus Deception, Hunters of Dune, Sandworms of Dune, The Law of Nines, Paul of Dune, The Winds of Dune, Sisterhood of Dune.
Back to ExacqNews, Technical, Work ·Friday August 21, 2015 @ 19:44 EDT (link)
A few weeks before leaving the startup I was at I had heard that the embedded manager at Exacq, where I worked previously (as manager of API and integration) was retiring. Since I'd been doing embedded development for about the past year and a half, and found it very much agreed with me, I entertained the idea of being able to return to Exacq to replace him when he left. While my time being paid for embedded development specifically consisted solely of said startup, I had a longtime interest in low-level development, compilers, drivers (some for pay), performance optimization, and so forth, and all the algorithms and data structures I could sling applied equally well to embedded systems. So I contacted my former director, we had a good talk over lunch, and started the process for me to come back. It was a bit nonspecific, because Exacq got acquired by a large company and the wheels can move slowly; and also due to company-wide restrictions special approvals had to be obtained and starting would be delayed although I'd at least be able to overlap some with the retiring manager so I could learn and transfer what I could from him.
In the intervening time, as can be seen, we took some trips and read some books. Start was supposed to originally be the beginning of August, but due to more of those large-company delays ended up being closer to the middle of the month. There were also some personnel shifts very close to when I started, somewhat like in API, and I may be able to hire another developer in the upcoming new fiscal year.
There was indeed quite a learning curve to become familiar with the various hardware, firmware, and tools "owned" by the embedded group; I think I got enough of a crash course to be where I can teach myself anything else I need. Developing products that connect to PCs (PCI or (internal and external) USB) is different from developing on more self-contained microcontrollers, although it also makes debugging easier. Our team is also responsible for managing builds, the build server and (usually quarterly) releases (we hope to trial continuous integration soon too). We also own "Edge": running the exacqVision server on (sufficiently powerful) cameras. There is plenty to do; my only complaint is that there's not a lot of pure development per se at the moment; but there's lots to learn and work on and the company is very open to new projects.
Canada tripNews ·Saturday August 8, 2015 @ 18:55 EDT (link)
Hot on the heels of going up to Florida, I decided to go up to visit my parents (and some sisters) in Canada. This time Honey didn't come with me, since she was visiting her parents.
I visited with the Yades while I was there; played Lords of Waterdeep with Jon and Mrs. Yade—second time playing; I believe I came in first the first time I played, didn't this time; beginner's luck.
I swam a lot, and hung out poolside with mom, dad, Emily, and Julia, whoever was around, unwound, tried not to aggravate my sunburn any worse. Julia's at a fairly new copywriting job in Toronto, and Emily recently finished her required internship to become a registered dietitian and will be looking for work soon.
I did forget to bring the spoons back, though.
Books finished: The Litigators, Managing In the Next Society.
Florida visitNews ·Monday July 27, 2015 @ 21:58 EDT (link)
Since Honey's taking distance summer courses and I have some time before my next job (more about that in a later entry), we thought we'd take up a good friend's offer to come down to Florida and stay with them. They live in the St. Petersburg area, where I worked for a little over a year with (although not on the same projects as) my friend Sriram. He and his wife Saranya have two boys. (I've been trying to convince him to move up here and work for Exacq ever since I left there to manage the API group, although I can understand being reluctant to leave Florida, and other reasons.)
They have a beautiful house to the north of St. Pete's (a ways further up than Pinellas Park where we were). From there we traveled around the area a bit; we went to Fort DeSoto beach a few times (and got rather burned; how soon we forget), and ate at the Vietnamese place we used to go to; and on Sunday went to visit with friends at Grace Gospel Chapel in St. Petersburg proper. We just hung out and talked some, e.g. about some startup ideas and plans and the state of the US immigration system (lousy) and education (ditto). We had hoped to get out canoeing somewhere, but the weather did not favor us for the times we had available.
We were only there a little over a week, and it was a fine relaxing time; we came back on the 22nd.
Books finished: Callahan's Con.
Leaving yikesNews, Technical, Work ·Friday July 24, 2015 @ 22:47 EDT (link)
I was the Senior Development Manager for Firmware at Yikes, LLC for a little over a year. Before that, I also did some part-time contracting work for a few months, but they wanted me to come on full-time and we negotiated to an acceptable offer.
While I was there, I architected a system (if link is dead, search the web for articles on "hotel mobile key") I'm proud of, under constraints and complications that made it very difficult at times. I also designed and implemented the firmware and protocols for the in-door device in C++ (C++14, GCC ARM Embedded on Nordic ARM Cortex M0-based microcontrollers), including:
Many of these also involved host-side Bluetooth (BLE) tools (using a USB dongle) written in Python. I also built the first Android mobile app that could access doors—my first mobile app—and then when that was easy, some debugging apps too. This position was a great learning (self-teaching) opportunity for embedded development, which was a good fit with my past experience with compilers, C++ application and protocol development, and driver development. Low-level development has always been of interest to me, and a device with an ARM Cortex processor and only a few kilobytes of RAM to play with is pretty low-level. There were also power constraints: consumption had to be low so that the battery life would meet hotel requirements: physically accessing the doors to replace a battery is expensive and disruptive (that's also why over the air firmware updates were developed). Other resource limitations included bandwidth (BLE, which was also expensive in terms of power) and persistent storage (for reports). These were complex problems to solve, or sometimes careful trade-offs, and I strove for elegant solutions to each one. At one point I took a spare device with Bluetooth support and threw a web server on it and created some web wrappers around the Python tools (with web sockets notifications, also new for me), and ran periodic automated integration tests via the web socket server too.
- interfaces with several locks (and elevators)
- Bluetooth (BLE) communication with phone and other devices
- dynamic configuration model
- event and status reporting (e.g., battery level)
- touch-sensing algorithm (capacitance)
- inside/outside detection algorithms (RSSI)
- over the air firmware updates, boot loader
- over the air debugging (GDB server)
- the security/encryption model (AES-CTR etc.)
- flash file system for storing updates (SPI)
- door open/close detect calibration/algorithm (magnetometer, I2C)
- live-streaming of various debug data (e.g., proximity, capacitance)
- robust message-passing protocols (UART, BLE)
- low-power optimization, shutdown/wake
- "buddy" memory allocator for determinism
So this was fun, certainly, but I expected more than just an opportunity to teach myself another kind of programming (as useful as that has been; see future posts); that was not the whole of the position offered.
All the best to everyone there. I've provided a solid foundation but you have a lot of competition and they've already shipped.
Books finished: Snakes In Suits.
<Previous 10 entries>