Dylan Beattie @JFokus 🇸🇪 Profile picture
Codes, chords n'conferences. Keynote speaker, guitarist, CEO @Ursatile, Microsoft MVP. Creator of @RockstarLang. Organiser @LondonDotNet. Слава Україні. He/him.
Jun 8, 2021 22 tweets 5 min read
THREAD: Today's @Fastly outage is a nice moment to reflect on the fact that developers are absolutely terrible at writing error messages. Earlier today, some of the biggest sites on the web were offline for about 15 minutes. The BBC, the New York Times, Reddit, the UK government. Visitors to those sites got a cryptic error message: Error 503 Service Unavailable. Guru Mediation: Details: cache-lcy19240-LCY and then a long, meaningless string of numbers. Like this one here.
Jun 7, 2021 5 tweets 2 min read
Impressions after a day of playing with the @OnyxBoox Note Air: it's good. Very good. Porting Android to an e-ink device was always going to cause some weirdness, but I keep trying things out going "no way is that gonna work" - and they do! It's a huge amount of fun... My favourite "oh wow" moment so far: because it's Android, it can screencast to Google ChromeCast devices. So I hooked one up to an HDMI capture and pulled it into OBS. All the native UI is in monochrome (because why would you design UI elements for an e-ink devices in colour)...
Jan 3, 2021 7 tweets 5 min read
Weekend project part 2: my "webcam" is a Canon EOS M200 mounted on a SmallRig clamp. Unscrewing it from the tripod mount every time I wanted to use it as a regular camera was getting annoying, so I decided to build a magnetic quick-release mount for it. You know. Because magnets. The EOS has an aluminium body, but the tripod mount on the bottom of the camera is steel. A strong neodymium magnet can easily support the camera's weight, but it doesn't hold it perfectly still – both surfaces are smooth metal, so the camera will spin & slide around a bit. So...
Dec 6, 2020 16 tweets 3 min read
I was doing some feature hacking on @RockstarLang last night and hit one of the weirdest bugs I've seen in... a long, long time. Finally figured out today what was causing it.

So: in Rockstar, you can initialise a string literal using the "says" keyword:

Foo says hello world The variable Foo now contains the string literal "hello world". It's matched using a PEG syntax patterns that looks for the "says" keyword and then captures everything up to \n. The grammar is actually pretty simple.
Dec 4, 2020 14 tweets 4 min read
It's time for an angry thread about @MicrosoftTeams.

I'm speaking at an event next week that's using Teams. As I understand it, they have to do this because Microsoft is sponsoring the event. I do not work for the organisers, I'm not getting paid a fee. I'm just giving a talk. At 10:00 this morning I had a tech check for another event that's using Zoom. Connected at 10:00 - "hey! how's it going? Slides OK? Audio OK? Awesome. Anything else? No? Brilliant. See you next week." Whole thing took about 5 minutes.

11:00 is the tech check for the Teams event.
Apr 29, 2019 12 tweets 3 min read
Reading the particulars of the lawsuit (regmedia.co.uk/2019/04/23/her…) that Hertz has filed against Accenture is... enlightening. The whole thing's only sixteen pages, but here's some particularly entertaining highlights that will make you cry and die a little inside. "4. After Accenture put on an impressive, one-day presentation for the Hertz team that included a demonstration of the transformed Hertz digital experience, Hertz selected Accenture to design, build, test, and deploy Hertz’s new website and mobile applications (or 'apps')"
Dec 20, 2018 12 tweets 3 min read
’Twas the night before Christmas, and all through the room,
The desks cold and empty, alone in the gloom,
The team were all home, on a well-deserved break,
Recalling true meanings of ‘cookies’ and ‘cake’ The code was all tested, all green and no red,
The roadmap was groomed for the year ahead,
The flatscreens were dark, the keyboards were quiet,
And nothing was failing except for my diet,
Mar 22, 2018 11 tweets 2 min read
When npm was first released in 2010, the release cycle for typical nodeJS package was 4 months, and npm restore took 15-30 seconds on an average project. By early 2018, the average release cycle for a JS package was 11 days, and the average npm restore step took 3-4 minutes. 1/11 Extrapolating from historical data, scientists predicted that on 8th November 2019, the release cycle for most JS dependency packages would become shorter than the npm restore time for a typical 'hello world' app or small blog engine. 2/11