Implementing and Understanding Type Classes (2014)
Describing three strategies of implementing type classes, aiming to clarify their behavior
The latest blog posts to take off on Hacker News. 1,274 posts.
Describing three strategies of implementing type classes, aiming to clarify their behavior
The newly-released GraalVM changes the status quo in the realm of JVM-based programming languages. In this instalment we’ll explore its impact on Clojure. We’ll start small, but by the end we’ll compile an entire Ring web application into a self-contained native binary.
Flattening a single very hot vertical Redis node into a horizontal Redis Cluster at Stripe.
The Flask framework has been stable for a long time. A little more than 8 years after the first commit, the version number finally reflects that. 1.0 comes with a significant number of changes representing over a year of work.
Go’s new look and logo (don't worry, the mascot isn’t changing!).
(This essay is from the introduction to On Lisp .) It's a long-standing principle of programming style that the functional elements of a program should not be too large. If some component of a program grows beyond the stage where it's readily comprehensible, it becomes a mass of complexity which conceals errors as…
Functional programming and immutability are hot right now. On one hand, this is pretty great as there’s lots of nice things about functional programming. On the other hand, people get a little overzealous and start claiming that imperative code is unnatural or that purity is always preferable to mutation. I think that…
MySQL is the last major SQL database that has evolved beyond SQL-92 by introducing window functions (OVER) and common table expressions (WITH [RECURSIVE])
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:
Some clarification on what's going on with Redux
In coordination with today’s announcement of Node.js v10, we’re excited to announce npm@6. This major update to npm includes powerful new…
Let's compare the before/after of React's new context API.
Explore the Qt Blog for the latest insights on e.g. Qt Creator, your go-to source for cross-platform development tips and updates.
"There are only two hard problems in Computer Science: cache invalidation and naming things."
The history of page previews.
A terminal built on web technologies
Jupyter presents a unique programming style where the programmer can change her code while it's running, reducing the cost of mistakes and improving the interactivity of the programming process. I discuss the benefits and limitations of this approach along with the related work.
I wrote this article for an online magazine called Scene Zine . Scene Zine caters to the Demo Scene, which is an digital art community dedicated to pushing the limits of computers through a mix of music, art, and computer programming. A particular category of demoscene productions, 4K intros, focus on the final…
There are several articles out there that talk about testing anti-patterns in the software development process. Most of them however deal with the low level details of the programming code, and almost always they focus on a specific technology or programming language.
A post by August Lilleaas, published April 20, 2018.
Originally published on my blog Industrial Empathy.
Update: The content in the blog post below is no longer up to date. For more information please see our documentation. Many of today’s discussions around blockchain technology remind me of the classic Shimmer Floor Wax skit. According to Dan Aykroyd, Shimmer is a dessert topping. Gilda Radner claims that it is a floor…
Introduction of a new feature-rich golang Jupyter kernel