System Designer

Joined September 2017
177 Photos and videos
Pinned Tweet
Programming starts with types, functions, and abstraction. Everything else comes as a result of compositionality.
2
4
42
10,976
Jonathan Deyrson retweeted
25 Apr 2025
Magnetic Selection
23
117
2,047
152,646
Jonathan Deyrson retweeted
... I’m predicting a software engineering gold rush where more and more human engineers will have to be hired to clean up the train wrecks left behind by the next few years of vibe programming ... ... the current LLM lemming rush over a cliff ... [0] I used to think that academics were the ones that are inventing the future, but I guess they want to keep things as is.
21
46
264
43,320
Jonathan Deyrson retweeted
Wonderful collection of links .. another book on Applied Category Theory I really enjoyed is this one by Fong and Spivak ..
10 Jan 2025
Ok, I didn’t sleep the whole night AND I know this isn’t CS but I believe to have found one of the most wonderful stash of lecture notes about Category Theory of all time… along with book recommendations by math backgrounds, articles and video
3
13
120
7,553
Jonathan Deyrson retweeted
Why use functional effects in your model? Functional effect systems help you build the stories / recipes of your program, which are pure values. Many such values can be composed together to form larger values. In the Scala 3/ZIO example shown `generateTrades` builds a **description** of a program that, when evaluated, may emit zero or more values of type `Trade`, may fail with errors of type `Throwable`, and uses an environment of type `Any`. Effects encourage value based programming, encoding side-effects as computation that can be delayed till the edge. This keeps most of your model pure and you can reason about it.
2
23
1,200
Jonathan Deyrson retweeted
Once you are into functional programming almost all of the GoF patterns dissolve into natural constructs and idioms of FP - higher order functions, algebraic data types and pattern matching, combinators like map and fold and various algebraic composition techniques. You don’t need the fanfare of documenting them as design patterns.
After a dip in functional programming, it's almost impossible, mentally, to go back to GoF patterns.
8
7
98
11,291
Jonathan Deyrson retweeted
27 Oct 2024
the best way to get good at something is usually to just practice actually doing the thing in question. a lot of very capable people outsmart themselves with complex plans that involve working a lot on fake prerequisites.
1,015
3,546
29,521
1,686,651
Jonathan Deyrson retweeted
To some extent statically typed functional programming is algebraic programming. There are quite a bit of algebra as the underpinning of many abstractions that we use in FP on a regular basis. Do you think some basic knowledge of abstract algebra helps think about building and architecting functional programs ? Thinking of a conference talk based on this theme ..
3
1
8
1,592
Jonathan Deyrson retweeted
Some good news and a big discount 45% on several titles today: 🟢 Functional Design and Architecture 🟣 Architecture Modernization 🟡 Grokking Functional Programming 🟠 Grokking Simplicity
📣Deal of the Day📣 Oct 6 SAVE 45% TODAY ONLY! Functional Design and #Architecture & selected titles: mng.bz/WrEx @graninas #fp #haskell NOW IN PRINT! #Designpatterns and architectures for building production quality applications using #functionalprogramming.
4
13
115
10,799
Jonathan Deyrson retweeted
Optimize first for readability and then for performance. Reasons: 1. The whole codebase needs to be readable. Not the whole of the codebase needs to be equally performant. 2. Once you have a modular and readable codebase, identify the hotspots that need to be optimised for performance. Can sacrifice some readability there as well. 3. It's much easier to optimise a readable code for performance than a performant spaghetti for readability
2
10
57
5,025
Jonathan Deyrson retweeted
16 Jul 2024
55 years ago today Apollo 11 took off —and then landed a man on the moon — thanks to software from an MIT team led by 32-year-old Margaret Hamilton. Full video: bit.ly/2XxYlDM (v/@MAKERSwomen) More: bit.ly/4d38NKi @NASA
4
123
379
34,494
Jonathan Deyrson retweeted
This looks pretty neat - a TUI for Apache Kafka github.com/sauljabin/kaskade
2
45
193
20,184
Jonathan Deyrson retweeted
Shower thoughts: Vim commands are a DSL for editing text. That's what puts it in a different power class. Because it occurs to me that to be a Domain Specific Language, you really need to have a Domain Specific *Grammar*. #Vim has editing grammar, and that's what sets it apart.
2
2
7
1,093
Jonathan Deyrson retweeted
As someone who likes to program in a statically typed language, having a mental model in terms of typed abstractions seems very natural to me. And you can apply equational reasoning on this model to discover the algebraic properties. In the paper Why calculating is better than scheming (cs.kent.ac.uk/people/staff/d…), Phil Wadler compares the experiences of teaching programming using Schema versus Miranda. And concludes "My experience suggests that languages such as KRC and Miranda are a significantly better vehicle for this task(*) than Lisp" (*) By task he means introduction to programming as an engineering discipline

news.ycombinator.com/item?id… "Programming is (should be) fun" is a tautology. The real question is what is the best introduction to programming, SICP or Bird & Wadler 1st edition. To me, the answer to that question is also crystal clear; "calculating is better than scheming". cs.kent.ac.uk/people/staff/d…
1
4
43
4,499
Jonathan Deyrson retweeted
This paper was core to TigerBeetle’s design in 2020. The idea that more than scalability in the cost-agnostic sense (“do more with more”), we should think of scalability also in terms of optimizing the unit of scale (“do more with less”).
Reading recommendation for this weekend -
2
20
147
12,787
Jonathan Deyrson retweeted
"People with DDD skills will be necessary" @ericevans0 @ddd_eu #dddeu
1
1
1
351
Jonathan Deyrson retweeted
Now "What We Know We Don't Know" by @hillelogram at @ddd_eu #dddeu on empirical software engineering, the science of figuring out what actually works and doesn't work in SE
1
5
9
1,871
Jonathan Deyrson retweeted
Closing the first day of DDD Europe is @ziobrando on "Modelling Up" #dddeu
1
5
18
1,647
Jonathan Deyrson retweeted
Yes, test the domain behaviors - the algebra not the implementation ..
21 May 2024
Don’t use AI to write your tests
1
6
1,021