Sign in

Sam

@samuelmaddock.com
138 followers 189 following 66 posts

Software Engineer @ Slack・Maintainer of Electron・NYC samuelmaddock.com

PostsRepliesMedia
Sam @samuelmaddock.com · 07/07/2026
here at @atproto.nyc - July 2026 [217uc4d8] #atprotonyc
050
Sam @samuelmaddock.com · 10/06/2026
@ricky.fm is x_react_sources actively in use with fb source maps? I've been trying it out as a way to help automate react profiler traces to render as markdown, was curious if you know of any related work.
100
Sam @samuelmaddock.com · 17/02/2026
Great to see WebTransport in the list! Hoping to see the Scheduler API next 🤞
020
Sam @samuelmaddock.com · 11/02/2026
Somewhat tangential, but I sometimes struggle with communicating rendering differences before/after in a PR. <PerformanceTracks> looks like a step towards something that's digestible at a glance. I wonder if some kind of diffing could be layered on top of it.
010
Sam @samuelmaddock.com · 11/02/2026
It could be cool to see something like trace.cafe with this. Linkable react perf tracks.
100
Sam @samuelmaddock.com · 27/01/2026
Is there any info on how apps outside of streamplace can participate in the Live avatar badge feature? Does it require publishing a specific lexicon?
110
Sam @samuelmaddock.com · 19/01/2026
@juli.ee would it be possible to get a view of com.atproto.sync.listReposByCollection results on PDSls? it'd be nice to see at a glance with links to each repo, maybe with pagination too thanks for all of your work so far!
000
Sam @samuelmaddock.com · 02/01/2026
love the design, are the chickens part of the skybox?
010
Sam @samuelmaddock.com · 14/11/2025
next atproto meetup needs to happen here in Kobe 🦋👀
Sign in Kobe, Japan featuring a grid of shops and restaurants. One of these places is called Blue Sky.
020
Sam @samuelmaddock.com · 29/10/2025
Using atproto to alias user IDs because I _really_ don't want to manage user registrations handle → did → PDS → com.getmetastream.actor.profile → id Shortened, samuelmaddock.com → <long-user-id> without modifying DNS or storing the mapping on my own servers pdsls.dev/at://did:plc...
150
Sam @samuelmaddock.com · 16/10/2025
Only resource I can recall is this post by @wunk.bsky.social which is more oriented to rigging wunkolo.tumblr.com/post/1211369...
wunkolo.tumblr.com
010
Sam @samuelmaddock.com · 15/10/2025
Old tweet of mine is basically describing atproto. Thanks @pfrazee.com Also, "x.com" is revisionist history, I did not write that.
Tweet from October 19, 2021: Can we make the next Web be storing all your cloud data in a local file system?

📦 x.com
 ┣ 📜profile.json
 ┣ 📜likes.json
 ┗ 📜2021-10_tweets.csv
📦 youtube.com
 ┣ 📂playlists
 ┃ ┗ 📜favorites.json
 ┣ 📜history.json
 ┗ 📜subscriptions.json
