When I first started at Lucid Software in 2017, I was on the internationalization team, commonly shortened to the numeronym “i18n” because there are 18 letters between the “i” and the “n.” As a software engineer with a Bachelor of Arts in Linguistics, this position was a great place for…

Why Turning on HTTP/2 Was a Mistake. HTTP/2 is a great leap forward for HTTP. It increases bandwidth efficiency by using a binary compressed format for headers, decreases latency by multiplexing requests on the same TCP connection, and allows the client to specify priorities for requests. In many cases moving…

Code Kerfuffle 2019 Results thumbnail

This year at Lucid, we ran our first-ever Code Kerfuffle: an open coding competition consisting of two stages. The first stage was a traditional algorithmic competition administered over the Internet. Of the hundreds of people who entered the first round, 32 finalists were invited to an in-person final round where…

Using Apache Airflow's Docker Operator with Amazon's Container Repository thumbnail

Last year, Lucid Software’s data science and analytics teams moved to Apache Airflow for scheduling tasks. Airflow was a major improvement over our previous solution—running Windows Task Manager on analyst’s laptop and hoping it worked—but we’ve had to work through a few hurdles to get everything working. One interesting hurdle…

Seven Steps Of Highly Effective Warehouse Migration thumbnail

In the spring of 2018, our data science team at Lucid decided to move our data warehouse from Redshift to Snowflake. We decided to make this change because we felt like Snowflake was a better fit for our data flow and analysis. We knew it would be a significant change…

How to Plan a Programming Competition thumbnail

Lucid has hosted multiple programming competitions and is about to host our biggest one yet in March—Code Kerfuffle—with $50,000 in prizes. Here are some things I’ve learned from helping plan and run Lucid’s programming competitions. 1. Define your purpose The first thing to keep in mind when planning competitions is…

Working with Anxiety: From Personal Weakness to Career Strength thumbnail

If asked to describe yourself in a few phrases, which ones would you pick? In social situations, I might say, “I like music, and I like volleyball.” In professional situations, I might say, “I have a bachelor’s degree, and I’ve worked for five years as a Quality Assurance Specialist.” But,…

What you should know before making a service worker thumbnail

Service workers have arrived and they are awesome. They let you create excellent fallback behavior to provide users with seamless offline experiences. With service workers, websites are a step closer to giving users a native app experience in the web browser. With the help of service workers, Lucidchart can save…

QA: How to become a team hero and not a team villain thumbnail

Let’s face it: Sometimes being a tester can feel like being the bad guy. Much of your time consists of telling people when something hasn’t worked or when something needs improvement. When you’re the one consistently bringing up flaws, “staying positive” doesn’t always seem to fit the job description. But…

JavaScriptCore—10 Months Later thumbnail

Ten short months ago we published a blog post showcasing how Lucid shares code between iOS, Android, and the web. In that post, we highlighted a new feature that executed a subset of our shared JavaScript using JavaScriptCore, a WebKit framework for helping JavaScript inter-op with native code. Today we’re…