Microservices and the First Law of Distributed Objects
In P of EAA I said "don't distribute your objects". Does this advice contradict my interest in Microservices?
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,544 posts.
In P of EAA I said "don't distribute your objects". Does this advice contradict my interest in Microservices?
Evaluating code at compile time is a capability that most, if not all, compiled programming languages possess, even if it can't be directly used by the programmer, but rather applied as an optimization. In this post, we'll explore a bit how to execute code at compile time in Nim, Zig, Rust and C++.
Dive into the world of reviews! Read in-depth analysis of products, understand consumers' thoughts & make smarter buying decisions. Explore now!
(I'm still looking for the catchiest way to appreciate the number MMXXVI. Exercise 7.2.1.6–122 gives 1234+.5*6+789 and -1+2345*6/7+8+9 and 1+(2/3)*45*67.8-9 ; other suggestions are welcome. The most elegant that I've seen so far is a beauty that was suggested independently by Arnaud Lefebvre and by Evangelos…
A blog about game engines, graphics, C++, and more.
It should come as no surprise to anyone who reads this blog that I love to program "by hand." I happen to practice a degree of ascetical programming practices, and I believe that they help me to more deeply internalize and understand problems, ultimately delivering higher quality solutions. One of
The rare moment when I need to open a powerpoint document is here. As usual, I have my institutional account logged into their “services”, because my university pays microslop something in the ballpark of hundreds of thousands of euros in contracts with this large software provider.
Web service designers have tried for some time now to correlate CRUD (Create, Retrieve, Update and Delete) semantics with the Representational State Transfer (REST) verbs defined by the HTTP specif…
Lock-free programming is a challenge, not just because of the complexity of the task itself, but because of how difficult it can be to penetrate the subject in the first place. I …
I’m serious about shell startup speed. I use tmux to open and close tmux splits all day every day, so I need zsh to start quickly. I used to use frameworks like oh-my-zsh or prezto and while I was happy with the functionality they provided I wasn’t happy with their impact on my shell’s startup speed. So, what do we do…
This post covers essentially the same material as a 5-minute presentation I gave at RC .
It’s been over 3 years since I published my most successful blog post about the abject horror of templated yaml and in many ways, I feel the same way now
Here are my thoughts on the free online textbook Is Parallel Programming Hard, And, If So, What Can You Do About It? by Paul E. McKenney, author of the Linux kernel’s RCU synchronization mechanism. I read a lot of this textbook, got my fill, and probably won’t read more of it in the near future so wanted to write this…
Why I created Scrumdog - a program to download Jira Issues to a local database
Is there still research to be done in Programming Languages? This essay touches both on the topic of programming languages and on the nature of research work. I am mostly concerned in analyzing this question in the context of Academia, i.e. within the expectations of academic programs and research funding agencies…
How long should a micro benchmark run? My rule of thumb is to tweak the input size until the benchmark takes about 300ms, for the following reasons:
Windows paths have been WTF-16 -encoded for decades, but module names in the import tables of Portable Executable are octets. If a name contains values beyond ASCII — technically out of spec — then the dynamic linker must somehow decode those octets into Unicode in order to construct a lookup path. There are multiple…
Supervisor trees are one of the core ingredients in Erlang's reliability and let it crash philosophy . A well-structured Erlang program is broken into multiple independent pieces that communicate via messages, and when a piece crashes, the supervisor of that piece automatically restarts it.
Python and JavaScript/TypeScript AI frameworks are reinventing what telecom solved in 1986. What 40 years of production-grade concurrency teaches us about building AI agents.
While investigating the aftermath of a potential security breach, I came across a somewhat "odd" process looking like this:
Texts on this and that.
Silently sends up to 255 bytes of the client's heap to the server . The server must support NPN , and the heap data is encrypted in transit.