My name is
Christian, lead developer (resume), writer, photographer, runner,
gun enthusiast, libertarian (voluntaryist),
This is also my wife Honey Robins' site.
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.
Tom Robins, 1939-2014News ·Saturday July 12, 2014 @ 20:30 EDT (link)
My uncle, Tom Robins, passed away on July 1 after a battle with Parkinson's. He was 75. Of all my uncles and aunts, most of whom, on my dad's side at least, still lived in the Niagara area, we were closest to him and his family, both geographically—they were also in Fonthill—and not least because he was a Christian and raised his family that way. He liked to work with his hands, and built, among other things, a barn on his property on Hansler, and a rocking-horse that he passed on to us for Emily and Julia when his kids had finished with it. He worked as a Research Technician and a Mill Supervisor at Ontario Paper, and had a natural mechanical aptitude.
The funeral program and hymns supplement (PDFs), courtesy of my cousin David's longtime girlfriend Danielle Elzinga.
Honey and I drove up to be there with the family; we left on the morning of Saturday the 5th. We had originally planned to leave on Wednesday, but ended up staying the week and leaving Saturday. The viewing was Monday (2-4pm and 7-9pm; we went to the later one). It wasn't so much hard to see him, or, rather, not-him at all, but the body we were so used to, but hard to know that the real him was no longer here with us. "You are a soul; you have a body" (George MacDonald; frequently attributed to C. S. Lewis). The funeral and internment were Tuesday, at Scottlea, with a lunch at the chapel in between. "Family remarks" were delivered by Thomas McGarvey (his stepson, reading his wife Mary's remarks), Andrew Grist (son in law), and David (son), as well as my father, his (younger) brother. To a great degree, Tom was responsible for bringing the light of the gospel to their family, such as received it, including my father. I got to meet a lot of relatives I hadn't seen for a long time and some I'd never met. Fittingly, it rained during the internment; the sky wept as we placed flowers on the casket.
We had planned to leave the next day, Wednesday, but decided to stay with my family a few more days. That gave us a chance to visit with my Uncle Chuck (Tom's brother) and Aunt Shirley in Beaverdams, and give him a copy of the funeral program (above), since he was unwell and couldn't be there. We also got to take my dad and mom out to dinner (The Keg) for a belated father's day/birthday. Fortunately I am able to work remotely when I need to (especially since I don't have any
minions people reporting to me yet).
Books finished: Knife of Dreams, The Gathering Storm, Towers of Midnight.
Shooting at ACC with Matt and AJNews, Guns ·Sunday May 25, 2014 @ 20:51 EDT (link)
At lunch on Friday Matt and I had discussed finally going to shoot at ACC, where I have a membership; I hadn't gone since going with Ron in winter (freezing cold and windy enough to keep blowing our target stands over). Since I was over at AJ's (grandma's) yesterday to figure out some things about the boards, I asked if he wanted to come with, so we made a party of three meeting at 1400 at our place. AJ put his car (Acura TSX) in my garage (avoid dings) and we headed up in the TL. I'd forgotten how nice a drive it was.
I knew from the schedule there was a USPSA match (8-4 officially, using bays 4-8), but they were shutting down as we showed up (and had used more bays). The people in the bay with one of the steel target rigs weren't using it, so we asked if we could share, the rest being busy, and they said they were just leaving anyway, so we unloaded and set up. I brought the Kimber Master Carry Custom, SIG P226, Glock 19 and 34, and Springfield XDM. We shot the steel targets first and then moved on to paper. People had a good time with each; AJ and Matt hadn't shot for a while but managed to consistently knock down plates.
When we got back Matt stuck around and we got a pizza (AJ had to leave) and had beer and he, Honey, and I talked for a while, then I said I had to get back to (Yikes) work… played around with the boards some more that night, got the LEDs to blink, basics like that, although an SDK bug plus the Nordic forums being down put an end to work by midnight (there's a fix attached to a message, but although posts can be read with Google cache, downloads can't be accessed).
Last day at ExacqNews, Work ·Friday May 23, 2014 @ 17:52 EDT (link)
The new company I'll be working for is called Yikes (I didn't pick the name), working in the proximity space, and with the hospitality industry to start but with plans beyond that. I'm sure I'll be making posts with whatever interesting events arise with the new company (although I may not be able to mention some names; but that's not new). There are certainly some "best practices" that need to be enforced on various contractors; coding standards, working in branches, and such; we are accumulating a lot of technical debt justified by up-front speed; we'll pay for it eventually and save nothing for taking (these types of) shortcuts. My position is Senior (Software) Development Manager; not much of a team yet, so I'm more running the parts of the system touching Bluetooth (a couple embedded systems and a phone app), doing general architecture, development process, and (still) a fair bit of development, which suits me fine. Like Exacq, we are also looking for C++ developers (embedded experience nice to have) and an EE (RF experience nice to have) if we can find one.
<Previous 10 entries>