My name is
Christian, lead developer (resume), writer, photographer, runner,
gun enthusiast, libertarian (voluntaryist),
This is also my son David Geoffrey Robins' site.
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.
Dune prequels and fat startupsNews ·Saturday July 18, 2015 @ 12:22 EDT (link)
With a series as great as Dune there are serious concerns that anyone continuing it after the death of the original author would fail to capture the spirit of the originals; but I was very pleasantly surprised that Brian Herbert and Kevin J. Anderson's prequels are great in every way, living up to and extending the original works, and I look forward to reading their sequels too.
My former manager at Exacq recommended a couple books which he had successfully applied, at least in part: The Lean Startup and The Geek Leader's Handbook. I haven't The Lean Startup yet, but it has been interesting to look back and note the problems resulting from the lack of application of the principles therein. GLH does have some useful tips but the authors could have done much better pulling together the various articles that became the book; it lacks cohesion, although the individual chapters, except toward the end, are helpful, especially, as promised, "contraxioms": the ways non-geeks look at the world. Apparently we geeks are a lot pickier about what we consider a lie, for instance.
Books finished: Mightier Than the Sword, My Secret Life On the Mcjob, Callahan's Legacy, Peter Drucker On the Profession of Management, The Sword of Shannara, Sewer, Gas and Electric, Callahan's Key, Dune: House Atreides, Dune: House Harkonnen, High-Maintenance Employees, Dune: House Corrino, Dune: The Butlerian Jihad, How Toyota Became #1, Dune: The Machine Crusade, Purple Cow, Being Geek, Good Boss, Bad Boss, The No Asshole Rule, The Lean Startup, The Rise and Fall of the Third Reich, Dune: The Battle of Corrin, The Geek Leader's Handbook.
General update, March 2015News ·Sunday March 8, 2015 @ 19:26 EDT (link)
It's been five months, so this is just a general update.
Honey expects to complete her BS in Psychology at the end of 2015, and is doing very well in her classes and enjoying most except math (fortunately she has her last math class this semester). She is looking at graduate school options in the area.
As of the end of February, I will have been at Yikes one year, counting initial consulting. While the work is interesting—I have had the opportunity to teach myself embedded development, Bluetooth (Low Energy), and lately develop a flash file system—the politics, for want of a better term, can be depressing. I have written about some of the technical challenges on Code Visions, my technical blog.
Indiana as a state seems a little boring. The parks aren't great and there aren't beaches like Florida; we're not enamored of the cold weather, preferring the South; at least cost of living is fairly reasonable.
I am listening my way through William L. Shirer's The Rise and Fall of the Third Reich which is interesting so far.
I have migrated our home entertainment PC from MythTV to Kodi (formerly XBMC), using a custom video add-on that I developed that reads available show information directly from Sick Beard's database. I did this on a new machine (old case, new MB, CPU—our first Intel for a while), and the old one will be decommissioned after the remaining network HDs are moved off of it. I'm pretty happy with the end to end system now; it's pretty much everything I planned to build and looks good, too. There were some add-on requirements that required Kodi changes, too. I suppose I'm looking for a new project now. I've considered looking at incremental compilation with Clang to use it in conjunction with an editor; KDevelop 5 will be doing this, but I haven't heard much about it of late.
Books finished: The Redemption of Althalus, The First 90 Days, The Effective Executive, Shadowdale, Tantras, Waterdeep, Dragon Wing, Elven Star, Fire Sea, Serpent Mage, The Hand of Chaos, Into the Labyrinth, The Seventh Gate, The Integral Trees, Kane and Abel, Life On the Mississippi, Only Time Will Tell, The Sins of the Father, Best Kept Secret, Be Careful What You Wish For, The Psychology of Computer Programming.
David and Danielle's weddingNews ·Saturday October 18, 2014 @ 20:14 EDT (link)
My cousin David (Robins) and Danielle were married at Portal Village in Port Colborne, Ontario today.
Marjorie Martin (Grandma), 1917-2014News ·Tuesday October 7, 2014 @ 22:27 EDT (link)
Weeping may endure for a night, but joy cometh in the morning.
Our family experienced another loss with the passing of Grandma Martin on September 22 at age 97 (obituary, Ottawa Citizen). She had been unwell for a time after suffering a stroke and was in a nursing home as it was no longer possible for the family to care for her properly. She was a women of deep faith in God who, with her husband Jacob (who pre-deceased her), raised her children to love the Lord. As my father put it when he spoke at the service, she always did "exemplary work".
I drove up Wednesday evening (Honey was out of town too, for her sister's 16th birthday, so I took the TL) and went up to Ottawa with the family (in the van). We stopped at The Big Apple in Colborne on the way up. We had a funeral rate at the Best Western Victoria Park (Kaba locks…) and they upgraded my room so I could be close to the rest of the family so I had a nice suite at the end of the hall. I worked remotely from the room when I had the chance. Visitation was Friday 4-8pm at the Hulse, Playfair & McGarry funeral home across the road from the hotel.
The burial (11am) at Capital Memorial Gardens preceded the funeral (1pm) held at Pine Grove Bible Chapel where she had attended for many years while living in Ottawa.
I stayed over a few days extra and didn't leave until Monday, after going for breakfast with dad.
Books finished: Wizard's First Rule, First, Break All the Rules, Stone of Tears, Blood of the Fold, Temple of the Winds, Soul of the Fire, Faith of the Fallen, Pillars of Creation, Naked Empire, Chainfire, Phantom, Confessor.
Honey goes to schoolNews, School ·Sunday July 20, 2014 @ 11:41 EDT (link)
Honey recently applied to two schools to continue her Bachelor of Science in Psychology: IUPUI (University of Indiana-Purdue University, Indianapolis) and the University of Indianapolis. She was accepted at both and will be going to IUPUI (when she graduates her degree will be from Purdue), starting in August. Many credits transferred from previous schools (Appalachian Bible College in WV, Cascadia Community Colleges and Bellevue College in WA), so she hopes to have her Bachelor's in a couple of semesters and then move on to graduate school.
Books finished: A Memory of Light.
<Previous 10 entries>