Christ follower, husband, father, mechanical/computer engineer, web developer, mentor

Joined October 2012
14 Photos and videos
The danger of abstraction often manifests itself in making into trees what are not trees.
59
I was a huge Remix fan and supporter of Ryan until this pointless debate. We really should be propping each other up in tech instead of tearing each other down. If the goal of Remix is to "use the platform", why complain about how Liveview uses the right tools for the job?
Dug in deeper, had no idea anything was draggable and I didn't have any mp3s on my computer to upload before. Noticed it uses Sortable.js for drag/drop, this means the UI state is driven by DOM manipulation outside of LiveView. Somebody sent me a Trellix (dumb mini trello) that drove the UI through a websocket on drag/drop and it was super janky. Since LiveBeats uses Sortable and syncs in the background it avoids jank. I would call this bailing on LiveView's model though. This is the ceiling I'm talking about. When LiveView stops becoming the source of truth, you lose composition with the rest of the system. It gets difficult to compose and synchronize other random DOM libraries with each other, the UI, and server state. I'm sure you view it differently, that these mount hooks to go do any DOM manipulation you want is a feature, not a ceiling. But if any web app can just go "write a bunch of DOM manipulation" then I guess express.js has no frontend ceiling either and the concept loses all meaning. To me, the ceiling is any time you stop using LiveView to drive UI updates and do something else. This app does a great job of avoiding network latency in favor of a separate abstraction to drive those DOM updates, so I can't find any jank. I didn't say I'd find jank though. I said I'd break it, and I did 😉 I'm actually super happy with how much you all care about getting rid of jank too. The only difference here (I suspect) is that I view using something like Sortable.js instead of something built on LiveWire is a ceiling
4
140
Docker fixed "it works on my machine" by introducing "it doesn't work on my machine"
52
I get to work on a C# data management web application during my day job, an Elixir code base for a conversational AI platform as a side gig, and an implementation of a language interpreter in OCaml as a hobby. Doesn't get much more diverse than that! C# Elixir OCaml = ???
2
1
4
604
I just accidentally discovered that if you press <Ctrl A> while typing a formula in #Excel, this box pops up...
52
The journey continues with for loops! My implementation deviates from the book, but I plan on coming back to fix that soon. #OCaml @OCaml youtu.be/p5EHpUucJIw

1
64
Just implemented while loops in my #OCaml version of Crafting Interpreters. Along the way, I found an issue with my implementation of assignment. @OCamlLang youtu.be/_sG1LZlH4Y8

78
Could someone please tell me why soft-delete isn't just a feature of most databases?
29
Going live on twitch.tv/sethcalebweeks! Crafting Interpreters in #OCaml | Conditional Logic

1
51
Here's my latest video in the Crafting Interpreters in OCaml series! This time, I implemented conditional logic. youtu.be/kbW8WJUeuvo
61
Caleb Weeks retweeted
OCaml is one of the languages of all time
6
4
42
4,815
I finally got variable scope working correctly in my implementation of the Lox programming language from Crafting Interpreters in @OCamlLang! Am I doing this right?? youtu.be/NtWcHgKlWNM

53
Hello, World!
1
43
I've had a lot of fun diving back into Crafting Interpreters. I'm using OCaml instead of Java, so my implementation deviates significantly from the book. (Also, I'm learning OCaml along the way...) youtu.be/mhPcaZ2Hcb4

53
I'm thrilled to be able to say this: This week I'm joined by @simonpj0, who has to be one of the smartest, nicest and most infectiously-enthusiastic people in the whole of computing. 📺 youtu.be/UBgam9XUHs0

2
19
96
38,819
Caleb Weeks retweeted
29 Jan 2024
Erik and I had tons of fun making this video exploring how people have solved Raindrops. There's functional pipelines, a table-lookup approach via macros, some OOP, some matrix multiplication. All the fun things. Check it out! 👇 youtu.be/mwe-9RIV39Y
3
3
1,355
How would you frame a ReAct prompt that needs to ask the user for more information in order to use a tool? OpenAI functions do this, but I'd like to find a solution that works with any* #LLM.
31