Using an Int Type in TypeScript

The project I’m working on has a Node.js back end written in TypeScript, with a PostgreSQL database for persistence. We had a production user who encountered an error when the system tried to insert a row into a table that had an integer column in it. The value it was trying to insert was 239.99999999999997, so it made sense that PostgreSQL was complaining about it being “invalid input syntax for an integer.”

Read more on Using an Int Type in TypeScript…

A Library for Driving NeoPixels with the ESP32 Micro Controller

The NeoPixel is a very cool little device. It combines three LEDs (red, green, and blue) with a specialized microprocessor, all in a package about the same size as a traditional LED. These smart LEDs open up a wide range of new project possibilities because they reduce the amount of circuitry and processor pins that would otherwise be necessary to drive an array of lights. Read more on A Library for Driving NeoPixels with the ESP32 Micro Controller…

Getting Ready to Break Everything (in 5 Easy Steps)

Every project eventually hits a point where a big change needs to be made, and it’s going to break everything. And you’re going to be the one stuck putting it back together.

Whether it’s a language or tool change that causes your application to no longer compile, a third-party SaaS service change that breaks features throughout your app, or just a big refactoring, eventually you’re going to have to bite off more than you can chew. After having been faced with situations like these many times, I’ve developed a coping strategy. Read more on Getting Ready to Break Everything (in 5 Easy Steps)…

Pivotal + Invision – Our Two-Tool Solution for Managing Design & Software Implementation

It’s not often that design is completed before implementation begins. With multiple to-do lists taking place at the same time, finding a way to keep track of everything that needs to be done is crucial to staying on top of a project.

There are two great tools to help make this happen—Pivotal Tracker and InVision. Together, they’ve given us a powerful combination to keep us and our clients apprised of progress. Read more on Pivotal + Invision – Our Two-Tool Solution for Managing Design & Software Implementation…

Unit Testing Custom Xamarin.Forms Controls

When using Xamarin.Forms, the conventional wisdom is that you write unit tests around the ViewModel, but not the View. This approach works well for most cases with MVVM, but if you’re developing custom controls, it’s likely not sufficient. In this post, I’m going to dive into a bit of what it takes to successfully write unit tests around custom Xamarin.Froms controls.

Read more on Unit Testing Custom Xamarin.Forms Controls…

Spawn Virtual Browsers Effortlessly with Firefox Containers

You may have heard of Mozilla’s Facebook Container, an add-on for Firefox that keeps Facebook isolated whenever you open it. It’s an easy-to-use and simple tool for defending user privacy.

But you may not have heard much about the Firefox features that make the Facebook Container possible. They’re called Firefox Containers—and they represent a useful tool that sets Firefox apart in a powerful way. Read more on Spawn Virtual Browsers Effortlessly with Firefox Containers…

What Challenge Will Your Company Face Next? Check the Predictable Success Framework

As each company grows, it faces different challenges. Some of these hurdles follow known patterns related to where the company is in its evolution. For example, early-stage companies founded by a strong entrepreneur often get to a point where the founder becomes overwhelmed with too many competing demands. Companies that have experienced rapid growth can suddenly stall out. Very mature companies face a different challenge where it never feels like anything gets accomplished. And companies like Radio Shack eventually slide into obsolescence when they can’t re-evolve into something new. Read more on What Challenge Will Your Company Face Next? Check the Predictable Success Framework…

3 Tips for Dealing with Technical Debt

Technical debt occurs when we knowingly or unknowingly make a decision that will require parts of our system to be reworked later. Maybe we write some messy code in the interest of rapid prototyping and iteration, or maybe we avoid updating a library because it introduces changes that will require a lot of refactoring. We could also simply be unaware of the best way to do do something and learn later that our solution has some negative implications. Read more on 3 Tips for Dealing with Technical Debt…

loading…