My name is
Christian, lead developer (resume), writer, photographer, runner,
gun enthusiast, libertarian (voluntaryist),
This is also my wife Honey Robins' site.
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.
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.
<Previous 10 entries>