Event Sourcing (2005)
Capture all changes to an application state as a sequence of events.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
Capture all changes to an application state as a sequence of events.
There are only two hard things in Computer Science: cache invalidation and naming things -- Phil Karlton (bonus variations on the page)
While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed. This paper examines the most frequently deployed architecture: the BIG BALL OF MUD
LMAX is a retail financial trading system that can handle that can 6 million orders per second on a single JVM thread. The business logic runs in-memory surrounded by disruptors using event sourcing.
In this post, I describe the phenomenon of the so-called expert beginner -- someone with mediocre skill who thinks he's an expert.
"In science, if you know what you are doing, you should not be doing it. In engineering, if you do not know what you are doing, you should not be doing it. Of course, you seldom, if ever, see either pure state."
Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Italian, Japanese, Korean, Persian, Russian, Spanish 1, Spanish 2, Vietnamese Watch: MIT’s Deep Learning State of the Art lecture…
Purely functional code makes some things easier to understand: because values don't change, you can call functions and know that only their return value matters—they don't change anything outside themselves. But this makes many real-world applications difficult: how do you write to a database, or to the screen? In…
This draft was released March 15, 2006. Please email comments to bret worrydream.com . You can also download the PDF .
A more permanent version of this article is stored at GitHub . Please link to that rather than to here. If you hadn't guessed, this is about...
This piece has gotten a lot of attention over the years. I have heard a lot of people saying that they had been "inspired" by it. I fear that what they meant was that they were inspired by the one pull-quote that people tend to quote from it, and ignored the rest. So if someone has linked you to this page, or if…
May 2002 "We were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp." - Guy Steele, co-author of the Java spec In the software business there is an ongoing struggle between the pointy-headed academics, and another equally formidable force, the pointy-haired bosses. Everyone knows who…
In the formless days, long before the rise of the Church, all spells were woven of pure causality, all actions were permitted, and death was common. Many witches were disfigured by their magicks, found crumpled at the center of a circle of twisted, glass-eaten trees, and stones which burned unceasing in the pooling…
Way back in September 1983, I started my first real job, working at Oranim, a big bread factory in Israel that made something like 100,000 loaves of bread every night in six giant ovens the size of…
An article about Lisp programming language.
Dr. Alan Kay explains when "object-oriented" was first used and what it means. []
Defining the microservices architectural style by describing their nine common characteristics
Translations: ελληνικά / عربى / 中文 (Weixin video, Youtube video) / 粵文 / bahasa Indonesia / český / Català / český / Deutsch / Español / 2فارسی / فارسی / Français / עִברִית / Hrvatski / Italiano / Magyar / Nederlands / 日本語 / 日本語 2 / नेपाली / Polskie / русский / Português / Română / Slovensky / Slovenščina / Srpski /…
Slides and videos explaining a functional approach to error handling
Some years ago, I (GLS) was snooping around in the cabinets that housed the MIT AI Lab's PDP-10, and noticed a little switch glued to the frame of one cabinet. It was obviously a homebrew job, added by one of the lab's hardware hackers (no one knows who).
[This essay in Spanish] [This essay in French] [This essay in Chinese] In an old joke, two noblemen vie to name the bigger number. The first, after ruminating for hours, triumphantly announces "Eighty-three!" The second, mightily impressed, replies "You win." A biggest number contest is clearly pointless when the…
Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing…
There are some pretty strong statements about types floating around out there. The claims range from the oft-repeated phrase that when you get the types to line up, everything just works, to “not relying on type safety is unethical (if you have an SLA)” 1 , " It boils down to cost vs benefit, actual studies, and…
These are some of the funniest examples of a genre of jokes told at the MIT AI Lab about various noted hackers. The original koans were composed by Danny Hillis, who would later found Connection Machines, Inc. In reading these, it is at least useful to know that Minsky, Sussman, and Drescher are AI researchers of…
Long ago, on Svalbard, when you were a young witch of forty-three, your mother took your unscarred wrists in her hands, and spoke: