Friendly attributes pattern in Ruby
Friendly Attributes pattern enables writing human-friendly attributes with compact and flexible syntax.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 21,843 posts.
Friendly Attributes pattern enables writing human-friendly attributes with compact and flexible syntax.
Falling out of love with warp Back when I wrote this codebase, warp was the best / only alternative for something relatively high-level on top of hyper. I was never super fond of warp’s model — it’...
Having just returned from the annual Oregon Programming Languages Summer School, at which I teach every year, I am once again very impressed with the impressive growth in the technical sophisticati…
I have this weird hobby of trying to get good unix tools to run natively on Windows. I find this is the most efficient use of my laptop's resources, and therefore the nicest experience. WSL is nice, but it takes up a lot of RAM on my system. I prefer to use MSYS2 . Getting unix tools to work correctly under MSYS2 is a…
We had an opportunity to talk with James Gosling, a Canadian computer scientist, best known as the father of the Java programming language, and get his insight into the languages, features, and solutions that we use every day.
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…
Sum types are pretty cool. Just like how a struct is basically “This contains one of these and one of these”, a sum type is “This contains one of …
You’ve probably seen this Python 101 thing before: @memoized def fib(n): if n <= 1: return n return fib(n - 1) + fib(n - 2) Leaving aside the absurdity of computing Fibonacci numbers recursively, it’s a common first introduction to Python decorators and higher-order functions. fib is just a function, and memoized…
The Year of the Brutal Desktop
Microservices aren't the only way to get high cohesion and low coupling.
"JVM Anatomy Quarks" is the on-going mini-post series, where every post is describing some elementary piece of knowledge about JVM. The name underlines the fact that the single post cannot be taken in isolation, and most pieces described here are going to readily interact with each other.
Learn how AsciiDoc combines simplicity with advanced features. Create documentation that stands out, saves time, and ensures clarity.
Designing around the messages, rather than the objects, brought my whole system into focus. If modules communicate by passing around self-contained textual data, or a simple structured format like JSON, they impose fewer assumptions on each other.
Someone on StackOverflow stumbled onto the strange term “open recursion” and asked what it meant . Since most of the other answers to this online are pretty opaque, I started writing an answer. But then I accidentally wrote a blog post.
I’m a big fan of interactive tool support for programming. I often use features like “go to definition”, “find symbol”, compile error underlining, etc. Also, earlier this year, I launched Muon, a new low-level programming language. As no tooling existed beyond the compiler, writing the initial Muon programs (such as a…
Let me share a useful insight with you: constexpr is a platform. Just like you write code that targets Windows or a microcontroller, you write code that targets compile-time execution. In both cases you restrict yourself to the subset of C++ that works on your target platform, use conditional compilation if your code…
Generics in C# are certainly very useful and I find it amazing that we almost didn’t get them:
In which I revisit one of my favorite bugs, the invalid surrogate pair.
Looking at old applications, we always wonder who in their right mind thought of building them so badly. But every repository has its story and every effort has noble origins. I encountered such an ap
If you think this is easy, then I think you are missing something. This is hard. You need to know your hardware intimately to figure this one out.
Learn how pull request limits can help manage contribution volume in your repositories, and see what’s next on the roadmap.