Asm.js Speedups Everywhere
asm.js is an easy-to-optimize subset of JavaScript. It runs in all browsers without plugins, and is a good target for porting C/C++ codebases such as game engines - which have ...
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,834 posts.
asm.js is an easy-to-optimize subset of JavaScript. It runs in all browsers without plugins, and is a good target for porting C/C++ codebases such as game engines - which have ...
Years ago, OpenBSD gained two new security system calls, pledge(2) (originally tame(2) ) and unveil . In both, an application surrenders capabilities at run-time. The idea is to perform initialization like usual, then drop capabilities before handling untrusted input, limiting unwanted side effects. This feature is…
As the popular saying goes, there are only two hard problems in computer science: caching, off-by-one errors, and getting a Rust job that isn’t cryptocurrency-related. Today, we’ll discuss caching!...
A year ago today I put up the original blog post for Light Table . It was just a simple video of a prototype I made in less than a week while I was visiting my grandparents without internet - at the time we had no idea what it would become. To be honest, I thought some would think it was neat, but then it would fade…
Official Home Page for valgrind, a suite of tools for debugging and profiling. Automatically detect memory management and threading bugs, and perform detailed profiling. The current stable version is valgrind-3.28.0.
Intro, overview
Dolphin started solely as a GameCube emulator, focused only on the one console. But, when the Wii was released and it was discovered to have hardware almost identical to its older sibling, Dolphin naturally evolved into a GameCube and Wii emulator. All of our readers are probably familiar with this....
A Better Model for Day to Day Threading Tasks
Haskell vs. Erlang Since I wrote a bittorrent client in both Erlang and Haskell, etorrent and combinatorrent respectively, I decided to put ...
Earlier this year, my colleague Peter Moon shared our plans to launch an AWS SDK for Go. As you will read in Peter’s guest post below, the SDK is now generally available! — Jeff; At AWS, we work hard to promote and serve the developer community around our products. This is one of the reasons […]
Describing technical and design issues associated with having creatures that occupy multiple cells in the grid-based world of a roguelike, with solutions.
An aggregation is some kind of summary of a set of data. This can be the sum, length, minimum, etc. It is quite common to want to calculate such a summary repeatedly, e.g. “the maximum noise level in dB for the past 30 seconds” for a nuisance detector. In such a case we say there is a sliding window over our data, and…
The critical rules to keep in mind when designing an event-driven architecture
This article is a starting article in a series that is going to briefly skim through a good engineering textbook on linear algebra, making notes that help yo...
A hundred things I learned writing my first technical book “Data-Oriented Programming”
Introducing rvest: scrape web data with CSS selectors or XPath, extract text/tables, and navigate sites with sessions.
Trinity is a fully chained exploit for the PS Vita™ consisting of six unique vulnerabilities. It is based on a decade of knowledge and research. The source code of Trinity can be found here.
A journey in building an ARM CPU from scratch in a digital circuit simulator, and running Rust on it to interpret Scheme and serve Web pages.
Lately I’ve been acting as the unofficial Git consultant for Skribit , usually in response to @Stammy saying something on Twitter along the lines of “Hey, git just did something totally nonintuitive and now I can’t figure out what to do next.” I’ve been using Git long enough to know the answer, usually, or at least to…
A technical dive into traditional TCP proxying over HTTP
We have established that there is a homomorphism called θ from B, the PROP of diagrams, to Mat, the PROP of matrices. To do this, it was enough to say where θ takes the four stars of the story so f…
It's been just over three months since we announced the Guile on WebAssembly project (codenamed Hoot ). Since then we've brought on two fantastic hackers to develop the project and progress has been quick.
I'm the kind of person who reads encyclopedias front to back just for fun, and I've been fascinated by mathematical special functions at least since my first encounter with the gamma function as a teenager. My work implementing numerical and symbolic algorithms in mpmath , Arb and other software projects during the…
For the last few weeks, I've been working on a couple of patches to tcmalloc, Google's super high performance memory allocator. I'm going to post about them soon, but first I thought it would be cool to give some background about what a memory allocator actually does. So, if you've ever wondered what happens when you…
Dan's blog
Registers in Vim are best thought of as scratch spaces for text, some of which are automatically filled by the editor in response to certain actions. Learning how to use registers fluently has a lot of subtle benefits, although it takes some getting used to because the syntax for using them is a little awkward.
Github recently drafted an update to their Terms Of Service. The new TOS is potentially very bad for copylefted Free Software. It potentially neuters it entirely, so GPL licensed software hosted on Github has an implicit BSD-like license. I'll leave the full analysis to the lawyers, but see Thorsten's analysis .
It has been a year and a half since I wrote the first version of this tutorial and it is time for an update. Knet (pronounced “kay-net”)...
I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times and NetBSD was the best choice for it. Let's look at why its build system helps.