Cache Rules Everything Around Me
Attached Code: https://github.com/iainkfraser/cache_transpose Before we begin, the underlined words are briefly described in the gloss...
Clojure from the ground up: Macros
In Chapter 1 , I asserted that the grammar of Lisp is uniform: every expression is a list, beginning with a verb, and followed by some arguments. Evaluation proceeds from left to right, and every element of the list must be evaluated before evaluating the list itself. Yet we just saw, at the end of Sequences , an…
The IDE as a value
In my last post I talked about building a game in ClojureScript using a Component-Entity-System engine and I hinted that the ideas that underly that architecture inspired how we designed Light Table . The reason why stems from the architectural goals of the project:
Introducing "Functional JavaScript"
A few years ago I got the idea that it would be fun to implement a variant of Scheme targeting the JVM. During my search for different ways to implement numerics I looked deeply at the implementation of two languages: JScheme and a little-known language Clojure . During my explorations with these two languages and the…
Go vs C++: Ray tracer (part 3)
Easy, affordable options for you to obtain the domain you want. Safe and secure shopping.
ClojureScript Core.async Todos
Edit: The following post is still a great way to learn about how core.async works. However, it is not a good example of how to write a web application unless you are just exploring and having fun. There are many good times to be had playing with core.async and I highly recommend giving the examples in this post a try.
The Median-of-Medians Algorithm
In this post, we consider the problem of selecting the \(i\)-th smallest element from an unsorted list of \(n\) elements. Somewhat surprisingly, there is an algorithm that solves this problem in linea
Understanding the FFT Algorithm
The Fast Fourier Transform (FFT) is one of the most important algorithms in signal processing and data analysis. I've used it for years, but having no formal computer science background, It occurred to me this week that I've never thought to ask how the FFT computes the discrete Fourier transform so quickly. I dusted…
Hacker Scouts teaches children Linux, robotics, and welding
Track and improve how AI assistants recommend your brand across ChatGPT, Gemini, Claude & more.
Clojure from the Ground Up, Part 2: Basic Types
We’ve learned the basics of Clojure’s syntax and evaluation model . Now we’ll take a tour of the basic nouns in the language.
Using Nginx and UWSGI
Shop a wide selection of domains at HugeDomains.com. Find the right domain name today.
Obscure C++ Features
This page is a collection of obscure C++ features, gathered over the years as I've explored different corners of the language. C++ is very big and I'm always learning more about it. Hopefully you'll learn something from this page even if you already know C++ pretty well. The features below are roughly ordered from…
Hacker News in the Terminal
Andrew Vos's personal site
Exploiting a Go Binary
Earlier this year, tylerni7 showed us a proof of concept for a 32 bit Go exploit using this issue . geohot and I had a wager over who could get the first remote code execution on play.golang.org : he won, but just barely ;-). Props also to ricky for helping to find the underlying cause/writing the patch. Here is a…
Coding with gumption
The first and only mention of Gumption Theory in modern writing is found towards the end of Robert Pirsig’s Zen and the Art of Motorcycle Maintenance. The author sets out a plain and uncomplicated approach to attaining and maintaining the state of mind required to repair a motorcycle. It takes about 20 pages. And the…