Metal for IntelliJ Platform
As you may already know, Apple deprecated the OpenGL rendering library in macOS Mojave and provided the Metal framework as a replacement. Metal better reflects the shift in CPU/GPU performance that ha
Topics /
The most popular blog posts about software engineering on Hacker News. 1,508 posts.
As you may already know, Apple deprecated the OpenGL rendering library in macOS Mojave and provided the Metal framework as a replacement. Metal better reflects the shift in CPU/GPU performance that ha
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
argparse builder is a web based graphical interface for quick creation of the argparse commandline switches for your python scripts.
Part 4 covers pattern matching, destructuring, and enums
Research has begun to reveal many algorithms can be expressed as matrix multiplication, suggesting an unrealized connection between linear algebra and computer science. I speculate graphs are the missing piece of the puzzle. Graphs are not only useful as cognitive aides, but are suitable data structures for a wide…
Analysis and examples of the popular high-level pattern of making all the things in your system conform to a common interface.
A common perspective is that types are restrictions . Static types restrict the set of values a variable may contain, capturing some subset of the space of “all possible values.” Under this worldview, a typechecker is sort of like an oracle, predicting which values will end up where when the program runs and making…
In my work I’ve developed a mental framework related to data modeling, which has helped greatly both when coming up with a model and when making decisions down the road about how to use that model. Here I will establish three different categories of data in software: Constants, State, and Cached Values. By “data” I…
Traditionally C++ has been seen by many (and you know who you are) as just plain bad: the code is unreadably verbose, error messages are und...
Rust doesn’t have namespaces in its package management system. It’s often viewed as a bug. But it’s not a bug, it’s a feature! While there are negative aspects of a flat package registry, there are also real benefits. Stability, continuity, and unity (discourages forks and fragmented identity)…
Wow, college was such a waste of time ... when did you ever invert a binary tree outside of an interview? Honestly I never inverted a binary tree in college either ☹️
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
This PEP adds support for syntactic macros to Python. A macro is a compile-time function that transforms a part of the program to allow functionality that cannot be expressed cleanly in normal library code.
DSLs, or domain specific languages, are programming languages that are designed to implement a set of features specific to a particular problem or field. An example could be Make , the build tool, which is a specially designed language for combining ...
This post is the first in a three-part series about my recent work on Cranelift as part of my day job at Mozilla. In this first post, I will set some context and describe the instruction selection problem. In particular, I'll talk about a revamp to the instruction selector and backend framework in general that we've…
Previously ruby used to support only Rvalue to be assigned to Lvalue. Now, it adds support for Rightward assignment
Consider a hypothetical class that filters out unsafe HTML elements:
Explore the pros and cons of Docker for local development and learn how to set up a developer-friendly, container-based workflow. Perfect for DevOps enthusiasts and developers!
Here’s an unavoidable fact: the software project you’re working on has some flaws that no one knows about. Not you, your users, nor anyone in your team. These could be anything from fau…
Exploring Lisp's fine-grained type hierarchy.
GitHub CLI now allows you to close, reopen, and add metadata to issues and pull requests.
Emacs , a programmer's text editor with roots in the 1970s, is a great tool for animation. In Fall, 2010 I taught a digital art class at NYU's interdisciplinary Steinhardt art school. Clearly, the thing to do was to teach how to make animations in Emacs by programming it in Lisp.
It’s hard to believe that its been more than 3 years since I opened RFC 2000 , which defined the const generics for Rust. At the same time, reading the RFC thread, there’s also been a huge amount of change in this area: for one thing, at the time the RFC was written, const fns weren’t stable, and consts weren’t even…
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
All you need is a text editor, a makefile and a USB-serial cable.