New
The latest blog posts to take off on Hacker News. 2,391 posts.
Where Do Type Systems Come From?
Every time I want to quickly understand something about an advanced type system or programming language concept I get lost when I see something like this on Wikipedia:
Why is the Quintic Unsolvable?
In this article, I hope to convince you that the quintic equation is unsolvable, in the sense that I can’t write down the solution to the equation \[ ax^5 + bx^4 + cx^3 + dx^2 + ex + f = 0 \] using only addition, subtraction, multiplication, division, raising to an integer power, and taking an integer root. In fact, I…
Rolling Shutter Simulation in C
The most recent Smarter Every Day (#172) explains a phenomenon that results from rolling shutter . You’ve likely seen this effect in some of your own digital photographs. When a CMOS digital camera captures a picture, it reads one row of the sensor at a time. If the subject of the picture is a fast-moving object…
Base-4 fractions in Telugu
From the highly eclectic blog of Mark Dominus
Why does Heap's algorithm work? (2016)
Heap's algorithm for constructing all permutations is efficient and simple but not easy to understand. This article explains Heap's algorithm by example.
Diving into the world of hash tables
Diving into the world of Hash Tables and understanding the underlying mechanics is extremely interesting, and very rewarding. So let's get into it and get started from the beginning. They are used commonly in algorithm design.
Oded Wins the Knuth Prize
Just announced $latex {\dots}&fg=000000$ Oded Goldreich is one of the top researchers in cryptography, randomness, and complexity theory. Today Ken and I wish to thank the Knuth Prize Committee…
The Aggregate Magic Algorithms (2015)
There are lots of people and places that create and collect algorithms of all types ( here are a few WWW sites). Unfortunately, in building systems hardware and software, we in The Aggregate often have found it necessary to do relatively obscure low-level things very efficiently. Many of the tricks we've devised or…
TLA+ in Practice and Theory, Part 4: Order in TLA+
We learn how to encapsulate and compose TLA+ specifications, of the precise mathematical definition of abstraction, and compare TLA+'s notion of abstraction with those of other formalisms. Plus some various cool stuff.
Z-order curve usage to decrease dimensionality to 1
Personal blog about system engineering and devops
TLA+ in Practice and Theory, Part 3: The Temporal Logic of Actions
TLA, the Temporal Logic of Actions is the core of TLA+. It is a temporal logic that minimizes the use of temporal reasoning in favor of more ordinary mathematics. It is a general mathematical framework for describing and reasoning about algorithms and systems.
Optimizing things in the USSR (2016)
A review of Red Plenty, by Francis Spufford
Clojure Linear Algebra Refresher: Eigenvalues and Eigenvectors
I stumble upon eigenvectors and eigenvalues regularly when reading about machine learning topics. They seem to be important. They are not introduced in those...
Clojure Linear Algebra Refresher: 1 – Vector Spaces
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...
4D Toys: a box of four-dimensional toys
So I have been working on Miegakure for a long time now, and I have created and accumulated many cool 4D things of all sorts. I think it’s about time that I share some of them, so…
Oh My Gosh, It’s Covered in Rule 30s
New British train station design identified as cellular automata rule 30. Generating rule-based patterns. And a website that lets you try it yourself.
Voronoi Tessellations
Mapping nearest locations.
Principles of TLA+
TLA+ is a formal specification and verification language intended to help engineers specify, design and reason about complex, real-life algorithms and software or hardware systems. We explore its motivation, application and principles of design.
How Bayesian Inference Works (2016)
Bayesian inference is a way to get sharper predictions from your data. It’s particularly useful when you don’t have as much data as you would like and want to juice every last bit of predictive strength from it.
Principal Component Analysis Explained Visually (2015)
Principal component analysis (PCA) is a technique used to emphasize variation and bring out strong patterns in a dataset. It's often used to make data easy to explore and visualize.
Learning to break ciphers
Every now and then, I read a question about learning how to break ciphers, or more generally how to become a cryptographer/cryptologist. From my viewpoint, the most important part of learning this…
Eigentechno – Principal Component Analysis applied to electronic music
Applying Principal Component Analysis to a data-set of short electronic music loops
Approximating sin(x) to 5 ULP with Chebyshev polynomials
Weblog/homepage for a developer/engineer/artist. DIY projects, opinions and code.
Understanding deep learning requires re-thinking generalization
Understanding deep learning requires re-thinking generalization Zhang et al., ICLR’17 This paper has a wonderful combination of properties: the results are easy to understand, somewhat surpri…
Generating all permutations, combinations, and power set of a string (2012)
Combinatorics is a branch of mathematics that deal with counting of discrete structures. Two concepts that often come up in the study of c...
Empirical Bayes for multiple sample sizes
The James-Stein Estimator with unequal variances