Welcome Oliver Ezra Catlin

No Gravatar

1 Week ago today – 11/4 – we welcomed into the world the newest member of our family. Oliver Ezra Catlin was born at 7:06 in the morning.

He is a pretty chill little guy after a week. He seems very curious when he is awake, and has the best cheeks – very squeezable.

Oliver, Pearl, and Dad
Oliver, Pearl, and Dad

We couldn’t be happier to have him here, and look forward to seeing what kind of boy and man he grows into.

Goodbye Trane, Hello Exosite

No Gravatar

Friday I said goodbye to Trane and tomorrow I start a new gig at Exosite.

Trane is a wonderful company to work for on so many levels. Amazing work-life balance, great benefits, good products in a stable market.

But for a while I’ve been balancing some future-facing project work I initiated, with a sense that I wasn’t going to ever be able to push things as fast as I wanted inside of our engineering organization, or our product group. Also, I’d been wondering for a while if I was selling myself short being disconnected from the end-user, like you can get inside an engineering group internal to a big company.

Exosite on the other hand, is a smaller, startup-ish company in a similar segment as Trane (maybe even overlapping in some senses), with a relatively flat org structure. It is growing, and looking to decide how things are going to work as it gets bigger.

Exosite, makes an IoT (Internet of Things) cloud platform that serves other businesses. This is a way for other companies to get an “online” place for their connected devices to dial up to – all without having to develop their own expertise in setting up servers and building online platforms/backends.

I’ll be helping the “professional services” group – which is the team that works with the customer get their devices on the platform. It should be a fun and interesting stretch for me – and I will be interfacing with the customer early and often. There are a ton of cultural things that line up better with my personal bent than anywhere else I’ve worked. This will hopefully help me push myself into a growth period since I won’t be arguing for things that seem so basic to me.

The rest is still to be seen, and I’m hoping for great things in this next chapter of my career with Exosite.

And as the previous chapter closes, I’m also so thankful for all the talented, dedicated, and thoughtful people at Trane. They helped me develop and grow in what a mature and effective software development team looks like in a well-respected, stable but growing, blue-chip mechanical equipment company.

Avoid -webkit-user-select (a.k.a Why I hate CSS)

No Gravatar

So i spent longer than I care to admit working on a stupid problem at work.  Particularly, we were just finally getting around to getting it to work on iOS (and safari for testing), and we had a textbox that refused to allow input when you clicked/touched it.  No cursor would show up, and oddly we could get input to sometimes go in if you touched it just so, or at the right time, or used the tab key to select the field.  But only one letter could be inputted.

Continue reading Avoid -webkit-user-select (a.k.a Why I hate CSS)

How the Time Flies

No Gravatar

Wow, it has been a long time since I blogged.

I don’t have anything right not terribly compelling to post about philosophy or technical stuff, but I figured at the very least it might be nice to post about what I’ve been up to the last couple years.

Work
I switched jobs in 2012 to be a software developer (yay!), and I’m mostly loving it. The technical aspects and workflow fit me better then my controls/EE work did I think.

We released an app I helped finish up, it is in the play store and app store – it is for Trane Commercial building and automation systems, and is called BAS Suite.

Then I got to help architect and build, and for the last few years improve and add on to, another sorta-mobile product called Tracer Concierge.

Family
It has been a crazy and rough few years for me on the family front. Having a kid opened up and exposed existing holes in my relationship with my wife. The good news is that with the help of some really really great friends and a decent counselor we both feel like we’re over a lot of those hurdles, and filled in a lot of the relational holes that had been discovered.

If you follow me on social media you know that none of that stuff with my wife was helped by my Dad almost dying in 2014. He went through a pretty rough surgery where he was basically looking like he wouldn’t make it – but the hard work of the surgeon and staff, and I believe the will of God, pulled him through. You can read more about that on his Caring Bridge site

The Kid is 3 1/2, and a full blow threenager, and she is hilarious most of the time. We feel pretty lucky to have her.

Church
I’ve been laying a little low at church in a lot of respects. Trying to just navigate life partially, and partially because I picked up one pretty big leadership role – I am on the lay-leader preaching team. And it is awesome!

The nuts-and-bolts of it is that we meet once a month, discuss how we are improving our craft of public speaking, and then someone from the lay team preaches about once a month. That means I preach 2 or 3 times a year.

So far, I’ve gotten to speak twice, and I’ll be jumping into the pulpit for my 3rd time on November 8th. If you want to listen or check it out, click on over to the podcast, or here are links to the specific talks I did:
August 17, 2014 – HEROES OF THE FAITH – WEEK 11: JESUS, BATMAN, AND BILL GATES
June 14, 2015: VISION & APOCALYPSE: ZOMBIES AND REVELATION

And that is a broad overview of what’s new.

Obligatory 2013 post

No Gravatar

Well, I went an entire year without writing a post. But believe you me, I made up some great ones in my head.

The year has been an interesting one. Challenging in a great many ways, particularly at home. But really great and exciting in some other ways, particularly at work.

I did work some on the next version of my Modbus app that I talked about late last year. Never got super far into it – one part analysis-paralysis, two parts raising a toddler while trying to make sure my wife still knows I exist.

