Let's Reverse Engineer Discord
How we reverse engineered Discord’s call protocol and found it being MITM-ed by Discord.
How we reverse engineered Discord’s call protocol and found it being MITM-ed by Discord.
Asana engineers are TypeScript fans, and we’ve learned a lot about where TypeScript shines and struggles. Here are 3 of our favorite TypeScript surprises.
The following is a list of many bugs caught on or near leap day, February 29th, 2020. Each link below references the issue with supporting details where available.
It’s been 18 months since we talked about our Rails modular monolith. We lay out the current state of the work, and things we’d do differently if we started again.
I've recently read an article criticizing Rust, and, while it made a bunch of good points, I didn't enjoy it --- it was an easy to argue with piece. In general, I feel that I can't recommend an article criticizing Rust. This is a shame --- confronting drawbacks is important, and debunking low effort/miss informed…
Intro This post will cover challenges and aspects of production to consider when creating new rendering / graphics techniques and algorithms – especially in the context of applied research fo…
Abstracting away the complexity of payments has driven the evolution of our APIs over the last decade. Learn more about Stripe payments APIs here.
Editor’s preface: When I first joined Dropbox in May 2017, we were at the tail end of our CoffeeScript to TypeScript migration. If you wanted to make changes to a CoffeeScript file, it was considered common courtesy to convert it to TypeScript while you were at it. Parts of our codebase were still using…
ShellCheck is a static analysis tool that points out common problems and pitfalls in shell scripts.
Alpine Linux is often recommended as a smaller, faster Docker base image. But if you’re using Python, it will slow down your build and make your image larger.
Update your Bash prompt with the command start time.
software engineer in sydney, australia
Using setjmp(), longjmp(), and assembly to implement a simple threading system in C!
So You Want To Write Your Own CSV code? Fields separated by commas and rows separated by newline. Easy right? You can write the code yourself in just a few lines.
Check out what we learned from shipping our busiest Go service in production—we found 3 bugs in the Go MySQL driver.
I do enterprise cloud stuff at Google, also at k8sfiles.com. Words are my own.
It appears that the clang-11.0.0 compiler mis-compiles sqlite3.c version 3.32.1. I have checked in a change to SQLite that appears to work around the problem. But there might be other bugs. Therefore, use clang-11.0.0 with caution and test your applications carefully!
I get confused with tensor computation libraries (or computational graph libraries, or symbolic algebra libraries, or whatever they’re marketing themselves as these days). I was first introduced to PyTorch and TensorFlow and, having no other reference, thought they were prototypical examples of tensor computation…
A small tweak to your Git config that will make the diff output smarter and more language aware
This tutorial is free and open source, and all code uses the MIT license - so you are free to do with it as you like. My hope is that you will enjoy the tutorial, and make great games!
Starting today, May 1, we’re switching from our cgit/gitolite setup to GitLab. Our old server, git.xfce.org, is now a ready-only in-sync mirror (so you can still pull code). Our new server is gitlab.xfce.org.
With cljfx and Java 14 it’s finally here
Ten years ago, Chas Emerick ran the first State of Clojure survey. In 2010, most users had been using Clojure for just weeks or months, and few were using it as a language for serious work. This year , we see consistent and growing use for work , steady interest in the key value propositions of Clojure, and an…