New
The latest blog posts to take off on Hacker News. 21,834 posts.
C++ Patterns: The Badge
This post describes the C++ Badge template used to enhance member function access control in Serenity Operating System.
A Failed Experiment with Python Type Annotations
I like Python, but wish it had static typing. The added safety would go a long way to improving quality and reducing development time. So today I tried to make use of type annotations and a static type-checker called mypy. After a few basic tests, I was excited. But my glee turned to disappointment rather […]
From Design Patterns to Category Theory (2017)
How do you design good abstractions? By using abstractions that already exist.
Towards Reproducible Research with PyTorch Hub
Reproducibility is an essential requirement for many fields of research including those based on machine learning techniques. However, many machine learning publications are either not reproducible or are difficult to...
Micro Frontends
How to split up your large, complex, frontend codebases into simple, composable, independently deliverable apps.
Procedural content generation: creating a universe (2015)
23114, 584, 46931, these three numbers were used to create the entire universe for Elite .
Unicode programming, with examples in C
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.
Malloc Never Fails (2012)
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…
Emulator basics: a stack and register machine
Writing an x86 emulator from scratch in JavaScript: 1. a stack and register machine
Generate new repositories with repository templates
Today, we’re excited to introduce repository templates to make boilerplate code management and distribution a first-class citizen on GitHub.
Language, trees, and geometry in neural networks
Language is made of discrete structures, yet neural networks operate on continuous data: vectors in high-dimensional space. A successful language-processing network must translate this symbolic information into some kind of geometric representation—but in what form? Word embeddings provide two well-known examples…
Writing Hello World in Web Assembly (2017)
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…
Absolute truths I unlearned as junior developer
A few things I strongly believed when I was a junior developer which turned out to be wrong.
Python in the Windows 10 May update
Python might be hard to install on Windows, but with the latest Windows 10 update, you can type "python" to find it in the Microsoft Store.
CSS Grid Level 2 – subgrid is coming to Firefox
The subgrid feature which is part of Level 2 of the CSS Grid Specification is not yet shipping in any browser, but is now available for testing in Firefox Nightly. ...
Writing a game engine in pure C: The Graphic Initialization
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…
I've been building a Markdown note-taking app for 3 years
End-to-end Encryption Support, Smart Scroll Sync for Side-by-side View, New Logo, and More.
Solving Programming Puzzles Without Using Your Brain
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…
Concurrency in Python: CSP and Coroutines
Communicating Sequential Processes and Python coroutines as a structured approach to concurrency.
How do I delete bytes from the beginning of a file? (2010)
It's easy to append bytes to the end of a file: Just open it for writing, seek to the end, and start writing. It's also easy to delete bytes from the end
What Makes a Graphics Systems Paper Beautiful
Addendum: I've added a few additional tips for conference papers chairs, papers committee members, and papers sorters .
Vim tricks
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…
How to use array reduce for more than just numbers
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…
Dolphin Progress May 2019
The past few months have been quite hectic with a slew of gigantic changes requiring lengthy articles alongside them. These big features all hitting together seems to have brought up a talking point in the community would be irresponsible to ignore. Everyone wants to know when Dolphin 6.0 is coming. After all, Dolphin…
Perl 6's given: switch on steroids
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...