Procedural content generation: creating a universe (2015)
23114, 584, 46931, these three numbers were used to create the entire universe for Elite .
The latest blog posts to take off on Hacker News. 14,543 posts.
23114, 584, 46931, these three numbers were used to create the entire universe for Elite .
Most programming languages evolved awkwardly during the transition from ASCII to 16-bit UCS-2 to full Unicode. They contain internationalization features that often aren’t portable or don’t suffice.
Here’s a fun bit of trivia: malloc on Linux never fails [due to the obvious cause]. In this post, we’ll show that this indeed is the case, and explore why…
Writing an x86 emulator from scratch in JavaScript: 1. a stack and register machine
Web Assembly is written in an s-expression syntax (wast) and then needs to be translated down to binary encoded wasm. Below is a gist of wast that imports the stdlib.print function taking a memory location offset and a length, as well as importing a block of memory from the controlling runtime. We then store the…
A few things I strongly believed when I was a junior developer which turned out to be wrong.
If you haven’t read the other posts, go now: Part 1: the state manager Part 2: the graphic initialization Part 3: the engine entity We have a state manager now but a game without graphic re…
End-to-end Encryption Support, Smart Scroll Sync for Side-by-side View, New Logo, and More.
This post is a write-up of a solution to part of a programming puzzle I did yesterday. It’s a little different than the usual “solution + theory” approach, though: I’m going to talk about the actual steps you’d need to take to get to the solution (i.e. what to google, what intermediate code looks like, etc.). Often…
Communicating Sequential Processes and Python coroutines as a structured approach to concurrency.
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
I’ve been using Vim for eight years and am still discovering new things. This is usually seen as a Good Thing About Vim. In my head, though, it’s a failing of discoverability: I keep discovering new things because Vim makes it so hard to know what’s available. While people often talk about the beauty of modal editing…
The array reduce method is really powerful. But people often run into trouble as soon as they step beyond the basic examples. Simple things like addition and multiplication are fine. But as soon as you try it with something more complicated, it breaks. Using it with anything other than numbers starts to get really…
Sometimes the best features of Perl — and even more so of Perl 6 — are found by asking yourself, “I wonder if this’ll work?” and then findin...
A simple walkthrough of deriving backpropagation for CNNs and implementing it from scratch in Python.
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…
When designing or, in some cases, implementing a programming language with built-in support for Unicode strings, an important decision must be made about how to represent or encode those strings in memory. Not all representations are equal, and there are trade-offs between different choices.
How to make an access-limiting proxy for any API
We usually perceive that it costs more to get higher quality, but software internal quality actually reduces costs.
Every couple of years, the hope surfaces that a simple graphical interface will replace teams of developers. Business people to quickly and easily create beautiful expressions of their ideas and launch them into production seamlessly. A handful of startups in every generation take up this challenge, and they mostly…
There are lots of à la carte software environments in this world. Places where in order to eat, you must first carefully look over the menu of options to order exactly what you want. I want this for my ORM, I want that for my template language, and let's finish it off with this routing library. Of course, you're going…
Lazarus Lazaridis’ personal blog with posts mostly related to programming and opensource. And cats.
Most Dockerfile examples for Python you’ll find on the Web are broken. And that’s a problem.
In my previous post I said that the lang team would be making our final decision about the syntax of the await operator in the May 23 meeting. That was last Thursday, and we did reach a decision. In brief, we decided to go forward with the preliminary proposal I outlined earlier: a postfix dot syntax, future.await…
Over the years one of the most complex issues we have had to deal with at Discourse was flaky tests, in this post I would like to talk a bit about the various patterns we have come across and ways we tackle this issue.
These structures are so universal that most research papers in the theory of computation, programming languages and formal methods present concepts in terms of discrete mathematics rather than code.