New
The latest blog posts to take off on Hacker News. 1,274 posts.
The Road to GraphQL
The free GraphQL book takes you on a journey to master GraphQL in JavaScript the pragmatic way with React, Node, and Apollo. Grab your free PDF, EPUB, or MOBI and get free updates for new releases. On the road to GraphQL you will learn how to build GraphQL server and client-side applications ...
Zulip Server 1.9: HipChat import and much more
We’re excited to announce the release of Zulip Server 1.9, containing hundreds of new features and bug fixes. Especially relevant for users migrating from the recently discontinued HipChat is our new HipChat data import tool. Zulip is the world’s most productive team chat software, an alternative to …
How to speed up the Rust compiler in 2018: NLL edition
Niko Matsakis recently blogged about the Rust compiler’s new borrow checker , which implements non-lexical lifetimes (NLL). The new borrow checker is a really nice improvement to Rust, because it accepts many sound programs that the old borrow checker rejected.
Re-affirming Long-Term Support for Java in Amazon Linux
In light of Oracle’s recent announcement indicating an end to free long-term support for OpenJDK after January 2019, we re-affirm that the OpenJDK 8 and OpenJDK 11 Java runtimes in Amazon Linux 2 will continue to receive free long-term support from Amazon until at least June 30, 2023. We are collaborating and…
Accelerated “Ray Tracing in One Weekend” in CUDA
Recent announcements of NVIDIA’s new Turing GPUs, RTX technology, and Microsoft’s DirectX Ray Tracing have spurred a renewed interest in ray tracing. Using these technologies vastly simplifies the…
.NET Standard 2.1
Since we shipped .NET Standard 2.0 about a year ago, we’ve shipped two updates to .NET Core 2.1 and are about to release .NET Core 2.2. It’s time to update the standard to include some of the new concepts as well as a number of small improvements that make your life easier across the various implementations […]
SMT Solving on an iPhone
Why buy an expensive desktop computer when your iPhone is a faster SMT solver?
The Rust borrow checker from a different perspective
Today we’re looking at the rust borrow checker from a different perspective. As you may know, the borrow checker is designed to safely handle memory allocation and ownership, preventing accessess to invalid memory and ensuring data-race freedom. This is a form of resource management: the borrow checker is tracking…
Learning Clojure: comparing with Java streams
This is the 6th post in the Learning Clojure focus series. In general, one learns by comparing to what one already knows: I’m learning Clojure in that way. Coming from a Java background, I naturally want to use streaming features. So, what would be the Clojure counterparts of Java’s functions filter(), map(), etc.?
Why I love Common Lisp and hate Java (2012)
“Common what?” is a common reply I get when I mention Common Lisp. Perhaps rightly so, since Common Lisp is not all that common these days. Developed in the sixties, it is one of the ol…
How to implement strings
There are many alternatives to C strings. Here we explore the design space.
Crystal 0.27.0 released
Crystal 0.27.0 has been released!
Visualizing SQL Plan Execution Time with FlameGraphs
Update: I wrote a follow-up article about adding Loop Counters and Row Counts to SQL Plan FlameGraphs. I also show some old examples of “Bookshelf Graph” visualizations there. Check it out after reading this post first. Introduction Brendan Gregg invented and popularized a way to profile & visualize program response…
Minesweeper in Clojure
As a fun experiment, and to show the basics of clojure development, I implemented a minesweeper clone using clojurescript and p5.js.
Modeling Message Queues in TLA+
I recently did a corporate TLA+ workshop and some people asked what TLA+ specs look like in practice. If you looked at the most common public examples, you’d probably come away thinking that people only used it for critical consensus algorithms. This is a problem for two reasons: first, it makes it harder to learn…
A Gentle Visual Intro to Data Analysis in Python Using Pandas
Discussions: Hacker News (195 points, 51 comments), Reddit r/Python (140 points, 18 comments) If you’re planning to learn data analysis, machine learning, or data science tools in python, you’re most likely going to be using the wonderful pandas library. Pandas is an open source library for data manipulation and…
Two Objects Not Namespaced by the Linux Kernel (2017)
Covers two Linux primitives that are not namespaced by the current set of Linux kernel namespaces.
Indirection Is Not Abstraction
The concept of abstraction in software development is frequently misunderstood and confused with indirection. This is partially because of the keywords abstract and interface in statically-typed la...
The Practical Test Pyramid
Find out what kinds of automated tests you should implement for your application and learn by examples what these tests could look like.
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…
A single-page app is almost always worse than a multi-page app
Single-page apps are all the rage nowadays. Many praise their vague technical benefits while ignoring tremendous development costs.