Will vs Technology

Where I, William Rudenmalm, document my quixotic struggle against technology.

Push-down automations in Rust

Push-down automatons, essentially finite state machines with a Stack, are in adddition to being theoretically interesting useful for a number of tasks, such as ensuring that parenthesises are balanced in a string

Building a Kafka based key-value store in Rust - Part 2: Implementation

The second part in the series implmeneting a kafka based key-value store in Rust. In this part we finally start writing code and implement the logic for storage as well as Kafka.

Building a Kafka based key-value store in Rust - Part 1: Design

In this first part of a series about building a key-value store in Rust with Kafka and sled. We completed the design of the service and reason about the choice of tech.

Picking a Tech Stack - Part 1 identifying the must-have criteria

One of the first things that you have to do when embarking on a new project is choosing the set of technologies - the tech stack - that you will be using. This article discusses the principles to keep in mind when making this critical decision.

Functional programming in Java8: Filters

Java 8 adds the new Stream APIs to the Java language and runtime. These APIs increase the succinctness of the Java languages and making it almost as expressive as many dynamic languages such as Ruby and Python, without sacrificing Java's compile-time type checking. This article discusses how these new features can be used.

Never write another for-loop: Replacing Java 8 for-loops with forEach calls using the Stream API

Java 8 and JDK 1.8 introduces a new functional programming concept called a stream to java

Writing good React components

This article looks at best-practices for writing React components

The Implicit — Explicit Gap

A discussion of the connection of Implicit and Explicit processing informs UI design

Bower.js and the Future of Client-side Modularity

Twitter recently released Bower, a dependency manager for client-side JavaScript. This article discusses how Bower compares to other dependency managers and how this release affects the client-side JavaScript space as a whole.

k-means clustering in R

This post documents who to perform K-means clustering in R

Installing Meteor on ArchLinux

Guide on how to manually install Meteor on ArchLinux