The 6 deadly sins of Google Apps Script Add-on development thumbnail

So you want to build an add-on for Google Docs, Sheets, or Slides, but you’re worried about ending up on the highway to development hell? You’ve come to the right place, then. As someone who has been down that road before, I’d like to share some of the mistakes, missteps,…

Functional Programming Principles Every Imperative Programmer Should Use thumbnail

Sometimes it seems like functional programmers are a totally different breed. Even by programmer standards, they seem more nerdy than the rest. They use weird terms, such as "monad," "for-comprehension," and "lambda." They use languages that don’t end every line with a semicolon. And, no matter how uneasy Java programmers…

Converting 600k lines to TypeScript in 72 hours thumbnail

Background Users have been using Lucidchart for a long time to make their diagrams, since 2010 and IE6. And for nearly that long, Lucid has used Google’s Closure Compiler to manage its increasingly sophisticated code base. Closure Compiler is a typechecker and minifier that uses JSDoc annotations in comments to…

5 usage ideas for Angular pipes thumbnail

Pipes are a useful feature in Angular. They are a simple way to transform values in an Angular template. There are some built in pipes, but you can also build your own pipes. A pipe takes in a value or values and then returns a value. This is great for…

The Dangers of Garbage-Collected Languages thumbnail

The dangers of garbage-collected languages Any programmer that has had to manually manage memory knows the value of automatic memory management, also known as garbage collection. Garbage collection prevents several potential bugs that occur in manually managed memory, such as dangling pointers, double free errors, and several types of memory…

How to Make a Killer Data Dashboard with Google Sheets thumbnail

Every company operates around objectives and uses key performance indicators (KPIs) to track progress towards those objectives. For each goal, there are two main questions teams should easily be able to answer at any time: How much progress have we made so far? Are we on track to hit the…

Supercharging App Development at Atlassian Connect Week thumbnail

About a month ago, I attended my first Atlassian Connect Week in Austin, Texas. If you haven’t heard about Connect Week before, you’re not alone. It’s a relatively new event series that Atlassian started in 2016. These events are targeted at Atlassian Marketplace developers: if you have an app idea,…

Fantastic Testers and How to Hire Them thumbnail

One day, I realized that my testing workload was too much for me to handle alone. It was time for me to embark on the recruiting train. Hiring new testers is critical to protecting existing team members from burnout and to cover the ever increasing volume of testing needs. Hiring…

How to defuse a bomb… Wait, I mean a bug thumbnail

Helpful testing methods to get a quality product out faster When you have a product release happening very soon and there are major features going out, you may feel a bit of pressure trying to make sure there are no bugs going out with those features. Testing the product under…