Lewis Campbell Profile Banner
Lewis Campbell Profile
Lewis Campbell

@LewisCTech

Followers
1,091
Following
228
Media
261
Statuses
4,585

Logs, events, #localfirst , software deployed in the field. Amateur systems programmer. Unilateral writes.

New Zealand
Joined November 2022
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@LewisCTech
Lewis Campbell
5 months
"Delve' is not a fancy word. It's one syllable. It's been used continuously for 6000 years. It's a word a child would know. Shakespeare used it. This is unacceptable for an educated native English speaker.
95
3K
9K
@LewisCTech
Lewis Campbell
3 months
@LucyXIV There's no one I sympathise with more than Harvard PhDs who run million dollar companies that are micro-aggressed by their Uber Black drivers. Truly the real victims.
5
11
3K
@LewisCTech
Lewis Campbell
5 months
@paulg "Bad writers, and especially scientific, political and sociological writers, are nearly always haunted by the notion that Latin or Greek words are grander than Saxon ones" - George Orwell There's also this, from Nineteen Eighty-Four:
Tweet media one
12
84
637
@LewisCTech
Lewis Campbell
8 months
Does anyone ever see this screen and basically decide "you know what, I don't need to use github today"?
Tweet media one
87
21
569
@LewisCTech
Lewis Campbell
5 months
@mkaleel LOL that's right he calls his blogs "essays" doesn't he. The man lecturing us all on not trying to sound smart calls his blog posts "essays".
21
96
518
@LewisCTech
Lewis Campbell
3 months
@db_witch They had to do "the toothbrush moustache having austrian man" on a video a few days back. Though they did say he died by "checking to see if his skull was bulletproof" which made up for it.
1
3
288
@LewisCTech
Lewis Campbell
5 months
@martinlyncroft "delve" is a direct descendent of Proto Indo-European *dʰelbʰ. *dʰelbʰ -> *delbaną -> delfan -> delven -> delve
1
18
277
@LewisCTech
Lewis Campbell
5 months
"Far, far below the deepest delving of the Dwarves, the world is gnawed by nameless things." The Lord of the Rings is so beautifully written. Tolkien was a wonderful writer. ...I mean not compared to famous essayist Paul Graham, no one is. But definitely above average.
6
71
163
@LewisCTech
Lewis Campbell
1 year
@the_aiju I strongly suspect a lot of our future paradigms will either be re-discovered or re-invented.
5
3
142
@LewisCTech
Lewis Campbell
3 months
@kitten_beloved @moonbeamdreams_ Bullshit. Loads of conventially ugly people date. All the time. And get into relationships. And have kids. You think every dad is attractive? Yes they will get rejected more than someone who is conventionally attractive. Still worth it.
5
1
125
@LewisCTech
Lewis Campbell
11 months
Small example of how expressive the @ziglang type system is. I want a buffer of Events, but don't know what kind yet. so I pass in B which is a compile time function of type -> type. I've only seen this kind of type expressiveness in OCaml. Definitely not in rust.
Tweet media one
8
10
127
@LewisCTech
Lewis Campbell
4 months
@RiverTamYDN I envy the life that you've lived if you haven't met people who would struggle with that question.
4
0
112
@LewisCTech
Lewis Campbell
5 months
@paulgb This kind of pedantry warms my heart. Also, chimpanzees are not monkeys, English lacks an informal 'you' not a formal one, // comments came from BCPL not C++, and no I am not "close" to East Asia just because I am far away from you
4
2
110
@LewisCTech
Lewis Campbell
3 months
@StatisticUrban I don't get it. Pretty women, handsome men. What's stopping them? It's not like they have our anti-natalist propaganda.
39
1
97
@LewisCTech
Lewis Campbell
1 month
I once again feel like switching languages for Interlog, from Rust to Zig. I do like Rust, the tooling is so good, I like the expressiveness (iterator chains, monadic error types, operator overloading), I like that it's both a good systems language and a good high level
14
3
96
@LewisCTech
Lewis Campbell
2 months
@_Felipe I contracted at a place with this very problem - needed to send big lat long pairs to a mobile app, and it was too slow. I suggested just sending a binary array of floats and chunking it, and they were not happy about the suggestion. As an aside, is using an object for each
10
0
93
@LewisCTech
Lewis Campbell
10 months
And so it begins - the original LSM tree paper, all 32 pages. Doubt I'll make much of a dent in it tomorrow, but one has to start somewhere.
Tweet media one
3
4
90
@LewisCTech
Lewis Campbell
8 months
Highly recommend anyone interested in CRDTs to read this article by @tantaman . Covers the motivations of CRDTs, and issues with "why not just do..." really well. And describes the Gset, showing how simple and effective CRDTs can really be.
0
14
85
@LewisCTech
Lewis Campbell
10 months
Is the universe telling me to become a systems programmer? I spent hours today reading and discussing a paper about a unix syscall. My brain is pretty spent, this was the very edge of my understanding. And yet I didn't stop. Is it time to give up business software consulting?
5
2
70
@LewisCTech
Lewis Campbell
5 months
@paulgb Are you broadly familiar with the tu/vous distinction in French? or du/Sie in German or tu/usted in spanish? English had that to, it was thou/you. So it's not that we lack a 'formal' 2nd person pronoun; we lack an informal one.
2
0
70
@LewisCTech
Lewis Campbell
11 months
"The log is the DB, everything else is just a cache" lives rent free in my head. So for multi-master systems, we takes the log/DB, cache it as a set, (causal history?) , and if the causal histories (caches) are equal, it's converged. DB's don't converge, caches do...??
5
7
68
@LewisCTech
Lewis Campbell
6 months
Can anyone recommend something on the 'why' of object stores like S3? There's a million tutorials of how to make it do the things it can do, but I have to admit I don't understand the motivation of object storage in the first place. Papers would be great.
9
6
67
@LewisCTech
Lewis Campbell
1 month
After doing a bit of work on this, Zig is 100% the right choice for this project: - libc is opt in, not opt out - I can do it without dependencies (equivalent of rand and rustix is built into the stdlib) - ArrayListUnmanaged saves me writing my own fixed capacity vectors -
@LewisCTech
Lewis Campbell
1 month
I once again feel like switching languages for Interlog, from Rust to Zig. I do like Rust, the tooling is so good, I like the expressiveness (iterator chains, monadic error types, operator overloading), I like that it's both a good systems language and a good high level
14
3
96
4
0
60
@LewisCTech
Lewis Campbell
3 months
@DrClaytonForre1 The fertility is declining everywhere. Yes, that includes West Africa.
5
0
54
@LewisCTech
Lewis Campbell
4 months
@helloitsolly You making this public and complaining about it reflects more poorly on you, than it does the freelancer. All they did is use the term 'sign on bonus' incorrectly, while you've shown the world that you view private negoations as a valid source of twitter engagement material.
1
0
55
@LewisCTech
Lewis Campbell
11 months
@ziglang is the most ergonomic bit bashing language I've ever seen. Need an 80 bit integer? Sure, here you go.
Tweet media one
1
13
54
@LewisCTech
Lewis Campbell
1 year
Been listening to @TigerBeetleDB talks and getting really inspired. Them digging through old papers to produce a superior, clean room solution to real world problems they've seen is just so cool to see.
1
2
54
@LewisCTech
Lewis Campbell
6 months
@iavins "You read Lamport '78, implemented a few CRDTs just like the papers showed you, and now you're writing "dist sys" in your HN profile. You feel like an imposter because you are one brother."
0
4
53
@LewisCTech
Lewis Campbell
6 months
Enjoyed this talk from @adymitruk . A lot of good ideas I've seen else where are being melded here - event sourcing, strong decoupling, DDD... also seeing a lot of synergy here with supply chain reference models. Will give event modelling a closer look.
1
6
53
@LewisCTech
Lewis Campbell
1 year
So proud of my daughter. Not even 8 months old and she's already reading Lamport's "Time, Clocks" paper.
Tweet media one
1
0
50
@LewisCTech
Lewis Campbell
2 months
Everytime I play around with Zig, I'm impressed with its singular focus on systems programming. Don't agree with all the design decisions, but the focus really shows. Just the most ergonomic way to dealing with bytes and memory I've ever seen.
5
2
51
@LewisCTech
Lewis Campbell
2 months
@bryancsk We taught you - can you teach us again? Looks like we forgot.
2
0
49
@LewisCTech
Lewis Campbell
3 months
@dieworkwear There's something weird about seeing "Carthage Delenda est" in Blackletter, on a t-shirt.
4
0
50
@LewisCTech
Lewis Campbell
3 months
@TheAnkurTyagi I don't see how a developing economy can become an advanced economy in this era of mass migration to the western world. If all the ambitious, dis-satisfied people leave, how can things meaningfully improve? I understand why people would want to. But the question remains.
12
2
42
@LewisCTech
Lewis Campbell
5 months
@f6zivk @HarryStebbings Have higher standards for the civilization in which you live.
0
0
47
@LewisCTech
Lewis Campbell
7 months
Working on a distributed log from the ground up, using direct IO. Very local first and event sourcing inspired. Early days. Any eyeballs, constructive criticism or even pull requests very welcome.
0
10
45
@LewisCTech
Lewis Campbell
5 months
@p1xelHer0 I genuinely think modern frontend engineering culture is incapable of this. You would need a team of weirdos. I am deadly serious btw.
4
1
45
@LewisCTech
Lewis Campbell
3 months
@Microdosingbees @airkatakana I don't get it, they're both chinese??
2
0
43
@LewisCTech
Lewis Campbell
4 months
Tigerbeetle has given a lot to the community. The talks are top notch and are directly responsible for me getting into things I thought were "too difficult"; consensus, LSM trees, direct IO, LMAX architecture, and deterministic simulation testing. Also the code is right there...
@ohmypy
Anton Zhiyanov
4 months
I just listened to a podcast with the CEO of TigerBeetle (financial transaction database) and it was SO cringe. He praises the product as some kind of tech miracle, which IMO is an immediate red flag to anyone who has been in tech for at least a few years. He talks about
19
1
37
1
4
41
@LewisCTech
Lewis Campbell
3 months
@SuperDog_18 @StatisticUrban Generations ago they worked less hard and had more time?
15
0
40
@LewisCTech
Lewis Campbell
2 months
Test results for one hour of simulation time. A bit over a million events, for 80 seconds real time. Everything indexed and using transaction buffers. Finally none of my asserts are tripped! A lot of work to do: - disk interface is low level, but has no faults - need to
Tweet media one
4
3
41
@LewisCTech
Lewis Campbell
3 months
@SergioRocks I need everyone else to hear my clicky mechanical keyboard.
2
0
39
@LewisCTech
Lewis Campbell
11 months
@paul_snively Got back into F# recently. It's very productive for me. It's not the best at anything, but it's like 4/5 in *everything*. And the only time I'm "fighting the language" is when i get syntax wrong (I'm rusty). Really recommend people try it.
0
7
37
@LewisCTech
Lewis Campbell
4 months
@nilostolte maybe they had their eyes closed?
4
0
38
@LewisCTech
Lewis Campbell
7 months
@DanielW_Kiwi It's a thing inside a thing and you can change the inner thing but it will still be in the outer thing.
5
2
37
@LewisCTech
Lewis Campbell
8 months
@BenFiliatro Mate none of the 'tech girls' I follow are doing stuff like that. They're just coding. Says more about your feed than anything :p
0
0
36
@LewisCTech
Lewis Campbell
2 months
@bunjavascript I have a one person company, and I just tried it. Don't tell anyone.
0
0
36
@LewisCTech
Lewis Campbell
1 year
@hardyrarso @TigerBeetleDB @jorandirkgreef I'm also inspired by Tigerbeetle. It's a perfect storm: - clean room design (every coders favourite three words) - based on an 80s research paper that was ahead of its time - solving real world problems the founders encountered - talks are refreshingly positive. we need this!
2
2
30
@LewisCTech
Lewis Campbell
8 months
You ever see the same term pop up in a few places and think "hmmm"? @TigerBeetleDB often talks of "fault models". Wonder if theres more to this idea than I think. (Paper is "A Transaction Model", Jim Gray, IBM Research Laboratory 1980)
Tweet media one
0
2
32
@LewisCTech
Lewis Campbell
10 months
Shameful confession - I've started using rust again. Going much better. The trick is to never listen to the compiler when it says "hey you've upset the borrow checker, try this!". That just makes it worse. Instead refer back to the documentation to make sense of the first error.
6
1
30
@LewisCTech
Lewis Campbell
9 months
Filesystems = bloat. But in all seriousness if anyone is interested in distributed systems & storage, I highly recommend following tigerbeetle. I've learned so much trying to understand tweets like this LOL.
@TigerBeetleDB
TigerBeetle
9 months
This is why TigerBeetle was designed to run on raw NVMe, replacing the filesystem with end-to-end checksums, for best performance and safety. Then again… With a storage fault model, TB is also designed (and tested) to recover from faulty I/O (if you must run on a filesystem).
3
19
120
0
0
31
@LewisCTech
Lewis Campbell
1 year
Inspired by @TigerBeetleDB - and my unease at all the rust crates I need to combine http and property based testing - I've decided it's time to get into deterministic simulation testing. I figure it's best to add it early in a projects life. Any tips for a beginner?
1
2
30
@LewisCTech
Lewis Campbell
3 months
@ChShersh Complaining about ugly syntax is such an expert beginner vibe.
3
0
30
@LewisCTech
Lewis Campbell
3 months
@BlackLodgeAgent We're in the middle but we're also... the most privileged. Got it.
1
0
29
@LewisCTech
Lewis Campbell
8 days
Any programmers here? I am learning it again for the first time in years. It still feels fairly enterprisey, but it does compile very fast (unlike say rust/axum) and it does have a nice big std lib (unlike node).
18
5
39
@LewisCTech
Lewis Campbell
2 months
Spicy saturday post - these programming believes hold people back: - if it compiles, it works - aka types can replace tests - programming paradigm partisanism; rabidly strong opinions about OO, Imperative, FP... - skimming over error messages - "I didn't learn that during my
5
1
29
@LewisCTech
Lewis Campbell
3 months
@Microdosingbees @airkatakana gee those Bangladeshis are really going at it
0
0
29
@LewisCTech
Lewis Campbell
9 months
Enjoyed this article by @Horusiath about Hybrid Logical Clocks. It's an interesting idea but the original paper is not very readable, so it's always appreciated when there's a good blog post on it.
2
2
28
@LewisCTech
Lewis Campbell
4 months
@lan8ach Are the tech stacks so convoluted that being a junior just isn't viable anymore? you need 5 years experience trawling stack overflow
2
2
27
@LewisCTech
Lewis Campbell
10 months
I'm basically only interested in 3 CRDTs - g-sets, multi-value registers, and OR-maps whose values are multi-value registers. These are the core constructs for database syncing insofar as I see it - the rest have applications in collaborative software.
2
2
28
@LewisCTech
Lewis Campbell
3 months
@JShooke How dare you call Rock Me Amadeus corny
0
0
26
@LewisCTech
Lewis Campbell
21 days
It occurred to me recently that - some 10 or so years in - I'm not as good a programmer as I want to be. Maybe at my age I'm just supposed to accept I've peaked (and become a product manager! (jk (or am I?))). But I still have a love for it, and wonder if I sit down and identify
5
0
25
@LewisCTech
Lewis Campbell
3 months
@fasc1nate Former British colony here. I'm so proud we sacrificed a generation of men so we could (checks notes) help the USSR occupy Central and Eastern Europe and give birth to North Korea.
4
0
26
@LewisCTech
Lewis Campbell
3 months
@chinesegon I'm sorry but I find this phrasing very funny. Like if the girls in SF were better looking he'd be fine with it. But they're ugly to boot!! This cannot stand!!!!
0
0
24
@LewisCTech
Lewis Campbell
3 months
Good. This is a good book and it deserves the popularity. Not just the content inside, the fact that every chapter has about 30 references. Great for deep diving.
@dejavucoder
sankalp
3 months
you can just post this book's image with some quote and get a shitload of likes, it's hilarious.
Tweet media one
25
16
1K
2
2
24
@LewisCTech
Lewis Campbell
5 months
@ChShersh You're right!!!!
Tweet media one
4
0
24
@LewisCTech
Lewis Campbell
7 months
Oh yeah I'm looking for a technical job or contract. I like events, syncing, reading dist sys papers, local first, and apps that work offline. I know most normal languages and a few abnormal ones.
0
8
24
@LewisCTech
Lewis Campbell
15 days
@yacineMTB Ehhh.... I like zig, but... - tooling is nowhere near as good as rusts - no operator overloading because "scary" - no closures because "confusing" - you have to write your own find functions
3
0
23
@LewisCTech
Lewis Campbell
5 months
@thetimmorgan When I was a young boy, and had no internet, if I didn't know a word on my native languiage, I looked it up in a dictionary. An educated native speaker with hundreds of dictionaries at their literal finger tips should be ashamed for flinching at "delve".
0
2
23
@LewisCTech
Lewis Campbell
6 months
Also - follow Joran and Tigerbeetle. Thanks to following TB I've gotten into deterministic simulation testing, direct IO, static memory allocation, and now the LMAX architecture. The cud definitely needs more chewing but a whole new world has opened up to me.
@jorandirkgreef
Joran Dirk Greef
7 months
@iamatradernoob @sunbains Tips for going deep on databases: 1. Pick a conference, like FAST (nice because it’s less DBMS and more focused on the broader hardware/software interactions) and follow the papers/talks from there each year. They might not make sense. Keep chewing the cud. 2. A DBMS at heart
1
20
113
1
2
23
@LewisCTech
Lewis Campbell
10 months
Tech Lead was the job I was best at. Maybe I just had great juniors and intermediates, but we knocked it out of the park. My main role was getting them out of pointless meetings and making it clear I would be to blame for any potential failures so they didn't worry about it.
@ryanrwinchester
Ryan Winchester
10 months
If I plateau at Senior Software Engineer is that okay? I’ve turned down Lead. I don’t want to deal with people more. I’m bad at it. I want to write code. Mentor a bit. What’s wrong with that?
446
79
3K
1
2
22
@LewisCTech
Lewis Campbell
3 months
@GarrettPetersen I tell Germans I like Kraftwerk all the time. The real hate crime is that hardly any of them have heard Kraftwerk. What about the real victim - me?
0
0
21
@LewisCTech
Lewis Campbell
4 months
Everything in distributed systems gets so much easier and more resilient if you relax consistency. The data willl come when it's ready, just chill out and enjoy the journey!!!
2
2
21
@LewisCTech
Lewis Campbell
1 year
Made a short rant video - read computer science papers! Wish I'd started years earlier.
1
1
21
@LewisCTech
Lewis Campbell
11 months
Re-wrote DB logic. Ran it again in the deterministic sim tester for 1 sim minute. Old / New: Real time = 01:16.8445814 / 00:05.8569270 Events generated = 93,996 / 93,996 Messages sent = 34,835 / 32,153 Events sent = 62,641,890 / 6,612,882 Avg events per msg = 23,356 / 2,466
1
0
21
@LewisCTech
Lewis Campbell
10 months
Page 1-2 impressions: - motivation is laid out very clearly. I should have read the abstract + info first before I ever did a web search - many references to hard disk arm movement! I think of LSM trees as modern but this is '96 - examples are financial txn workflows...
@LewisCTech
Lewis Campbell
10 months
And so it begins - the original LSM tree paper, all 32 pages. Doubt I'll make much of a dent in it tomorrow, but one has to start somewhere.
Tweet media one
3
4
90
5
1
21
@LewisCTech
Lewis Campbell
3 months
@moonbeamdreams_ Just like you're not obliged to be someones boyfriend/girlfriend, they're not obliged to be your platonic friend. I get that these misalignments are painful, but I find it hard to read a great deal of malice or manipulation in them.
0
0
18
@LewisCTech
Lewis Campbell
1 year
@t3dotgg One hour is my cut off time. After that it's time to ts-ignore and move on with my life.
1
0
19
@LewisCTech
Lewis Campbell
2 months
@michael_timbs @tsoding I am pretty sure to become a web dev he'd have to lose a solid foundation of knowledge and just binge framework tutorials.
1
0
19
@LewisCTech
Lewis Campbell
3 months
@AvinashP6969 @TheAnkurTyagi The only reason you have easy access to household help is because your country is so poor. If you become an advanced economy, that goes away.
4
1
17
@LewisCTech
Lewis Campbell
8 months
Playing around with direct IO in linux. Never had much reason to muck around with bytes as a frontend dev so this is quite fun.
Tweet media one
1
1
17
@LewisCTech
Lewis Campbell
6 months
I think I will stop using the term "CRDTs". I'm interested systems that can be written to w/o coordination and sync predictably. And every single one of those will obey the CRDT laws, whether they know the term or not. Amazon Dynamo obeyed those laws, but it predates the term.
3
2
18
@LewisCTech
Lewis Campbell
6 months
I think I'm at a career turning point. I've succeeded and enjoyed a lot of disparate things into my career and but I'm struggling to weave that into some kind of path, plan or direction. Or even job title.
1
0
18
@LewisCTech
Lewis Campbell
3 months
@dejavucoder @airkatakana Look at the faces of the background people. In the west, you speak up, and people look at you earnestly. In the east, you speak up, and they're angry, annoyed and cringing.
0
0
17
@LewisCTech
Lewis Campbell
3 months
@Rainmaker1973 Does no one else realise how easy it would be for him to learn French with that foundation?
7
0
18
@LewisCTech
Lewis Campbell
1 year
It's note taking time
Tweet media one
1
2
18
@LewisCTech
Lewis Campbell
1 month
@VCBrags It's one of those things that'd be witty in a movie or tv show.. In real life, it's insufferable and incredibly cringey. What's the television equivalent of "terminally online"?
2
0
18
@LewisCTech
Lewis Campbell
1 year
@DVHenkelWallace @penguinvondoom @the_aiju Are you serious? Like I expect that attitude from working programmers like myself. I had to be educated out of it. But researchers? That's sad. I love 70s papers lol.
1
0
16
@LewisCTech
Lewis Campbell
2 months
Did you ever think to yourself "gee I love Kafka, but I wish it had less consistency?". Then you may want to check out my database project!
1
3
17
@LewisCTech
Lewis Campbell
3 months
@paraAax @cremieuxrecueil "Jamie pull up that video of a juvenile female chimp wrestling Aleksandr Karelin"
1
1
16
@LewisCTech
Lewis Campbell
2 months
@joseph_h_garvin @_Felipe makse sense. it's like a compiler, it can do a lot, but it's best to make it's job easier.
0
0
17
@LewisCTech
Lewis Campbell
10 months
The meaning of the term "CRDT" is really starting to drift. Libraries like automerge and yjs are just *implementations* that happen to be a CRDT. But the idea of a CRDT itself is much older. I've seen "proto-CRDTs" described as far back as 4 decades.
2
1
17
@LewisCTech
Lewis Campbell
3 months
@functi0nZer0 "Hey I saw you dancing in the pool with my zoom in binoculars. I could have easily gone down there and tried to ask you out in person but that seemed scary LOL. Anyway I paid the internet $1000 to dox you - will you marry me?"
1
0
17
@LewisCTech
Lewis Campbell
2 months
@DanielW_Kiwi This is why I brought a barebones mini PC as my main desktop. Had to put the ram in, SSD in, and put linux on it myself. But no windows BS.
1
0
16
@LewisCTech
Lewis Campbell
13 days
Design patterns are one of the most badly understood things in all of software dev. They're just a way to name certain common patterns that already occur in the wild. The point of putting it in a book was to make a shared vocabulary. I guarantee everyone's code has "design
@yacineMTB
kache
13 days
design patterns are an anti pattern
55
16
465
3
2
16
@LewisCTech
Lewis Campbell
1 month
RDBMS pushers: Don't use NoSQL! There's no schema, you have to write it in application code! Also RDBMS pushers: Use ORMs and use it to write your schemas in application code.
2
2
16