Phoenix Framework Support and Why Ruby on Rails Still Works

Functional programming has been successful through React and its derivatives on the front end. Why can’t we embrace it for the full stack? The solution for traditional model-template-view applications can be functional, too. A good incumbent is the Elixir language with Phoenix framework.
Read more on Phoenix Framework Support and Why Ruby on Rails Still Works…

My Swift Tool Belt, Part 5: Adding a Gradient UIButton

The fifth item in my Swift Tool Belt is a class derived from UIButton that will draw your button with a gradient background. It will also expose the colors of your gradient in the attributes inspector of Xcode and render the gradient button directly in your storyboard. Read more on My Swift Tool Belt, Part 5: Adding a Gradient UIButton…

Mocking in JavaScript Unit Tests Using Sinon.JS

Lately, I’ve been using Sinon.JS for mocking in my unit tests. By using mocks for dependencies inside functions, I can write unit tests that are resilient to a changing codebase. Functions with mocks can also be developed without worrying about the chain of dependencies that could affect the logic inside the functions. Read more on Mocking in JavaScript Unit Tests Using Sinon.JS…

Formatting AWS CloudFront and ELB Logs for Easy Review

Access logs from AWS CloudFront distributions and AWS Elastic Load Balancers can be essential to diagnosing problems with an AWS infrastructure. AWS provides the ability to store these logs in AWS S3 buckets.

However, the log files are often in very many small files which need to be combined in order to get a full picture of the traffic that they represent. In order to make this process easier, I wrote a few scripts which help me to quickly download and format the logs in a usable format for review. Read more on Formatting AWS CloudFront and ELB Logs for Easy Review…

Cedux: Experimenting with the Redux Model in C

The world of embedded software development can feel like a very isolated place. Earlier in my career, when I was doing mostly embedded work, I remember often feeling jealous of my colleagues who were working on mobile and web applications. I would constantly hear them talking about exciting new libraries, frameworks, and tools with catchy names that supposedly made their lives easier. I was saddened by the lack of excitement and advancement of tools for those of us writing C. Read more on Cedux: Experimenting with the Redux Model in C…

Building Concurrent Primitives in Ruby without a Queue

The number-one, easiest way to make Ruby threads communicate and synchronize is to use the built-in Queue class. You can even see this in the Ruby docs: This class provides a way to synchronize communication between threads.

Unfortunately, a Queue isn’t always what we want. So, how can we build our own primitives that are still nice and thread-safe? Read more on Building Concurrent Primitives in Ruby without a Queue…

Getting Started with NSTouchBar for macOS using Storyboards

With the addition of the Touch Bar comes the ability to customize it for your own applications. From simply adding buttons to incorporating sliders or color pickers, programming the Touch Bar is a new, creative way to add shortcuts and other functionality into your Mac app.
Read more on Getting Started with NSTouchBar for macOS using Storyboards…