McNelson's corner of the web

Latest blog post

Representations of time without timezone in Ruby and Rails
Apr 26, 2020

It finally happened. I had to model time and date with no time zone information, yet Active Record assumes all times timestamps have it. Not long after, requirements to work with several time-of-day points of data followed, and questions quickly arose of how best to work with them.

My tech background

Gave the daunting problem of record history (and all relationships) my best shot as our application outgrew gem solutions.
With Javascript testing frameworks finally becoming half usable, went through a great exercise in pushing for the other half.
The Xiaomi M365 electric scooter reels me into a massive amount of modding and tuning on both the software and hardware side.
Despite how hard it is to break away from Ruby, pushed as much as possible into ES6, Vue and Webpack.
Worked out a tidy integration for deploying a Vue SPA alongside of a Heroku app for those of us who enjoy letting someone else put out infrastructure fires.
Embraced Vue to build a new single-page application on an expanding engineering team.
Carved away Rails' view layer responsibility to focus on making an API via the JSONAPI spec. Found its development a bit on the stagnant side.
Threw out my .vimrc and rebuilt everything in Neovim. I was far too used to latency on save.
They Are Billions snags far too much of my free time.
Set up an in-house Elasticsearch/Kibana box behind Nginx. Kibana is such a powerful tool.
Warily ventured into the world of Amazon API Gateways & Lambda Functions, which I found to be very convoluted.
Began playing with Webpack and Yarn after a couple of Rails 5 upgrades.
Took the lead on several complex feature releases for a logistics solution in a 5-person team.
Thoroughly enjoyed building a UI with the slick combination of JBuilder and React.
Realized the importance of Selenium to today's application development practices.
Rocket League joins TF2 as probably one of my favorite games of all time.
Attempted to wrap my brain around how ElasticSearch worked.
Took on the agonizing task of migrating a whole Github org from Travis to Codeship.
Upon getting a Continuous Glucose Monitor, made a visualizer app so I could store all my BG readings.
Hopped jobs and took a Rails app off the ground.
Integrated Paypal and Amazon payments for ecommerce platform on very quick order.
Considered launching an idea with some friends, found it was really not in my blood.
Wrote a game in Node with a Campfire bot interface that helped encourage our dev team to review PRs.
Poked Angular JS with a stick. Didn't like it.
Extraordinarily lucky to learn Rails inside and out with a top-notch engineering team that changed everything I knew about web development.
Got serious about Javascript and started with Ruby on Rails, professionally and for college project.
Couldn't believe how more sense the decentralized concept of Git made over the server-client oriented SVN.
Took classes in C & C++ and found them to be exemplary languages.
Somewhat fell in love with Illustrator after taking class in brand identity design. Not terribly keen on Photoshop, however.
Wordpress here, Wordpress there. Everyone's doing it.
Racked my noggin setting up email service on my Slice, and then migrating it all to Linode after Rackspace sadly bought Slicehost.
A pretty quintessential Silicon Valley startup revealed to me the miracle of version control software.
Got a Droid Incredible and immersed myself in customizing every last little thing.
Last graduating year to do Flash & Actionscript, then they switch to Javscript. Just my luck.
Learned frameworks exist when I bumped into CodeIgnitor, showed me the concept of MVC.
Internship in SEO/marketing reveals that you can actually make Google like your site.
Comatose for a couple weekends playing Minecraft.
Took a break to do college stuff.
Particular illustration in Graphic Design class clearly indicated it wasn't meant to be, but would at least give me laughs for years to come.
Class in Visual Basic becomes the first and last time I touch an M$ programming language.
Played lots of Valve games and kept plugging away at PHP.
Got my public static void main on in BlueJ. Ick.
Mostly beat up Wordpress to yield endless possiblities.
Kept hacking features into phpBB, really started to grasp SQL.
Illustrator class showed that I might have an arty side.
Discovered I could break into my KRZR flip Phone with P2K Commander & M-Explorer.
Made a Tripod website detailing a side project.
Graduated to Pinnacle Studio 10 from Premiere, found that it crashed and froze up just as much.
Wanted to host a phpBB forum on a cloud instance, so I unknowingly gave myself my first true introduction to Linux (CentOS) and Vim.
Made some game mods written in Pawn (C-like lightweight embedded language).
Installed Podzilla (iPod Linux) in order to watch videos on my iPod nano, an insane concept at the time.
Drew up game sprites and forum signatures in GIMP.
Adobe Premiere 7 was a totally miraculous program when it wasn't freezing up or crashing.
Learned how the macro switch worked on a camera after accidentally leaving it on throughout a trip to Europe.
Still enamored with The Sims, made a little Frontpage website that shows all cars in the game.
Made a bunch of cheesy animations in PowerPoint.
Meteor, an indie top-down shooter, provides my first exposure to C.
Tried to write covers of various songs in Cakewalk Express.
Endlessly tinkered with interactive buttons in MS Frontpage.
Tried The Sims at a friend's house and built all the houses.
Endured a serious Stagecast Creator phase on a school Apple G3.
Obsessed over locking topics on discussion forums.
Tech program at school provided a first taste of Coreutils. I had no idea how fortunate I was at the time.
Acquired hand-me-down SNES and courageously tried to beat Jurassic Park.
Lots of Need for Speed High Stakes, the game of my childhood.
Checked out what the inside of our 933 MHz Pentium III computer looked like.
Changing my desktop background and screensaver in Windows 2000 was so much fun that I had no idea about Y2K.