Crafting Interpreters: Closures
As the man said, for every complex problem there’s a simple solution, and it’s wrong.
As the man said, for every complex problem there’s a simple solution, and it’s wrong.
As an investor, I've found that one of the reasons there are fewer female startup founders than male ones is that there are fewer female programmers. So this summer I'm trying an experiment to see...
Jordan Santell, focusing on open web engineering, immersive web, WebXR, WebGL, JavaScript, open source, open standards, and all things weird web.
By default, the Bash shell keeps the history of your most recent session in the .bash_history file, and the commands you’ve issued in your current session are also available with a history call. These defaults are useful for keeping track of what you’ve been up to in the shell on any given machine, but with disks much…
A documentation for all about glitching PNG.
UPDATE: February 14, 2019: Since writing this article in late 2017, Microsoft seems to have made a change that makes it a bit harder to reverse
Compiling a CPU, in a cheap FPGA board
Occasional writings about Haskell.
The PingCAP company, makers of the TiDB NewSQL database and the TiKV key-value store, have kindly made publicly available, as well as open-sourced, a set of training courses that they call the "PingCAP Talent Plan". These courses train programmers in writing distributed systems in the Go and Rust languages. They are…
The Commodore/Amiga honeymoon could hardly have been more idyllic. Honoring the wishes of everyone at Amiga to not get shipped off to Commodore’s headquarters in West Chester, Pennsylvania, Commodore instead moved them just ten miles from their cramped offices in Santa Clara, California, to a spacious new facility in…
The story of how Phil Knight and Jeff Johnson drove to track meets all over the Pacific Northwest and sold more shoes than you can imagine out of the boots of their car.
Repository for personal website
To speed-up memory operations and reduce fragmentation Python uses a special manager on top of the general-purpose allocator, called PyMalloc.
It is now public knowledge that on 4 September 2019 I gave a talk at the Microsoft campus in Redmond. I was invited and I accepted. The report of this has led to a certain amount of speculation and rumor.
Over the years I’ve worked on many games, some big, some small. I’ve found that the smaller the game, the more fun I seem to have making it. So I set out to make the smallest game I pos…
File systems unfit as distributed storage backends: lessons from 10 years of Ceph evolution Aghayev et al., SOSP’19 Ten years of hard-won lessons packed into just 17 pages (13 if you don’t co…
In a Tower Defense game, there are many enemies that are all headed to the same place. In many Tower Defense games, there is a predetermined path, or a small number of paths. In some, such as the classic Desktop Tower Defense [1] , you can place towers anywhere, and they act as obstacles that affect the paths taken by…
How I optimize SVGs for this blog and why you probably should, too.
I was at cfgmgmtcamp 2019 in Ghent, and did a talk which I think was well received about the need for some Kubernetes configuration management as well as the solution
I often see code where authors abstract away details by placing them in some external function. Here is a toy example:
I often advocate people surrounding me to build their own side projects. I believe they can fulfill you in so many ways: for your career, your relationships, or your independence. Buffer, the company I currently work for, was itself a side project. I’ve built myself multiple side projects. The major ones being…
Lazarus Lazaridis’ personal blog with posts mostly related to programming and opensource. And cats.
A cut-down summary of Sapiens covering the major points.
You find a bug in macOS or iOS. Something in the software isn’t working the way it should work. You decide to let Apple know, and head over to http://bugreport.apple.com and login with your Apple ID.... <a class="read-more"…