Twitter Archive: 2023
Twitter dot com was a microblogging and social networking service, where users could share short posts (commonly known as “tweets”) with text, images, and video.
This is an archive of all my tweets from 2008–2025.
These days, you can find me on Bluesky or Mastodon.
By year
- 2025 33 posts
- 2024 203
- 2023 97
- 2022 91
- 2021 89
- 2020 26
- 2019 0
- 2018 6
- 2017 56
- 2016 108
- 2015 71
- 2014 197
- 2013 180
- 2012 160
- 2011 162
- 2010 171
- 2009 238
- 2008 101
…or see popular posts.
2023
So I signed up to run a programming project at my kids' school.
What are your favourite activities/resources for teaching programming to kids between 8 and 10?
(I'm re-reading Mindstorms right now.)
What are your favourite activities/resources for teaching programming to kids between 8 and 10?
(I'm re-reading Mindstorms right now.)
Getting ready for the first session tomorrow.
bzzzz
Which frontend frameworks offer a solution for actual correctness issues, like lost updates / use of stale state?
I find this kind of mistake frighteningly easy to make. But I haven't seen any frameworks that are concerned with stuff like this.
I find this kind of mistake frighteningly easy to make. But I haven't seen any frameworks that are concerned with stuff like this.
@raycastapp @rsms When I opened Raycast today, I noticed that the type looked "stouter" than usual on my (non-Retina) T-bolt display.
Checked the changelog, and saw that the new version uses Inter 4.
Curious, did something change with hinting or something? And is it expected?
Checked the changelog, and saw that the new version uses Inter 4.
Curious, did something change with hinting or something? And is it expected?
@raycastapp @rsms (Black bg is on the low-res display, light bg on retina display)
If you've been waiting for the right time to pick up the book that @warianoguerra and I are working on… twitter.com/WasmGroundUp/s…
I tried to doing something "dumb" and update the position of an object with requestAnimationFrame.
In theory, rAF is supposed to be synced to the display refresh rate.
It's surprisingly inconsistent in Chrome! Compare the distribution of frame times to Swift/CVDisplayLink
In theory, rAF is supposed to be synced to the display refresh rate.
It's surprisingly inconsistent in Chrome! Compare the distribution of frame times to Swift/CVDisplayLink
Not sure how to get meaningful results on Safari, since I'm relying on performance .now(), which (TIL) is not as accurate as one might like: github.com/w3c/hr-time/pu…
Oh man, I would have *loved* a course like this in undergrad.
Write your own…
• TinyML
• TinyBASIC
• Tiny Hindley-Milner type inference algorithm
• TinyProlog
• TinySelf twitter.com/tomaspetricek/…
Write your own…
• TinyML
• TinyBASIC
• Tiny Hindley-Milner type inference algorithm
• TinyProlog
• TinySelf twitter.com/tomaspetricek/…
Are tail calls the first thing where you can do something in WebAssembly that you can’t do in JS? v8.dev/blog/wasm-tail…
Would be interesting to do a tail-calling version of my little bytecode interpreter for PEGs: twitter.com/dubroy/status/…
My little side project for the past few weeks: a little JS parsing framework, with two different implementations:
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
Was poking around in the SOM Smalltalk code, and discovered that @SourcegraphCody can do a surprisingly good job of converting Smalltalk to JS!
@SourcegraphCody Cody is actually really good! Seems super useful for understanding a new code base.
I'm looking for different approaches to doing name resolution, and for reference, was curious how Lua does it.
Compare @SourcegraphCody to GPT-4 here — Cody's response is much more useful.
I'm looking for different approaches to doing name resolution, and for reference, was curious how Lua does it.
Compare @SourcegraphCody to GPT-4 here — Cody's response is much more useful.
This is a great idea. twitter.com/ekzhang1/statu…
hot seo tip
Can't make a link anymore without thinking, "What would @thorstenball do?" twitter.com/thorstenball/s…
Reading some of the old Etoys papers from Alan Kay's group (then at Disney).
Etoys and SimStories (1997) is a great snapshot of the early vision: tinlizzie.org/VPRIPapers/hc_…
Some gems in here —
Etoys and SimStories (1997) is a great snapshot of the early vision: tinlizzie.org/VPRIPapers/hc_…
Some gems in here —
I should add that my wife — who's a trained Montessori educator, and has read much more of her work than I — strongly disagrees with the interpretation of Montessori's philosophy!
"Although some researchers cite Montessori education as a prime example of playful learning…others have noted that founder Maria Montessori thought play "developmentally irrelevant"
files.eric.ed.gov/fulltext/EJ107…
files.eric.ed.gov/fulltext/EJ107…
I started investing sometime around '99–2000.
It's crazy how different the first 12 years were from the past 12 years.
It's crazy how different the first 12 years were from the past 12 years.
Doing some JS profiling in Chrome dev tools for the first time in ages, and I finally figured out why I've had trouble finding my way around —
Turns out the old "Profiler" panel was deprecated!
You can turn it back on under Settings → Experiments.
Turns out the old "Profiler" panel was deprecated!
You can turn it back on under Settings → Experiments.
What are some good patterns for permanently including debugging code in a JS lib?
Eg: verbose logging, saving intermediate artifacts to disk, etc. But minimal / no perf impact in prod build.
I've done this in different ways, but never settled on patterns I'm really happy with.
Eg: verbose logging, saving intermediate artifacts to disk, etc. But minimal / no perf impact in prod build.
I've done this in different ways, but never settled on patterns I'm really happy with.
I figure out a solution for this (using Vite). Seems decent so far.
Written up here in case anyone else finds it useful: github.com/pdubroy/til/bl…
Written up here in case anyone else finds it useful: github.com/pdubroy/til/bl…
TLDR:
1️⃣ Use process.env.FIZZBUZZ_DEBUG
2️⃣ In dev, use Vite's `define` option to replace this with the build-time value of that var
3️⃣ In prod, replace with ""
4️⃣ Use `external` option so dev builds can import "fs" if it's available
5️⃣ In prod, install a noop shim for "fs"
1️⃣ Use process.env.FIZZBUZZ_DEBUG
2️⃣ In dev, use Vite's `define` option to replace this with the build-time value of that var
3️⃣ In prod, replace with ""
4️⃣ Use `external` option so dev builds can import "fs" if it's available
5️⃣ In prod, install a noop shim for "fs"
A story in four parts
This is turning out to be a really fun project to explore compiler & VM concepts in the small.
Today's discovery: I need a linker.
(…which will probably be about 10 LoC) twitter.com/dubroy/status/…
Today's discovery: I need a linker.
(…which will probably be about 10 LoC) twitter.com/dubroy/status/…
My little side project for the past few weeks: a little JS parsing framework, with two different implementations:
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
What are good resources for modern, low-level rendering architectures?
Like, if you were creating a new UI toolkit, what is essential reading?
Like, if you were creating a new UI toolkit, what is essential reading?
Any time I define a constant for some number of kilobytes, I remember the "8096" story from OTI.
lol, this was literally one of the conclusions of a paper I published at CHI twitter.com/disconcision/s…
Wow, didn’t know about this! twitter.com/JAldrichPL/sta…
My little side project for the past few weeks: a little JS parsing framework, with two different implementations:
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
1️⃣ A tree-walking interpreter
2️⃣ A switch-style bytecode interpreter
Finally got both to a working state, and the initial benchmark results are a little surprising!
I expected the bytecode interpreter to be faster, but it's actually significantly slower!
Next: figure out why :-)
Next: figure out why :-)
Any V8 experts have an idea why there is a deopt at the beginning of the interpreter loop?
The exit condition is not complex — it's `do { ... } while (ruleStack.length > 0)`.
(Screenshot here from github.com/microsoft/deop…, which is a super useful tool)
The exit condition is not complex — it's `do { ... } while (ruleStack.length > 0)`.
(Screenshot here from github.com/microsoft/deop…, which is a super useful tool)
I managed to fix a bunch of the deopt causes but the main method in my switch-based interpreter is still suffering from deopts for non-obvious reasons…
Seeing similar performance on JSC (w/ @bunjavascript). What's the best tool to investigate JIT performance in JSC?
Seeing similar performance on JSC (w/ @bunjavascript). What's the best tool to investigate JIT performance in JSC?
AssemblyScript is interesting. I appreciate the ability to write code in a high-level language that compiles to a tiny wasm module.
But I have to say, it feels super weird to be writing "TypeScript" with things like heap.alloc() and heap.free()
But I have to say, it feels super weird to be writing "TypeScript" with things like heap.alloc() and heap.free()
I worded this badly, it wasn't intended to be negative at all.
I *love* that AssemblyScript lets me do stuff like this!
I *love* that AssemblyScript lets me do stuff like this!
Heading to Lisbon tomorrow for @splashcon, and staying until Thursday. Will be at LIVE on Monday and probably DLS on Tuesday. Come say hi!
Bugs are just more fun in physical systems
Always an amazing feeling to solve a bug when you're not even at your computer.
"Hmmm, the test is failing."
*closes laptop, starts making coffee*
…
[two minutes later] "ohhhhhh"
"Hmmm, the test is failing."
*closes laptop, starts making coffee*
…
[two minutes later] "ohhhhhh"
Maybe you've heard that "<100ms is perceived as instantaneous"…
The unsurprising origin is, well somebody just made it up. twitter.com/thorstenball/s…
The unsurprising origin is, well somebody just made it up. twitter.com/thorstenball/s…
Any @_ohmjs users going to be in Cascais for Splash?
I'll be there (and @alexwarth too). I'd love to meet up with some of you, hear what you're using Ohm for and what we can do to make it better.
I'll be there (and @alexwarth too). I'd love to meet up with some of you, hear what you're using Ohm for and what we can do to make it better.
It’s a holiday here in Germany, so of course I’m…designing a bytecode format for parsing expression grammars.
How’s your day going?
How’s your day going?
Or maybe stdio should support progressive enhancement! twitter.com/tritlo/status/…
Honestly I miss the expressiveness of C, in particular what you can do with the preprocessor.
Here's bytecode dispatch in the Lua interpreter. The same code can be compiled to produce a direct-threaded interpreter (gotos w/ computed labels) or a switch-based one.
Here's bytecode dispatch in the Lua interpreter. The same code can be compiled to produce a direct-threaded interpreter (gotos w/ computed labels) or a switch-based one.
This is what it looks like to take error messages seriously. twitter.com/ShriramKMurthi…
Sure, you *could* compile a high-level lang to wasm but it wouldn't be as fun as this.
Clearly I have some confidence issues
Progress 🙌 twitter.com/WasmGroundUp/s…
*Stage whisper* Pssst — last day for early-bird registration for splashcon.org…
I'm excited to be heading back again this year. I'll be at DLS and LIVE at least — programs for both look 🔥.
Looking forward to seeing some faces that I haven't seen in a while! twitter.com/dynlangsym/sta…
I'm excited to be heading back again this year. I'll be at DLS and LIVE at least — programs for both look 🔥.
Looking forward to seeing some faces that I haven't seen in a while! twitter.com/dynlangsym/sta…
Have to say that I'm loving @bunjavascript so far. It makes using TypeScript in personal projects fun again.
I have an unexpected opening for some consulting work in the coming months…if you know something that might be a good fit, please get in touch!
How have I never heard of "syntactic salt" and "syntactic syrup" before?
en.wikipedia.org/wiki/Syntactic…
en.wikipedia.org/wiki/Syntactic…
Once again some great advice from @b0rk about technical communication. twitter.com/b0rk/status/16…
Love this.
Overall everything I've seen from the team at @fieldday_ai is 👌 twitter.com/aaronabentheue…
Overall everything I've seen from the team at @fieldday_ai is 👌 twitter.com/aaronabentheue…
Excited to announce that WebAssembly from the Ground Up (@WasmGroundUp) is open for early access!
It's a book for people who want to understand the low-level details of WebAssembly. Co-written with @warianoguerra.
wasmgroundup.com
It's a book for people who want to understand the low-level details of WebAssembly. Co-written with @warianoguerra.
wasmgroundup.com
Another case of "more like this please" — App Architecture by @objcio:
"Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address." twitter.com/dubroy/status/…
"Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address." twitter.com/dubroy/status/…
Yes — more programming content like this please.
Ray Tracing Gems covers "subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers."
realtimerendering.com/raytracinggems…
Ray Tracing Gems covers "subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers."
realtimerendering.com/raytracinggems…
Is there a modern equivalent of Kid Pix, The Print Shop (en.wikipedia.org/wiki/The_Print…), etc.?
Modern desktop drawing & page layout apps are way too complicated for a 7-year-old. iPad drawing apps are better, but the skills won't really transfer to Figma etc. twitter.com/dubroy/status/…
Modern desktop drawing & page layout apps are way too complicated for a 7-year-old. iPad drawing apps are better, but the skills won't really transfer to Figma etc. twitter.com/dubroy/status/…
Seriously thinking of getting an iMac so that we have a family computer my kids can goof around on.
My problem with iPad drawing apps is addressed by one of the guiding principles of Kid Pix: "The program should act like a standard program, so users new to the computer learn basic principles."
From "Kid Pix: The Early Years" red-green-blue.com/kid-pix-the-ea…
From "Kid Pix: The Early Years" red-green-blue.com/kid-pix-the-ea…
Yes — more programming content like this please.
Ray Tracing Gems covers "subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers."
realtimerendering.com/raytracinggems…
Ray Tracing Gems covers "subjects commonly considered too advanced for introductory texts, yet rarely addressed by research papers."
realtimerendering.com/raytracinggems…
Makes me think of "functional pearls" too
"Functional pearls are elegant, instructive examples of functional programming. They are supposed to be fun, and they teach important programming techniques and fundamental design principles"
wiki.haskell.org/Research_paper…
"Functional pearls are elegant, instructive examples of functional programming. They are supposed to be fun, and they teach important programming techniques and fundamental design principles"
wiki.haskell.org/Research_paper…
Oh man. We're gamifying reading now?
(From the Kindle app on iOS)
(From the Kindle app on iOS)
Is something like this even possible in a modern tech company? For a team to just stop doing their regular work, decamp to another location, and start a skunkworks project?
(From “Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft”)
(From “Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft”)
Lol, they saw C++ differently back then.
More illustrations for @WasmGroundUp. twitter.com/WasmGroundUp/s…
@WasmGroundUp Another version. Maybe nicer when it's not so symmetric?
It's funny but part of what made "personal computers" great was that they weren't actually *personal*.
At home, school, etc. you'd often see a few people sitting around the computer like this. Of course it's still possible with an iPad but you don't see it much in practice.
At home, school, etc. you'd often see a few people sitting around the computer like this. Of course it's still possible with an iPad but you don't see it much in practice.
Seriously thinking of getting an iMac so that we have a family computer my kids can goof around on.
Even a laptop feels more personal and less shareable. It's easy and natural to grab a mouse, but you can't really use a trackpad without orienting the whole laptop towards you.
Thought bouncing around in my head: maybe “object-oriented” is more important as UI concept than a programming one. twitter.com/rsnous/status/…
Messing around with some more playful illustrations for @WasmGroundUp.
Inspirations: "Starting Forth", @b0rk, @munificentbob
Inspirations: "Starting Forth", @b0rk, @munificentbob
Ok wow. I should really take a closer look at Virgil. twitter.com/TitzerBL/statu…
Was reminded again today that Starting Forth (forth.com/starting-forth/) is really a delightful book in so many ways.
I really love the concept behind @shiffman's "The Nature of Code": natureofcode.com/book/
500 Lines or less: Experience programmers solve interesting problems — aosabook.org/en/#500lines
(I should have know about this book, but didn't — and it looks great.)
(I should have know about this book, but didn't — and it looks great.)
I'm no type designer but ligatures like this in a monospace font just seem weird. AITA?
Highly recommended for anyone who is struggling with similar concerns. twitter.com/andy_matuschak…
It seems like 99% of educational content for programmers is about learning "material". It's all how-to — use a library, implement an algorithm, etc.
Anything out there that helps you level up on *skills* like debugging, problem solving, decision making?
Anything out there that helps you level up on *skills* like debugging, problem solving, decision making?
Dreaming of a conference where every paper has a mandatory tweet thread like this twitter.com/emxtyu/status/…
whoah…just realized the duality between "throwing shade" and "taking umbrage"
Have to admit, DARPA's mission statement is pretty f**king great:
"To prevent and create technological surprise."
Hats off to whoever came up with that.
"To prevent and create technological surprise."
Hats off to whoever came up with that.
Hmmm, it seems that there are various versions. Unsurprisingly, most of them sound much more like they were written by committee.
My kingdom for a programming language that makes provenance like this work out of the box. twitter.com/dubroy/status/…
Was looking for inspiration for @WasmGroundUp, and noticed that the new React doc site (react.dev) has some really nice details…
1️⃣ On the home page, hover over a JSX expression to highlight the associated HTML element.
1️⃣ On the home page, hover over a JSX expression to highlight the associated HTML element.
Was looking for inspiration for @WasmGroundUp, and noticed that the new React doc site (react.dev) has some really nice details…
1️⃣ On the home page, hover over a JSX expression to highlight the associated HTML element.
1️⃣ On the home page, hover over a JSX expression to highlight the associated HTML element.
@WasmGroundUp 2️⃣ Most of the pages have a useful TLDR description at the top.
3️⃣ "Deep dives" for optional content that isn't interest to everyone — clearly marked as such and hidden behind a disclosure.
4️⃣ "Pitfall" section call out common mistakes at appropriate places.
None of these are new ideas — but IMO they're all executed pretty well and make the site a pleasure to use.
Interesting —
"To our knowledge, WebAssembly is the first industrial-strength language or VM that has been designed with a formal semantics from the start."
(From "Bringing the Web Up to Speed with WebAssembly: dl.acm.org/doi/pdf/10.114…)
"To our knowledge, WebAssembly is the first industrial-strength language or VM that has been designed with a formal semantics from the start."
(From "Bringing the Web Up to Speed with WebAssembly: dl.acm.org/doi/pdf/10.114…)
Making some changes to the examples pane in the Ohm Editor.
I'm so happy that CSS grid exists, it makes certain layouts sooo much simpler.
I'm so happy that CSS grid exists, it makes certain layouts sooo much simpler.
Today I'm launching sponsorship on GitHub and Patreon — so I can spend more time improving @_ohmjs and the Ohm Editor.
Consider sponsoring if you get value from my work 🙏
🅿 patreon.com/pdubroy
🐙 github.com/sponsors/pdubr…
Ohm is over 9 years old now! A short history 🧵 —
Consider sponsoring if you get value from my work 🙏
🅿 patreon.com/pdubroy
🐙 github.com/sponsors/pdubr…
Ohm is over 9 years old now! A short history 🧵 —
2/ Ohm was created at CDG (later known as HARC), a short-lived research organization founded by Alan Kay. I worked there from 2014–17 on @alexwarth's team, where our research focused on new kinds of programming interfaces.
3/ Before CDG, Alex had created OMeta, an object-oriented language for pattern matching. In early 2014, he started hacking on a successor to OMeta — tentatively named "Ohm".
Here's a snapshot of what the syntax looked like back then:
Here's a snapshot of what the syntax looked like back then:
4/ Debugging parsers and grammars can be notoriously difficult. With Ohm, we wanted to change this.
In early 2015, I started working on a visualizer for Ohm. The goal was to make the entire execution of the parser visible and tangible.
Some early mocks:
In early 2015, I started working on a visualizer for Ohm. The goal was to make the entire execution of the parser visible and tangible.
Some early mocks:
5/ Building the visualizer required going deep into the guts of Ohm. I started contributing more and more to the core code.
In mid 2015 we published Ohm as an open source project. I became the de facto maintainer, and over time, the primary contributor to Ohm.
In mid 2015 we published Ohm as an open source project. I became the de facto maintainer, and over time, the primary contributor to Ohm.
6/ Meanwhile, the visualizer grew into the Ohm Editor (a team effort!) and we published a few academic papers:
📄 Modular Semantic Actions: ohmjs.org/pubs/dls2016/m…
📄 Language Hacking in a Live Programming Environment: ohmjs.org/pubs/live2016/
📄 Modular Semantic Actions: ohmjs.org/pubs/dls2016/m…
📄 Language Hacking in a Live Programming Environment: ohmjs.org/pubs/live2016/
7/ Sadly, HARC's funding ran out in 2017, and for a few years, the project stagnated.
But in 2020, I started working on Ohm again. I did the first stable release (v15), launched a doc site & Discord server, modernized the codebase, fixed bugs and added new features…
But in 2020, I started working on Ohm again. I did the first stable release (v15), launched a doc site & Discord server, modernized the codebase, fixed bugs and added new features…
8/ Since tjem, all my work on Ohm has been unpaid, and done in my spare time. For years, this meant early mornings, late nights, and lunchtime hacking sessions.
Now, through sponsorship, I'm hoping to once again dedicate a portion of my full-time hours to making Ohm better.
Now, through sponsorship, I'm hoping to once again dedicate a portion of my full-time hours to making Ohm better.
9/ Over the years, Ohm has continued to grow and find more users.
It's been taught at unis like UCLA, CMU, and Loyola Marymount.
It's powered research from @inkandswitch and MIT.
It's used in products like @fermat_ws and @use_bruno.
It's been taught at unis like UCLA, CMU, and Loyola Marymount.
It's powered research from @inkandswitch and MIT.
It's used in products like @fermat_ws and @use_bruno.
10/ And I have so many more things I want to do with Ohm! But I need to make sure that my work on it is sustainable.
If you have benefited from Ohm and would like to ensure it has a bright future, please considering sponsoring my work. 🙏
If you have benefited from Ohm and would like to ensure it has a bright future, please considering sponsoring my work. 🙏
Re: previous tweet — which syntax is best?
Adding context here, since Twitter apparently doesn't let you do a poll as a reply. twitter.com/dubroy/status/…
Making progress on this feature. Not sure what syntax I like best though.
Halp! What do y'all think?
1️⃣ Regular comments, indicated by "// Examples:"
2️⃣ More minimal triple-slash comments twitter.com/_ohmjs/status/…
Halp! What do y'all think?
1️⃣ Regular comments, indicated by "// Examples:"
2️⃣ More minimal triple-slash comments twitter.com/_ohmjs/status/…
Making progress on this feature. Not sure what syntax I like best though.
Halp! What do y'all think?
1️⃣ Regular comments, indicated by "// Examples:"
2️⃣ More minimal triple-slash comments twitter.com/_ohmjs/status/…
Halp! What do y'all think?
1️⃣ Regular comments, indicated by "// Examples:"
2️⃣ More minimal triple-slash comments twitter.com/_ohmjs/status/…
Saturday morning doodles.
Working on an explanation of how/why Wasm is *safe*.
(Not entirely sure this explanation is useful…or 100% correct for that matter!)
(Not entirely sure this explanation is useful…or 100% correct for that matter!)
Another take. 2nd one is obviously not complete, but does this make sense?
Just spent about two minutes trying to figure out how to disable the linear gradient on the small rectangle.
And then I realized.
And then I realized.
Still miss this feature of CorelDRAW — when aligning objects, it aligns to the last selected object.
Is there any other software that uses selections like this? Where order of selection matters?
Is there any other software that uses selections like this? Where order of selection matters?
For reference, here's alignment in in Figma — both objects move. Keynote works the same.
IMO this makes it much harder to do a sequence of alignments. (Or am I missing something obvious?)
IMO this makes it much harder to do a sequence of alignments. (Or am I missing something obvious?)
I'd be curious to hear what @steveruizok thinks. TLDraw seems to have the same as Figma and Keynote.
Interesting, Blender has the notion of the "active object" within a selection.
twitter.com/jasonbrennan/s…
twitter.com/jasonbrennan/s…
Trying to figure out a compact layout for the Ohm Editor (ohmjs.org/editor) so we can embed it in @WasmGroundUp.
Best idea I have so far:
• two-pane layout with grammar and parse tree
• examples in a drawer a la Notion
Best idea I have so far:
• two-pane layout with grammar and parse tree
• examples in a drawer a la Notion
@WasmGroundUp Here's Notion's drawer. (Lots of other apps have this but it's the first one I thought of.)
I spent about 90 mins hacking on a new @_ohmjs feature (starting from scratch) and recorded it all.
It covers a pretty wide swath of Ohm functionality, including using the editor to debug a grammar issue.
Check it out if you like that kind of thing: youtu.be/HSNsmT7MCx0
It covers a pretty wide swath of Ohm functionality, including using the editor to debug a grammar issue.
Check it out if you like that kind of thing: youtu.be/HSNsmT7MCx0
@_ohmjs No demo / live coding session would be complete without at least one of these:
"What the hell is going on? This should work."
"I have no idea why it's not working."
…
"Ok. It's working now. I have no idea what I just did. But anyways…"
"What the hell is going on? This should work."
"I have no idea why it's not working."
…
"Ok. It's working now. I have no idea what I just did. But anyways…"
Just posted part 2, where I succeeded in actually parsing out the examples from the comments: youtube.com/watch?v=0v1NDi…
Might do a video/screencast of building out a grammar to support this feature.
Anyone interested in seeing something like that? twitter.com/_ohmjs/status/…
Anyone interested in seeing something like that? twitter.com/_ohmjs/status/…
Bring spatiality back to user interfaces! twitter.com/mortenjust/sta…
Makes sense when you think about it, but it's interesting that the original pitch for sandboxing was about reliability, not security.
From "Efficient Software-Based Fault Isolation" (1993): cs.nyu.edu/~mwalfish/clas…
From "Efficient Software-Based Fault Isolation" (1993): cs.nyu.edu/~mwalfish/clas…
GUYS…I just got the joke.
Literally 20+ years after I first heard about the thumb instruction set.
I think I associated it with “thumb drives” and like thumb-sized == small form factor.
Literally 20+ years after I first heard about the thumb instruction set.
I think I associated it with “thumb drives” and like thumb-sized == small form factor.
This sentiment pops up in different forms — “the best UI is no UI”, etc
One potential answer would involve the recognition/recall distinction.
But I think there’s a deeper answer about how much of human behavior is fundamentally improvisational. twitter.com/RoyStanfield/s…
One potential answer would involve the recognition/recall distinction.
But I think there’s a deeper answer about how much of human behavior is fundamentally improvisational. twitter.com/RoyStanfield/s…
Some interesting tidbits about the SPARC architecture that I didn't know:
1️⃣ Tagged arithmetic instructions
2️⃣ Register windows
1️⃣ Tagged arithmetic instructions
2️⃣ Register windows
Ah, apparently register windows were part of the original Berkeley RISC architecture.
From "RISC I: A Reduced Instruction Set VLSI Computer" — cse.iitk.ac.in/users/biswap/C…
From "RISC I: A Reduced Instruction Set VLSI Computer" — cse.iitk.ac.in/users/biswap/C…
You're emailing someone who you met and corresponded with a long time ago, but you're worried they won't remember you.
Do you 1️⃣ reply to a 10-year-old thread, so they have context, or 2️⃣ start a new thread?
Do you 1️⃣ reply to a 10-year-old thread, so they have context, or 2️⃣ start a new thread?
Are there any good podcasts out there about programming language design and implementation? Languages, compilers, VMs, etc.
E.g. like @signalsthreads, but with a wider focus?
Val language looks very interesting: val-lang.dev
A new, Swift-inspired language based on "mutable value semantics" — no first-class references (!).
"Implementation Strategies for Mutable Value Semantics" seems to be a good intro: jot.fm/issues/issue_2…
A new, Swift-inspired language based on "mutable value semantics" — no first-class references (!).
"Implementation Strategies for Mutable Value Semantics" seems to be a good intro: jot.fm/issues/issue_2…
Excited to announce a new project with @warianoguerra — a digital-first book called WebAssembly from the Ground Up.
Follow @WasmGroundUp for updates, or sign up at wasmfromthegroundup.com.
👉 We're looking for beta readers! Get in touch for early access (reply, DM, or email)
Follow @WasmGroundUp for updates, or sign up at wasmfromthegroundup.com.
👉 We're looking for beta readers! Get in touch for early access (reply, DM, or email)
If you signed up for updates on the book, but didn't receive this update today — check your spam folder!
A number of people subscribed, but didn't confirm their subscription.
twitter.com/WasmGroundUp/s…
A number of people subscribed, but didn't confirm their subscription.
twitter.com/WasmGroundUp/s…
What are some great ways to present code in a book/docs? Especially when the code is growing, being modified, etc.?
I like what @munificentbob does in Crafting Interpreters…what are some other good examples?
I like what @munificentbob does in Crafting Interpreters…what are some other good examples?
Never thought about this…excellent advice from @b0rk about asking for feedback on technical writing.
From jvns.ca/blog/2020/11/0…
From jvns.ca/blog/2020/11/0…
I feel like this is also an issue with many attempts to tackle “end-user programming”. They’re addressing imagined problems, not authentic ones.
Thinking a lot about visual communication in technical writing. What should I read?
Is there anything like “Understanding Comics” but more a focus on explanation rather than narrative?
Is there anything like “Understanding Comics” but more a focus on explanation rather than narrative?
The val.town site got me thinking about this. I love the gestalt quality of things like this — cheat sheets, one-pagers, poster presentations, etc.
To clarify, I’m particularly interested in non-sequential explanation. Most of the non-fiction comics I’ve seen still rely on sequential exposition.
(Of course there are still lots of interesting non-sequential aspects in the page and panel layout)
(Of course there are still lots of interesting non-sequential aspects in the page and panel layout)
If you take notes in long-running docs, where do you add new entries?
(I usually add on top, but I’m always second guessing it.)
(I usually add on top, but I’m always second guessing it.)
Is this even remotely true? Does anyone think of [Google] X in the same breath as PARC and Bell Labs?
(From “Quit” by Annie Duke)
(From “Quit” by Annie Duke)
It's nice to think of note-taking as a "tool for thought" but for me, 90% of the value is in the mundane stuff — taxes, chores, appointments, etc.
The good news is, this frees up time and energy for the actual work that I care about.
The good news is, this frees up time and energy for the actual work that I care about.
The Anti-Mac Interface (1996): nngroup.com/articles/anti-…
One of my all-time favourites — I go back and re-read this every couple of years. "The central role of language" seems especially pertinent right now.
One of my all-time favourites — I go back and re-read this every couple of years. "The central role of language" seems especially pertinent right now.
I spent three years working on GC at the beginning of my career, I wonder what it did to me…
(tbh, it didn't feel that bad at the time)
One fun debugging story from those days: dubroy.com/blog/core-dump… twitter.com/TitzerBL/statu…
(tbh, it didn't feel that bad at the time)
One fun debugging story from those days: dubroy.com/blog/core-dump… twitter.com/TitzerBL/statu…