John Flockton's Avatar

John Flockton

@thegreatercurve.com

software engineer @meta. working on mobile tooling. side interest in browsers and JS compilers.

115
Followers
440
Following
36
Posts
07.11.2024
Joined
Posts Following

Latest posts by John Flockton @thegreatercurve.com

TypeScript Exact Types TypeScript Exact Types

This is missing by default in TS. So, if you look at the first example in this article, both `printUser` calls will error in Flow: www.petermekhaeil.com/til/ts-exact...

19.11.2025 22:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Objects | Flow Objects can be used in many different ways in JavaScript.

Not by default, `$ReadOnly` is enforced via lint errors and code mods.

By deafult, Flow does have some nice guarantees that objects will always be "exact", meaning you can't add additional properties: flow.org/en/docs/type...

19.11.2025 22:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Arrays | Flow Array types represent lists of unknown length, where all items have the same type.

Flow has had immutable types built-in for a while now, all prefixed with `$ReadOnly*`: flow.org/en/docs/type...

19.11.2025 11:36 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Wrong, and I'll say so to your face. Just let me get 2 buses and an infrequent Thameslink.

06.10.2025 07:58 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Apparently the UK adult verification thing has basically banned blind people from half of the internet because they can't use the verification system 🫣

29.07.2025 09:51 πŸ‘ 2887 πŸ” 1039 πŸ’¬ 48 πŸ“Œ 72
Post image

Reading about how different TV channels covered the first moon landing:

01.07.2025 17:21 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Developer Voices with @krisajenkins.bsky.social
Igalia Chats

11.06.2025 16:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Brilliant piece of UX from @monzo.com if you open the app whilst on the phone to a potential scammer:

31.05.2025 10:39 πŸ‘ 6 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Isn't it built on top of QuickJS which does have a reference counting GC?

18.05.2025 10:42 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Wtf, you pay the Apple premium not to have to deal with these kind of cheap UX dark patterns.

17.03.2025 15:41 πŸ‘ 8 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
A 10x Faster TypeScript - TypeScript Embarking on a native port of the existing TypeScript compiler and toolset to achieve a 10x performance speed-up.

Today we're thrilled to announce our effort to port the TypeScript compiler and language service to native code, gaining a 10x speed boost in build times and editor responsiveness!

devblogs.microsoft.com/typescript/t...

11.03.2025 14:36 πŸ‘ 974 πŸ” 293 πŸ’¬ 22 πŸ“Œ 156
Preview
Lynx Empower the web community and invite more to build cross-platform apps

I appreciate that they have a very well-written spec as well: lynxjs.org/guide/spec.h...

05.03.2025 15:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

It's interesting that they're using the strengths of different JS engines for different parts of their runtime. QuickJS for the "main-thread runtime" with it's low latency start-up times but lack of JIT, and the inverse of V8 or Hermes for the "background runtime".

05.03.2025 15:26 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I couldn't possibly confirm either way. Ninjas operate in secret...

01.02.2025 14:19 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The pretentious history of front end job titles:

2010: Web Developer
2015: Front End Developer
2020: Front End Engineer
>2025: Member of Technical Staff: Front End

30.01.2025 16:32 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

We sing "zed" at the end of the alphabet song just to be dicks.

17.01.2025 21:48 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

So, what, I have to remember how to do my job?

02.01.2025 08:50 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Me too Safari codebase, me too:

18.12.2024 11:55 πŸ‘ 7 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Chromebook of the '00s

15.12.2024 22:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Write short and efficient code. Otherwise, the GitHub UI completely freezes whenever a file is over 2000 lines long... it's clearly a feature, not a bug πŸ˜….

08.12.2024 15:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I would recommend Thank Goodness You're Here! by @coalsupper.bsky.social in the Steam sale. Still my favourite game of the year.

02.12.2024 08:56 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Out of interest, apart from Quick.js does anyone know of any language interpreters which parse straight to bytecode, omitting the AST step?

30.11.2024 08:14 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Boyz II Gam-men

24.11.2024 12:25 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Implement β€œTemporal” Proposal in V8 Design Doc Implement β€œTemporal” Proposal in V8 Design Doc [public viewable design doc] Status: Draft Author: ftang@chromium.org Last Updated: 2021-06-25 Objective Implement the ECMA262 β€œTemporal” proposal in v...

Yeah, it's a chunky one. "300 function calls" docs.google.com/document/d/1...

23.11.2024 17:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Very interesting! I love these kinds of snippets of programming history.

23.11.2024 16:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

You sort of forget about it as everyone just relies on date utility libraries nowadays.

Only had a brief look into Temporal but the API seems much more intuitive. It's got to be better than this at least:

23.11.2024 16:31 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

TIL, months are zero-indexed in the JavaScript Date class (but not years or days):

#javascript #typescript

23.11.2024 16:05 πŸ‘ 6 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

*Unexpected Flow error in the CI*

20.11.2024 08:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

absolute masterclass in calm, facts-based interviewing by @vicderbyshire.bsky.social

19.11.2024 22:27 πŸ‘ 925 πŸ” 148 πŸ’¬ 39 πŸ“Œ 3