
JavaScript musician????? Building an open-source web-based rhythm game @bemusegame (please try it thx!). Amateur music composer (a.k.a. flicknote). Christian.
Thailand
Joined January 2008
- Tweets29.6K
- Following1.8K
- Followers3.9K
- Likes2.9K
Pinned Tweet
Thank you for having me once again! ^_^
Race conditions are often not given the attention they deserve. @dtinth joined us from Bangkok for the 2nd time to share another insightful talk on coding practices, this time on managing these race conditions. youtube.com/watch?v=DWZj56qU…
Prompting my coding agents in public on @nunomaduro’s new social network for devs, /dev/null.
dev-null.sh/@dtinth
you now have the ability to
- play with every possible solution to a problem
- refactor everything when you think of better patterns
so many people complaining about the code the LLMs produce, if you're not producing the best software of your life right now something is wrong
how to be good at your job
- realize this one thing is actually made up of two separate things
- realize instead of solving the direct problem you can solve a broader problem
- instead of implementing thing, implement other thing that makes it easier to implement thing
Now that ACM Digital Library is Open Access, everyone can now read the Elysia paper
dl.acm.org/doi/10.1145/36050…
Thai Pangsakulyanont retweeted
Deno 2.0 blog announcement mentioned that Deno HTT is faster than Bun
Following the blog they reference, there were no repo nor code we could run on our end
I edit my benchmark to include Deno and the result was Bun is significantly faster unlike the claim?
Thai Pangsakulyanont retweeted
Excited to be sponsoring tickets for the next generation of JavaScript developers in Bangkok 🎓
Join @JSBangkok and learn from some awesome workshops and talks! Apply here 👇
🎓 High school & college students, join JavaScript Bangkok 2.0.0 🌐 for free!
Fill out the form [grtn.org/jsbkk-scholar] by 6 Oct 2024 and tell us why you deserve a ticket. Only 30 spots! 🎟️ Thanks to Supabase ✨ #JSBangkok #JavaScript
Thai Pangsakulyanont retweeted
Vercel has a control plane API that for circular dependency reasons cannot itself be hosted on Vercel. It's a k8s cluster fronted by Vercel's primary ingress service using special hard coded rules.
Long-story short, that API routing might be the most core of our core infra.
Well, our 1st time intern @s4chinraja went ahead and said: Bundling API routing with the hyper scale ingress service that has to roll out very carefully isn't the right architecture.
In week ~2 he had a RFC reviewed in our weekly RWC (Response with Comments) design review, then he built the thing, and last week, well before the end of his internship, he fully rolled out the new dedicated API routing service globally to 100% of traffic.
In my whole career I've never seen anything like it. Open heart surgery on the deepest infrastructure, that other folks wouldn't event touch, with full production deployment is just absolutely stunning.
Thai Pangsakulyanont retweeted
one of the reasons Svelte 5 has a rune called '$effect' (rather than something like 'watch' or 'autorun' or whatever) is to discourage you from actually using it
Thai Pangsakulyanont retweeted
if you sell software you know about the dreaded security questionnaire
certain architecture can lower the burden of this by 10x and help close more deals faster
the fact that this never comes up in "you should just use _____" convos tells you everything you need to know
Thai Pangsakulyanont retweeted
I cannot think of a better way to understand why it's a ridiculously hard to build your own payments processor than to just do it.
Not even kidding.
It's a great thing to do b/c you learn so much: FAR more than anything you'd read.
It sounds simple but it's not!
This quoted post is unavailable.
Thai Pangsakulyanont retweeted
If you really want to be safe doing this stuff I’ve got two words for you:
BEGIN TRANSACTION;
Everything you do after this won’t take affect until you run COMMIT;
Even if you lose the connection, your changes will get rolled back. It’s the ultimate safety net.
Thai Pangsakulyanont retweeted
Today me and @dtinth working on reverse-engineering Insta360 Link communication protocol to make it controllable with Xbox controller.
Now we can control camera smoothly without any messy movement by dragging a mouse to move a camera itself.
this newly supported syntax in BigQuery really reminds me of @supabase JS SDK
I like this idea -> "SQL Has Problems. We Can Fix Them: Pipe Syntax In SQL"
It's useful for composability & readability of complex SQL statements that include additional components like graph, API calls, ML/vector search all in the same statement!
research.google/pubs/sql-has…
evaluating @Speechmatics for live event transcription… gotta give shoutout to them for correctly recognizing names like @supabase and other technical terms without any prior context or custom vocabulary.
Thai Pangsakulyanont retweeted
Programming languages lie on the "Rigid/Lax" spectrum. The components of your programs (functions, modules, classes, etc.) are like joints. They define how easy it is to evolve your program.
Python is too lax.
You can write whatever mess you want and you can easily change independent parts without affecting the rest of the code. But because of that you also don't know what refactoring needs to be performed when you want to ensure that the rest of the app works.
Haskell, on the other hand, is too rigid.
In Haskell, you have to write more things to make joints connect. For example, you have to specify in the type signature whether a function has side effects, and you can even go on a more granular level where you can select which side effects.
Because of that, Haskell is great at providing high confidence in the system's correctness after refactoring. Moreover, you're carefully guided through the entire refactoring.
However, it means that Haskell programs are less flexible. You can't easily change one thing (e.g. introduce a side-effect in some pure function) w/o having a ripple effect through your entire program. Haskell works great when you know from the start what you want to do (which is not how software always works). Or if you're an excellent developer who knows a lot of coding practices and has experience to design for loose decoupling and evolution from the start (which is not the majority of the devs).
I believe the balance is somewhere in between. For now, I feel like OCaml hits the sweet spot here.
Thai Pangsakulyanont retweeted
Replying to @hardfist_1































