GitHub Permissions Update

We’ve improved the security of our GitHub integration by migrating to GitHub Apps, for fine-grained permissions and read-only repo access. Why GitHub Apps?. Ever since the GitHub released GitHub Apps,…

Read more

GitHub adds WakaTime as Secret Scanning Partner

We’re proud to announce GitHub has partnered with WakaTime to scan for leaked api keys and other secret WakaTime tokens. WakaTime tokens allow users to programmatically access their WakaTime code stat…

Read more

WakaTime 2022 Programming Stats

Happy New Year! In 2022, more than 400k developers spent a combined 43 million hours programming, tracked with WakaTime plugins. The average person spent 46 minutes per day programming. Each year we r…

Read more

Building a Background Task Queue in Python

Why not just use Celery/RQ/Huey/TaskTiger?. Unfortunately, WakaTime has been using Celery for almost 10 years now. During that time I’ve experienced many critical bugs, some still open years after bei…

Read more

The End of Atom

Today GitHub announced it will archive Atom and all projects under the Atom organization for an official sunset on December 15, 2022. Why?. Development on Atom has been slowing for a while now. We see…

Read more

WakaTime 2021 Programming Stats

Happy New Year! Here's your WakaTime code stats for 2021. In 2021, more than 300k developers spent a combined 39 million hours programming, tracked with WakaTime text editor plugins. The average perso…

Read more

Go Desperately Needs Nil Safe Types

If you’ve worked with Go before, you’ve probably seen this runtime error. panic: runtime error: invalid memory address or nil pointer dereference The current solution is checking thevar != nil before …

Read more

Maximize your concurrent web server connections

For production web servers, most people assume scaling means needing faster (and more expensive) hardware. Before spending more money on servers, first make sure your web server process is using the m…

Read more

Latency of DigitalOcean Spaces vs AWS S3

WakaTime’s infra is split across DigitalOcean and AWS. We use DigitalOcean Droplets for compute resources, AWS S3 to store code stats, and DigitalOcean Spaces for backups. You can find more info on th…

Read more

Using a disk-based Redis clone to reduce AWS S3 bill

Redis is an in-memory database with very high write and read speed, and a limitation that data sets can’t be larger than available RAM. It’s like memcached but supports data structures instead of just…

Read more