Opens profile photo
Follow
Felix
@fb55
Climbing student, rock programmer
London, UKfeedic.comJoined March 2009

Felix’s Tweets

TIL that source maps can point to URLs for source files, using the `sourceRoot` property. This allows you to publish NPM packages with source maps, *without* including the original source. For TypeScript, this does the trick:
Image
We’ve had an Amazon Fresh store for a few months now right next to our home. My favorite part of the cashier-less experience is that I don’t feel awkward bringing in groceries from a different store. Amazing for combining trips.
I am curious how Telegram emoji codes for calls are generated. This one from last night perfectly summarized the call, before it even happened. And that wasn’t the first time.
Image
1
I have considered writing my own app to deal with bank cards on the web. 1Password is already a big step up over iCloud Keychain, as that doesn’t support storing verification numbers. But it still feels like an afterthought of a feature.
1
Show this thread
Bank card handling in really has so much low-hanging fruit. (1) Please flag that cards are about to expire. (2) Why aren’t card networks inferred from the number? (3) Why aren’t card numbers validated? (4) And why can’t I just scan my card with my camera?
1
Show this thread
Seeing this Gmail auto-complete: My heart goes out to all of the knowledge workers stuck in the same meeting for weeks.
Image
2
I am genuinely hyped about what's to come with WebAssembly and AssemblyScript. For now, the complexity of calling the module, and the need to use Node >= 14.8, ultimately made me put a pin in this.
Show this thread
I was able to call the WASM-ified module and extract enough information that I do think things work. And yes, the speed-up is dramatic (~80% faster or so, although result extraction is going to reduce that number).
1
1
Show this thread
Also, this is when I learned that I really want top-level `await` support when using WASM in a module. Otherwise, all of the module's exports would have to be `async`, to wait for WASM to initialise. This is only available in current Node 14 releases.
1
Show this thread
Once things compiled, calling the WASM module turned out to be much more complicated than expected. This really is the equivalent of writing a foreign-function interface, with afaict no tooling actually advanced enough to help.
2
1
Show this thread
AssemblyScript is a little bit weird in the subset of TS it supports, but mostly works as advertised. Porting the code mostly involved fixing up types, with very little logic that had to be changed.
1
Show this thread
Enter WebAssembly: With the `br_table` instruction, all of these branches should become constant time operations. My module is written in TypeScript, so I decided to port the core logic to AssemblyScript.
1
Show this thread
The initial idea came when profiling the module, and seeing that it spends most of its time on selecting branches for enum values. This would be trivial to optimise with a jump table, but alas JS doesn't have them.
1
Show this thread
In other news, I finished The Outer Worlds yesterday. Such a treat, it really felt like a reimagining of the Firefly TV show.
After spending quite some time living & working in Silicon Valley, me and my wife decided to relocate to London earlier this year. We are now slowly building up our own company. Nothing to announce yet, but I do believe we have some promising ideas.
2
One new thing that is adding a lot of joy is that people are willing to sponsor these packages. GitHub Sponsors does a fantastic job of making you feel valued. It is great that there is more than just an abstract download number, and more people yelling at you when you f up.
1
Show this thread
I have rediscovered my joy of working on open source software recently. For some reason, the node modules I wrote in high school are still incredibly popular, and after years of half-hearted updates, I have started taking them seriously again.
1
Show this thread
I've been thinking about tweeting again for a bit now, but never knew how to get started. Decided to skip doing a catchup thread, and just say: I'm back!
1
Super creepy to see the clipboard copying screen when only opening Facebook. It shouldn't access my local clipboard, even more so my Mac's.
2
The unsung hero of iOS 9: The new/refined text selection system. No more "I guess you wanted to select the entire paragraph".
2
First, getting to 0 unread entries in GReader stopped being a priority. Now I’m overwhelmed by social media, podcasts, TV shows and movies.
I'm already waiting 4 days for MariaDB to import 1TB of data, with at least another week to go. High-speed computing.
On the down side, I currently don't have access to a computer. First time in forever that I'm working solely with pen and paper.
Had weird problems with my Mac, brought it to the Apple Store on Friday, was informed that all components were loose inside.
Taking widgets & custom keyboards as signs of Android innovativeness is pure hypocrisy. Esp. when cloning iOS 8 afterwards.
The last couple of weeks, I spent a lot of time "inventing" a programming model which I just found on GitHub. Double rainbow all the way.