Dear friend, you have built a Kubernetes
Mac's Tech Blog
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
Mac's Tech Blog
A few weeks ago, on a whim my friend and I decided to hackathon our way through an app to help us learn how to play guitar . In a stroke of inspiration, we decided to learn something new, and do the project in the Elm programming language , about which I had heard many good things.
There are about six major conceptualizations of memory, which I’m calling “memory models”, that dominate today’s programming.
This post is about why we need a coroutine package for Go, and what it would look like. But first, what are coroutines?
I’m a frequent critic of memory unsafe languages, principally C and C++, and how they induce an exceptional number of security vulnerabilities. My conclusion, based on reviewing evidence from numerous large software projects using C and C++, is that we need to be migrating our industry to memory safe by default…
Just so you know, x86 machine-code is now a "high-level" language. What instructions say, and what they do, are very different things. I m...
One of my more frequent rants, both online and in person, is the danger posed by the "fast-math" compiler flag. While these rants may elicit resigned acknowledgment from those who already understand the dangers involved, they do little to help those who don't. So given the remarkable paucity of writing on the topic…
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5 . The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language…
I've recently been exploring the exciting new world of asynchronous I/O libraries in Python 3 – specifically asyncio and curio . These two libraries make some different design choices. This is an essay that I wrote to try to explain to myself what those differences are and why I think they matter, and distill some…
In which I discuss a modules problem that is being ignored
Pipenv is a Python packaging tool that does one thing reasonably well — application dependency management. However, it is also plagued by issues, limitations and a break-neck development process. In the past, Pipenv’s promotional material was highly misleading as to its purpose and backers.
With the arrival of core.async , ClojureScript provides a powerful advantage over other popular compile to JavaScript languages like CoffeeScript , Dart , and TypeScript . These languages fail to address the single largest source of incidental complexity for any sizeable client side application - concurrency. In my…
How a 10 year old design choice for Swift’s type checker still haunts us to this day
Learn React from the ground up, without worrying about JSX, Flux, ES6, Webpack, etc.
It’s widespread folklore that one advantage of garbage collection is the ease of building high-performance lock-free data structures. Manual memory management for these data structures is not easy, and a GC makes it trivial.
Why you should consider using F# for your next project
It's not about technology for its own sake. It's about being able to implement your ideas.
One day, you’re browsing through your code, and you notice two big blocks that look almost exactly the same. In fact, they’re exactly the same, except that one block refers to “Sp…
By Devine Lu Linvega
Introduction There doesn’t seem to be a good tutorial out there for concatenative programming, so I figured I’d write one, inspired by t...
Students often ask for a recommendation on what language they should learn next. If you're looking for a job in industry, my reply is to learn whatever is hot right now: C++, Java and C#--and probably Python, Ruby, PHP and Perl too.
Deep learning, despite its remarkable successes, is a young field. While models called artificial neural networks have been studied for decades, much of that work seems only tenuously connected to modern results.
For those who aren’t regular readers: as a followup to this post, there are four posts detailing the basic four methods of proof, with intentions to detail some more advanced proof techniques in the future. You can find them on this blog’s primers page. Do you really want to get better at mathematics? Remember when…
Async/await syntax in Rust was initially released to much fanfare and excitement. To quote Hacker News at the time: