New
The latest blog posts to take off on Hacker News. 4,763 posts.
How Unreal Renders a Frame
This is part 1 of the “How Unreal Renders a Frame” series, you can access part 2 and part 3 as well. I was looking around the Unreal source the other day and inspired by some excellent …
How we moved to Google Cloud using Consul and ZeroTier with zero downtime
Our old hosting provider was having network issues... again. There had been a network split around 3:20 AM, which had caused a few of our worker servers to become disconnected from the rest of our network. The background jobs on those workers kept trying to reach our other services until their timeout was reached, and…
Node v8.8.0
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Facebook Shouldn’t Be Allowed to Buy Tbh
Facebook is acquiring tbh, another burgeoning social network; regulators erred in allowing the Instagram and WhatsApp acquisitions, but there is no better place to start enforcing the law than now.
Build your own Terminal using Qt
I'm a huge fan of Unix as an IDE and so the terminal is the core of my computational environment: I run everything from my development tools and text editor to my chat apps and email. There are a variety of terminals out there with their own set of pros and cons, but here we'll find out how to build our own terminal…
Amazon Aurora with PostgreSQL Compatibility
Late last year I told you about our plans to add PostgreSQL compatibility to Amazon Aurora. We launched the private beta shortly after that announcement, and followed it up earlier this year with an open preview. We’ve received lots of great feedback during the beta and the preview and have done our best to make […]
Dynamic Progamming: First Principles
Many problems of todays world require multiple decisions made throughout the lifetime of the problem. Choices are made based upon information, including previous decisions made in the problem. This article looks at how Dynamic Programming can be applied to help solve these problems in an efficient manner.
How We Bootstrapped Our SaaS Startup to Ramen Profitability
It’s been seven months since we launched our SaaS startup and we’re ramen profitable. Canny makes enough to pay for its own expenses and our personal living expenses. This is far less money than we made working at Facebook, but a huge milestone for our bootstrapped startup.
If you care about diversity, don't just hire from the same five schools
Want to hire engineers from non-traditional backgrounds? Stop relying on career fairs.
Gmail Launches Add-ons
New Gmail Add-ons to help you speed up your workflows at work.
Speech Recognition Is Not Solved
Ever since Deep Learning hit the scene in speech recognition, word error rates have fallen dramatically. But despite articles you may have read, we still don’t have human-level speech recognition. Speech recognizers have many failure modes. Acknowledging these and taking steps towards solving them is critical to…
Saying Goodbye to Firebug
The most popular and powerful web development tool. Firebug has been a phenomenal success. Over its 12-year lifespan, the open source tool developed a near cult following among web developers. ...
Obscurity Is a Valid Security Layer
Good Obscurity vs. Bad Obscurity Camouflage OPSEC An SSH Example Reducing Impact or Probability Summary Many of us are familiar with a concept know as Security
Faktory, a new background job system
Yesterday I explained how a good background job framework is critical to scaling business applications. Today, meet Faktory. I’ve spent the last six months building Faktory, a new background job system which aims to bring the best practices developed over the last five years in Sidekiq to every programming language…
Portugal Bans Use of DRM to Limit Access to Public Domain Works
At EFF, we've become all too accustomed to bad news on copyright coming out of Europe, so it's refreshing to hear that Portugal has recently passed a law on copyright that helps to strike a fairer balance between users and copyright holders on DRM. The law doesn't abolish legal protection for DRM...
Why does one Nginx worker take all the load?
Scaling up TCP servers is usually straightforward. Most deployments start by using a single process setup. When the need arises more worker processes are added.
Attack of the week: DUHK
Before we get started, fair warning: this is going to be a post about a fairly absurd (but non-trivial!) attack on cryptographic systems. But that’s ok, because it’s based on a fairly a…
The Long Way Round (2014)
The morning of 6th January 1942 was a going to be a cold one. Not that this was unusual for New York, mused the controller manning LaGuardia’s airport’s tower, but it meant he’d have to remember to wrap up extra warm when he headed home.
Games Look Bad: HDR and Tone Mapping
This is Part 1 of a series examining techniques used in game graphics and how those techniques fail to deliver a visually appealing end result. See Part 0 for a more thorough explanation of the ide…
Please Stop Writing Secure Messaging Tools (2015)
This is my first Patreon-supported essay, which went out a week early to my $10 and up subscribers. This was written in part in response to issues with the IWMF check-in tool, but it's something I've been concerned about for some time.