0230
Sam @samuelmaddock.com · 14/09/2025
is it just me or is the @unicode.org emoji list page wildly slow? unicode.org/emoji/charts...
unicode.org
000
Sam @samuelmaddock.com · 23/05/2025
time to download Anki
020
Sam @samuelmaddock.com · 30/04/2025
exporting only America's finest culture to Japan
Shirt saying "Don't let liberals McGovern the country" at 2nd Street in Shimokitazawa, Tokyo. Sad that someone even bought this initially, let alone sold it.
040
Sam @samuelmaddock.com · 22/04/2025
Sometimes I need to reverse engineer websites for @getmetastream.com My starting point is logging Object.keys(globalThis). Since JS objects retain the order that keys are set, the end of this list are the global variables set by the website. Helps with finding any initialized video players.
010
Sam @samuelmaddock.com · 17/04/2025
These APIs look much more straightforward than those for manually updating non-store MSIX packages. Thanks!
100
Sam @samuelmaddock.com · 14/04/2025
Found some lesser known links for folks deploying desktop apps on stores. Useful as "check for updates" actions.  Open the Mac App Store and check for updates macappstore://showUpdatesPage?scan=true 🪟 Open the Microsoft Store and go to updates page ms-windows-store://downloadsandupdates
130
Sam @samuelmaddock.com · 24/03/2025
I hope to play it again someday when headsets are less heavy 😅 maybe bigscreen beyond is good enough now
110
Sam @samuelmaddock.com · 23/03/2025
til archive.org just has entire anime series available for viewing right in your browser archive.org/details/seri...
archive.org
Serial Experiments Lain English Dubbed : Free Download, Borrow, and Streaming : Internet Archive
All 13 Serial Experiments Lain episodes English dubbed in order. Download the Matroska (.mkv) files for the best quality.Lain Iwakura, an awkward and...
360
Sam @samuelmaddock.com · 13/03/2025
they allow it, but don't recommend it based on some google forum posts I read
000
Sam @samuelmaddock.com · 13/03/2025
This was actually illegal in chrome extensions some years ago, not sure when that changed.
100
Sam @samuelmaddock.com · 13/03/2025
committing web browser crimes using declarativeNetRequest
120
Sam @samuelmaddock.com · 04/03/2025
bottom right is likely armored core
000
Sam @samuelmaddock.com · 24/02/2025
So often learn about these limited runs too late so I was glad I could go watch it.
010
Sam @samuelmaddock.com · 24/02/2025
Watched Hideaki Anno's Love & Pop last night.
IFC theater signage listing Love & Pop in NYC
130
Sam @samuelmaddock.com · 05/02/2025
Yep, the only caveat is that it's limited to json so typically a small helper utility is used. I'm guessing this is how some extensions integrate with Anki too.
010
Sam @samuelmaddock.com · 05/02/2025
Extensions can talk to native applications over stdin/stdout developer.mozilla.org/en-US/docs/M... Electron's main process uses Node so I just needed to spawn the process and connect that to the extension background script. So far I've mostly seen this with password managers.
developer.mozilla.org
Native messaging - Mozilla | MDN
Native messaging enables an extension to exchange messages with a native application, installed on the user's computer. The native messaging serves the extensions without additional accesses over the ...
110
Sam @samuelmaddock.com · 05/02/2025
@nodejs.org made it simple to add native messaging support for extensions. Now  iCloud Passwords can talk to my @electronjs.org browser
171
Sam @samuelmaddock.com · 31/01/2025
thank you! I'll look into this soon. You've saved me many hours 🙇‍♂️
010
Sam @samuelmaddock.com · 31/01/2025
Last question for you, is it possible to capture frames from the active game window? I wasn't having luck with PipeWire. Is there a public API to consume the same frames as the game recording feature?
110
Sam @samuelmaddock.com · 31/01/2025
Beyond basic extension support, I eventually hope to use this to explore ideas like restoring MV2 APIs, adding Firefox APIs, and creating plugin systems.
120
Sam @samuelmaddock.com · 30/01/2025
PR is ready to go github.com/electron/ele...
github.com
feat: SteamOS gamescope overlay window by samuelmaddock · Pull Request #45387 · electron/electron
Description of Change Adds support for running Electron windows as an overlay in SteamOS&#39;s Gamescope compositor. This can be used to overlay games with additional information on Steam Deck. Ch...
020
Sam @samuelmaddock.com · 30/01/2025
I had to set `DISPLAY=:0 %command%` as the launch options ✅ bsky.app/profile/samu...
010
Sam @samuelmaddock.com · 30/01/2025
@electronjs.org running as an overlay on Steam Deck 😍
Half-Life 2 running on the Steam Deck with an Electron window overlayed in the top-left corner. The window has electronjs.org loaded.
171
Sam @samuelmaddock.com · 30/01/2025
Running gamescope via konsole seems to work, but not when run from the game mode UI 🤔 github.com/electron/ele...
100
Sam @samuelmaddock.com · 30/01/2025
Love it! So if I were to copy mangoapp's window initialization code (setting GAMESCOPE_EXTERNAL_OVERLAY), my window should appear as an overlay in game mode? github.com/flightlessma...
github.com
210
Sam @samuelmaddock.com · 29/01/2025
@froggi.es I'm completely new to vulkan layers and came across your vkroots project. If I installed a layer on SteamOS, would it be able to overlay games? Or do I have a deep misunderstanding here?
100
Sam @samuelmaddock.com · 23/01/2025
Rolling out Chrome's IWAs (Isolated Web Apps) for Windows/Mac/Linux "isn't in the short-to-medium term plans". A bit disappointing that this feature won't be available widely for a long time. I'm guessing this is to reduce the risk of malicious apps? groups.google.com/a/chromium.o...
000
Sam @samuelmaddock.com · 22/01/2025
Chromium devs are so quick to review small code changes, even from external contributors. I need to know how they managed that.
030
Sam @samuelmaddock.com · 10/01/2025
I wrote my first lines of Rust code submitting a fix to @sentry.io's symbolicator service: github.com/getsentry/sy... Thankfully, they've done a great job setting up and documenting their codebase which made it very straightforward 🦀
github.com
fix: allow optional abs_path and lineno for JsFrame by samuelmaddock · Pull Request #1581 · getsentry/symbolicator
fixes #1580 It&#39;s possible for V8 to format a JS frame location to only contain &lt;anonymous&gt; (see AppendFileLocation). In such cases, JSON deserialization should pass, but symbolification s...
040
Sam @samuelmaddock.com · 09/01/2025
最悪だ The 'null' makes me think Chrome devtools would give you more info, besides waiting for Duolingo to fix it developer.chrome.com/docs/devtool...
000
Sam @samuelmaddock.com · 16/12/2024
@1password.bsky.social chrome extension in @electronjs.org using electron-chrome-extensions. To make this work, a new v8 scripting context is added to service workers in Electron to allow preload scripts to provide extension APIs.
0121
Sam @samuelmaddock.com · 09/12/2024
Even better! 🫡
000
Sam @samuelmaddock.com · 09/12/2024
Thank you! I was a bit worried that Electron had so few mentions of thread_local 😅 I'll look into this 👍
110
Sam @samuelmaddock.com · 09/12/2024
Many hours were required to find this one line fix. I'm glad I don't need to write multi-threaded code often in my day-to-day...
A git diff of a C++ file showing a one line change where the `thread_local` keyword is added to a global variable.
150
Sam @samuelmaddock.com · 26/11/2024
TIL. I wonder if this would find traction in both UI and backend code.
100
Sam @samuelmaddock.com · 26/11/2024
or should this always be handled by EventEmitter instead? class Installer extends EventEmitter { install() { const event = new Event() this.emit('before-install', event) if (event.defaultPrevented) return } }
100
Sam @samuelmaddock.com · 26/11/2024
Do delegates feel natural in JavaScript? class Installer { constructor(delegate) { this.delegate = delegate } install() { if (this.delegate) { const event = new Event() this.delegate?.beforeInstall(event) if (event.defaultPrevented) return } } }
100
Sam @samuelmaddock.com · 22/11/2024
had to complete a minigame to finish upgrading chromium in electron today
172