Jonathan Deyrson (@deyrson) profile picture
Joined September 2017
Photo by Jonathan Deyrson (@deyrson)Photo by Jonathan Deyrson (@deyrson)Photo by Jonathan Deyrson (@deyrson)Photo by Jonathan Deyrson (@deyrson)Photo by Jonathan Deyrson (@deyrson)Photo by Jonathan Deyrson (@deyrson)
Programming starts with types, functions, and abstraction. Everything else comes as a result of compositionality.
2
4
1
42
10,983
Jonathan Deyrson retweeted
Magnetic Selection
23
115
6
2,011
152,732
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
13
263
43,355
Wonderful collection of links .. another book on Applied Category Theory I really enjoyed is this one by Fong and Spivak ..
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
119
7,565
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,201
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
1
97
11,294
Jonathan Deyrson retweeted
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,002
3,471
505
29,134
1,689,096
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
12
116
10,803
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
This Post is from an account that no longer exists. Learn more
2
10
1
57
5,025
Jonathan Deyrson retweeted
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
122
9
375
34,542
This looks pretty neat - a TUI for Apache Kafka github.com/sauljabin/kaskade
2
44
192
20,195
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,095
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,502
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,789
"People with DDD skills will be necessary" @ericevans0 @ddd_eu #dddeu
1
1
1
351
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
Closing the first day of DDD Europe is @ziobrando on "Modelling Up" #dddeu
1
5
18
1,648
Yes, test the domain behaviors - the algebra not the implementation ..
Don’t use AI to write your tests
1
6
1,021
a landmark in computing .. the path to higher level programming starts ..
John Backus, IBM FORTRAN team leader, discusses the shift from basic machine code to high-level programming languages. Source: The Art of Writing Software.
2
10
1,278