Other miscellaneous 2013 trivia and happenings from the Catlin home:

  • Pearl Turned 1, and started talking. She now says entire sentences – mostly “Daddy I need this.” when she wants something from me that I have, or that she can’t reach.
  • My first major project at work officially released to the Android and iOS stores. My second big one is I think internally released, and will roll out to our national account sales teams shortly.
  • I learned how to cross-compile the linux kernel for our hardware, and get it to boot.
  • I met my niece (my sister-in-laws daughter) for the first time.
  • Went to Cleveland for my aunts wedding – saw a bunch of family that I haven’t seen in a long time.
  • I built a new workstation/server PC, after a decade of faithful service, I felt like it was getting irresponsible to rely solely on that machine to keep my families photos and videos safe (and yes, I have cloud backup too, but still).
  • Also at the same time I was building that new server my HTPC’s motherboard died, so I had to replace it somehow. On a very tight budget I squeezed both together, and managed to accomplish a new HTPC by buying a Raspberry Pi and installing OpenElec on it (which is a linux distro tuned to boot straight into XBMC).
  • My best friend moved back to the US from Germany – Iowa to be exact. And my Sister-in-law moved to Iowa too. So instead of having no place to stay on the way to my parents house, I now have to pick between two really great options. And my best friend isn’t 7 hours offset from me, and in another country.
  • Went to the boundary waters for the first time in 20 years with my dad. (Photos are on Google+). Found out I wasn’t as young as I used to be, and neither is my dad (though to be fair – when he was 32 he could have probably kicked my current selfs ass). But we came back in one piece, and had a really amazing time together.
  • Braincell reunion at Rob’s wedding – which was a classy affair. Especially for the smelly kid. We drank, ate, drank, sang some songs, drank, danced a jig or 5, drank, and had wonderfulness well into the wee hours of the morning. And then paid the parents price when we had to get up to drive to the burbs to pick up our kid (from the always lovely Greg and Julie who graciously sat for us) in the morning.
  • Ate a lot of great food, drank a lot of great drinks, and had general merriment with the greatest friends a guy could ask for. There are too many of you to list everyone, hopefully this blanket statement will suffice. Thank you every one of my dear friends, neighbors, and relatives, for another great year in which I didn’t die.

And now I’m raising a glass (no really – just picture it in your head if you have to) to another great year in 2014 – may it be even more awesomer than last year.

Goodbye Modbus Droid, Hello Mobile Modbus

No Gravatar

I’ve been really busy with some new and exciting stuff for a while now. This year I saw my frist child, a daughter born, around that same time I shifted from being an Electrical Design Engineer, to an Engineering Supervisor at Veeco. And then, in September, I was offered a Software Engineering position at Trane in their commercial Climate Solutions division.

In all this time I haven’t had much of an opportunity to get back to my hobby project, ModbusDroid. I’ve had ideas for a while on how to improve it, and I even started working some on a fragment API (Android 3.0+ UI guidelines), but never got very far with it because of all the craziness with life this year.

So, I’ve decided it is time to get back on the wagon and start back to it – but with some caveats and a few notes.

1) In all the computer transition, and a minor server hard drive glitch, I lost the key files to the original ModBus Droid, so I currently can’t upload any updates to the Google Play store. Also, a while ago, I started working on a re-name of the project for porting the app to the BlackBerry playbook, and I’ve decided I like the somewhat more generic naming – Mobile Modbus. So for the time being, the app is going to be a brand new app, not a 2.0 of ModBus Droid. Mobile Modbus might stick as a name, it might not – I’m open to suggestions so send them my way.

2) Very early on, after I layout some rough frame-work and UI for the app, I’m going to do the development out in the open on GitHub. A lot of this is going to be re-written from scratch or heavily refactored. So, to all my friends who have been telling me that they were thinking about getting into Android development – get your github accounts set up – and follow me there. Install git on your PC, and the Android SDK, and import the old version of modbusdroid from github so you know you are set up and good to go. There has never been a better time – they even started bundling eclipse with the android SDK to make it easier to get started – and github has great GUI git clients for both windows and mac.

3) Part of this refactor is about being a better open source citizen. We make heavy use of the Modbus4J library in the app – a pretty great library that does batching (which we don’t currently use), and I made some non-trivial, but not major either, changes and additions the library. Rather than being awesome and contributing patches back to the main repository, I just dropped a rev of the source code right into the projects source and never really looked back. This time I’m going to clone the CVS and convert it to Git (done actually) and publish that to github with links back to the original project. I would contribute right back to the sourceforge page, but honestly – CVS… in 2012/2013… I hate CVS, not gonna happen any time soon. Call me lazy, but at least I’m going to make it easier to seperate out what I did vs what was from the original project. I plan on tracking it better too.

We’re also going to be using the ActionBarSherlock and SlidingMenu libraries, and I’ll make a fork of those on github if we need to change anything in them.

4) I really really want to get a few features into this 1.0 release of this app that weren’t in the original Modbus Droid. First off, I want to get Modbus RTU over TCP in there, and lay the groundwork for eventual bluetooth serial port adapters (SPP) with straight ModbusRTU. I also want at least lay in the foundations for saving some favorites in terms of configurations / IP addresses, and the possibility of giving registers names. Finally, I also want to get in something that could write out updates to a file for data logging. I’m contemplating some of the more advanced features would be in and ‘advanced mode’ in the settings or something like that to keep from cluttering the simple interface for people who just want to get in and out quickly while/after monitoring some registers. Only when the advanced mode was on would we expose some of these UI elements to enable these features. To see some of the design patterns for the new versions of android, and some neat extensions to them, check out Android Views.

So anyway, this is where I’m taking things. Hopefully over the next few weeks during the holidays I can get a few commits into github and you can all start to see where this is going. And if you are feeling adventurous, read up on Modbus, the Modbus4J library, and Android development – and feel free to jump in by forking the project on Github once it is on there (I will tweet/G+/blog about it when it is up).