Why Discord Is Sticking with React Native
Discover the latest news and app updates, stories, company insights, and plenty more about Discord, all in one place.
Python 3 is now available on App Engine standard environment
Python 3.7 is available today in beta on the App Engine standard environment.
Lessons learned while developing Age of Empires 1 Definitive Edition
In late 2016 I began helping Forgotten Empires on Age 1 DE , a UWP app shipping in the Windows Store on Feb 20th. I only helped occasionall...
Elm 0.19 Broke Us
Elm 0.19 was released yesterday. There were a significant number of breaking changes at every level:...
Systemd is bad parsing
Systemd has a remotely exploitable bug in its DHCPv6 client . That means anybody on the local network can send you a packet and take control...
JS things I didn’t know existed
I was reading through the MDN docs the other day and found these JS features and APIs I never knew existed. So here is a short list of those things, useful or not - learning JS seemingly never ends. Label Statements [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/
Escaping the SPA rabbit hole with modern Rails
The SPA path is dark and full of terrors. You can bravely fight those… or choose a different path that takes you to a similar destination…
How to speed up the Rust compiler in 2018
18 months ago I wrote about some work I did to speed up the Rust compiler (rustc). I’ve recently taken this work up again. Also, in the meantime rustc’s build system has been replaced and its benchmark suite has been overhauled. So it’s a good time for an update.
Pipenv: promises a lot, delivers very little
Pipenv is a Python packaging tool that does one thing reasonably well — application dependency management. However, it is also plagued by issues, limitations and a break-neck development process. In the past, Pipenv’s promotional material was highly misleading as to its purpose and backers.
Why you should learn F#
Programming, Coffee and Indie Hacking
Building a chat app in 8 minutes with Phoenix
One of the great features of Phoenix is how easily it allows developers to include realtime functionality in applications. In this episode we'll use Channels to build a simple chat application in 8 minutes.
C Portability Lessons from Weird Machines
In this article we’ll go on a journey from 4-bit microcontrollers to room-sized mainframes and learn how porting C to each of them helped people separate the essence of the language from the environment of its birth. I’ve found technical manuals and videos for this article to help bring each computer to life.
Pointers Are More Abstract Than You Might Expect in C
A pointer references a location in memory and dereferencing a pointer refers to the lookup of the value of the memory location the pointer references. The value of a pointer is a memory address. The C standard does not define the representation of a memory address. This is crucial since not every architecture makes…
Qt for WebAssembly
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
LLVM for Grad Students (2015)
LLVM is a godsend of a research tool. Here are some detailed notes on what LLVM is, why you would want to use it for research, and how to get started as a compiler hacker.
Microsoft cURLs too
On December 19 2017, Microsoft announced that since insider build 17063 of Windows 10, curl is now a default component. I've been away from home since then so I haven't really had time to sit down and write and explain to you all what this means, so while I'm a bit late, here it comes! … Continue reading Microsoft…
How LLVM Optimizes a Function
This is very nice summary of IR Passes. I found “InstCombine” pass to be easier to start with to understand the code flow in LLVM IR Pass. Maybe the beginners can start with that first.
World of Warcraft: one simple line of code can cost you dearly (2016)
A few days ago, a new type of gold/item scam made the rounds. Usually scamming in MMORPGs is done using social engineering techniques, e.g. an attacker sells a fake item code for alleged in-game items like mounts to a potential victim for in-game currency. But this most recent kind of attack does not only involve…
Writing a Microservice in Rust
Musings on navigating the tech bubble with philosophy and self-improvement.
How to Manage Connections Efficiently in Postgres, or Any Database
Hitting the limit for maximum allowed connections is a common operational problem in Postgres. Here we look at a few techniques for managing connections and making efficient use of those that are available.
Babel 7 Released
After almost 2 years, 4k commits, over 50 pre-releases, and a lot of help we are excited to announce the release of Babel 7. It's been almost 3 years since the release of Babel 6! There's a lot of moving parts so please bear with us in the first weeks of release. Babel 7 is a huge release: we've made it faster…
How I've built a profitable Slack bot as a side project in Rails
I've built a Slack anonymous messaging bot in Ruby on Rails and it is profitable. In this blog post I will describe what I did and tools I used to create, promote and monetize a simple SAAS product.
The future of Java and OpenJDK updates without Oracle support
This post describes the furture support for Java and OpenJDK updates, now that Oracle has announced that soon it will no longer supply free binaries for JDK releases or write patches for bugs.
Escaping Hell with Monads (2017)
As programmers we occasionally find ourselves in “Programmer’s Hell”, where our regular abstractions fail to satisfactory solve certain recurrent problems.