Andy Jessop Profile Banner
Andy Jessop Profile
Andy Jessop

@AndyJessop33500

931
Followers
1,180
Following
120
Media
2,504
Statuses

Senior Systems Engineer @cloudflare | #useThePlatform

Remote, EU
Joined May 2023
Don't wanna be here? Send us removal request.
@AndyJessop33500
Andy Jessop
5 months
In Go, a function can return MULTIPLE results?! This is mindblowing ๐Ÿคฏ
Tweet media one
339
66
1K
@AndyJessop33500
Andy Jessop
5 months
Got an email saying @Cloudflare will start charging for D1 (their SQLite DB) ๐Ÿ˜ฌ Then I looked at the cost... *25 billion* reads included in my current plan. Haha, ok @cloudflare you had me worried for a second.
16
23
499
@AndyJessop33500
Andy Jessop
3 months
I've been playing with LLama3 on the @Cloudflare AI Playground, and have found it to be really good at outputting structured data. Currently, I'm getting it to analyse sentiment and provide categorisation tags in JSON format, and it has got the structure right every time
Tweet media one
12
15
285
@AndyJessop33500
Andy Jessop
3 months
@jarredsumner I'm a big fan of Bun, but changes like this make me really uneasy. It should error, because it's not to spec.
3
0
279
@AndyJessop33500
Andy Jessop
5 months
I've been building with JS for a looong time. Two weeks ago, I started learning Go, and now JS looks like this to me:
Tweet media one
41
11
228
@AndyJessop33500
Andy Jessop
3 months
๐ŸŽ‰ In just a few months, I'll be joining the incredible team at @Cloudflare as a Senior Systems Engineer! ๐ŸŽ‰ I'll be building tooling to help other developers be as productive as possible with the Workers platform. ๐Ÿ‘ท ๐Ÿš€ This will be epic, and I can't wait to get started!
Tweet media one
27
3
132
@AndyJessop33500
Andy Jessop
5 months
It still amazes me that when you run @Cloudflare Workers locally (e.g. via wrangler) you're using the same software as that which runs on their servers. They're making it dead easy to build, test, deploy, and debug at the edge.
8
9
126
@AndyJessop33500
Andy Jessop
4 months
The new pricing for Cloudflare AI looks pretty sick. 1M tokens at $0.5 seems right on point.
Tweet media one
6
4
112
@AndyJessop33500
Andy Jessop
3 months
@bunjavascript Bun does so many things right, but then you see things like breaking JSON standards and monkey patching fetch. This is just a recipe for more fragmentation.
3
1
97
@AndyJessop33500
Andy Jessop
4 months
I've been working with @bunjavascript for a while and my biggest takeaway is not the speed, but that it makes everything so much simpler than working with node (especially with TS). DX is lightyears ahead.
5
2
94
@AndyJessop33500
Andy Jessop
5 months
What are some downsides of Golang? It's been about 4 days and I'm rather quickly falling in love with Go. But It would be amazing to see the other side of the coin. What don't you like about it? This could be anything related to language, community, career, whatever.
45
5
79
@AndyJessop33500
Andy Jessop
5 months
@marksanborn I'm only familiar with C, Javascript, Java, so this is new to me! Apparently Python does too.
29
0
77
@AndyJessop33500
Andy Jessop
6 months
I think it's happened. I'm actually at the point where @bun has replaced Node for pretty much everything I do.
11
5
74
@AndyJessop33500
Andy Jessop
6 months
@bunjavascript The right decision. These self-imposed deadlines are fine for small projects, but carry risks with the larger/longer ones. It would be better to announce them much closer to release time.
1
1
68
@AndyJessop33500
Andy Jessop
5 months
@wagslane We have a minimum of 25, so I would feel a little uncomfortable if you said "you have unlimited time off; 10-20 days is fine".
1
1
64
@AndyJessop33500
Andy Jessop
5 months
@mattpocockuk Well, it wouldn't be abstract if we did...
2
0
50
@AndyJessop33500
Andy Jessop
6 months
@jarredsumner Ludicrously fast monorepo tooling? I use Nx at work, but it takes 500ms just to startup a task. Having tooling that can detect affected changes and cache outputs, but with Bun's speed, would be a game-changer.
3
0
46
@AndyJessop33500
Andy Jessop
5 months
@wagslane You say there's not a limit but you've made it quite clear that you do have a limit that is "responsible". That clearly implies that going over 20 days is irresponsible. You say it's unlimited but in practice it's very far from that.
1
0
46
@AndyJessop33500
Andy Jessop
4 months
@thdxr @SemanticEntity VERY difficult not to infer age bias from your post. I mean, if you didn't mean age, and you didn't mean to imply age without saying it, then it was an uncharacteristically loose statement. Especially given its context.
1
0
42
@AndyJessop33500
Andy Jessop
5 months
@GergelyOrosz I think this is already happening. Maybe not with the big models, but certainly in open source there are huge amounts of variations looking at optimising AI capabilities. You only have to look as far as the Mistral 7B family to see the innovation happening.
1
0
41
@AndyJessop33500
Andy Jessop
4 months
Initial benchmark shows huge promise for my @bunjavascript monorepo. 6x as fast as Nx in this basic test.
Tweet media one
Tweet media two
2
2
39
@AndyJessop33500
Andy Jessop
6 months
@housecor It looks like a useful tool. The only issue I have is when you're too strict about DRY you also tend to end up with premature optinisation and/or code that is difficult to change.
1
0
38
@AndyJessop33500
Andy Jessop
5 months
The last few days I've been looking into #golang and I absolutely love it! I've written up a tutorial detailing how to create a (really) simple web server using Go's standard library. Link in thread ๐Ÿงต I would really appreciate your feedback as I'm very new to this language.
Tweet media one
3
2
38
@AndyJessop33500
Andy Jessop
2 months
What are you using for auth on your @Cloudflare Workers applications?
17
3
37
@AndyJessop33500
Andy Jessop
7 months
@luke_brocks @GaryMarcus @Rahll OpenAI are selling this tool, aren't they?
4
0
37
@AndyJessop33500
Andy Jessop
5 months
Is it fair game in Golang to use single-letter variables? I'm seeing lots of examples like this.
Tweet media one
13
2
33
@AndyJessop33500
Andy Jessop
10 months
@armandrego @fireship_dev People won't agree, but it's true. If you've ever used one I'm sure you'll agree. On the other hand, if you've ever stepped on a British plug, you might still be cursing it.
2
0
34
@AndyJessop33500
Andy Jessop
5 months
@TomSmallwood I don't believe it's a tuple (Go doesn't have them). Returning multiple values forces the handler to use both of them, which I don't believe is the same in some other languages when destructuring. Commonly this is used to return errors and ensure they are handled.
9
1
34
@AndyJessop33500
Andy Jessop
5 months
@wagslane I think it's a very different idea. You have a limit, it's just implicit.
1
1
34
@AndyJessop33500
Andy Jessop
7 months
@joeflateau Pretty sure it's for releasing steam in a safe and controlled manner.
2
0
31
@AndyJessop33500
Andy Jessop
9 months
@jaffathecake Hooking up your UI directly to the database introduces tight coupling from start to finish, so changes to either UI or BE becomes harder. This is great for productivity, and terrible for maintainability. I thought we already learned these lessons.
1
0
33
@AndyJessop33500
Andy Jessop
4 months
@thorstenball The lack of a debugger is a deal-breaker.
0
0
33
@AndyJessop33500
Andy Jessop
2 months
Just reading more about @Cloudflare Workers RPC, and my mind is in the process of being blown. @KentonVarda , kudos, this feels like THE new way to write workers. The other day I was building something with Durable Objects, and I thought "why can't I just call DO methods
2
3
32
@AndyJessop33500
Andy Jessop
5 months
I did not expect this...it might be the first thought I've ever had that has gone viral.
@AndyJessop33500
Andy Jessop
5 months
In Go, a function can return MULTIPLE results?! This is mindblowing ๐Ÿคฏ
Tweet media one
339
66
1K
3
2
29
@AndyJessop33500
Andy Jessop
3 months
I can't believe how easy it is to have a capable AI running locally on your machine. Hats off to @ollama
Tweet media one
3
1
28
@AndyJessop33500
Andy Jessop
6 months
@krishnanrohit Was it invented, or discovered?
3
0
26
@AndyJessop33500
Andy Jessop
5 months
@wagslane @javierdaniel If your comfortable limit is 20, give them 20, then you're not putting the burden on them to make that decision.
2
0
26
@AndyJessop33500
Andy Jessop
5 months
[Golang] can anyone point me towards what you think is a Go project that has a canonical/idiomatic project structure? Could be CLI, web, whatever.
7
1
27
@AndyJessop33500
Andy Jessop
3 months
Looks like @Cloudflare and @prisma teams have been working together recently! Cloudflare have announced support for D1 in the Prisma ORM.
Tweet media one
3
2
26
@AndyJessop33500
Andy Jessop
5 months
Twitter/X is so fickle. Throwaway comment with a head-blown emoji: goes viral, 1.1M views Article with 2 days' work and a lot of love: ๐Ÿฆ—
8
0
25
@AndyJessop33500
Andy Jessop
6 months
@housecor What's wrong with copy/pasted code?
5
0
25
@AndyJessop33500
Andy Jessop
5 months
[Golang] What's the logic behind using the same operator for both the pointer declaration type and the dereferencing operator? Is it just because this is what's done in C/C++?
Tweet media one
4
2
24
@AndyJessop33500
Andy Jessop
5 months
Now *this* is mindblowing ๐Ÿคฏ
Tweet media one
5
0
25
@AndyJessop33500
Andy Jessop
9 months
@BenLesh @angular This is mostly useless unless you provide an alternative or some context as to why/how this is expensive. For example, I just added this to my app and the app is fine - I can't detect anything in the timeline that hints at worse performance.
2
0
22
@AndyJessop33500
Andy Jessop
2 months
I've been reading a lot of @CloudflareDev blogs recently, and as you probably know they have a lot of technical and usually nuanced content. I have found that putting the blog content through an LLM prompting for an ELI5 has been a huge help to gain better understanding.
2
0
22
@AndyJessop33500
Andy Jessop
5 months
At what point does @bunjavascript start consolidating? There are lots of features that are not complete, or have many bugs. I get that initially it's a bit of a land-grab, but it would be good to know when the consolidation will happen. I would have thought v1 was the catalyst.
1
0
23
@AndyJessop33500
Andy Jessop
5 months
@gurtsquared Ok, hear me out. SaaSaaS.
2
0
21
@AndyJessop33500
Andy Jessop
5 months
@bunjavascript Bun are building Ronaldo, the API that is insanely effective for 8 years, then gets career-ending injuries while milking its past greatness.
0
0
22
@AndyJessop33500
Andy Jessop
4 months
๐Ÿคฏ Claude is *seriously* good at code. I built a bot that modifies its own code in response to prompts, so you can build it up iteratively. So far, it's been pretty much flawless - the accuracy is astounding ๐ŸŽฏ The bot takes the prompt, and the existing code, then generates new
Tweet media one
5
2
22
@AndyJessop33500
Andy Jessop
5 months
[Golang] I'm really enjoying learning about goroutines and channels. Here's a quick implementation of the Producer-Consumer pattern, using an unbuffered channel to send values to the consumer one-by-one. Channels are unbuffered by default, which means that the producer blocks
Tweet media one
2
2
21
@AndyJessop33500
Andy Jessop
4 months
@DanielW_Kiwi I feel like it's 50% of the time useful and 50% annoying, but the 50% annoying is disproportionately negative.
0
0
21
@AndyJessop33500
Andy Jessop
5 months
@hot_girl_spring @marksanborn I don't think this is quite a tuple. These are distinct values returned. I know in practical terms it's extremely similar, but I was just interested that this multiple return is baked into functions in Go.
8
0
20
@AndyJessop33500
Andy Jessop
4 months
Can you guess what I'm building tonight? @ritakozlov_ @CloudflareDev
Tweet media one
3
0
20
@AndyJessop33500
Andy Jessop
5 months
@EisenbergEffect Ah no, it's a "React Server Component Payload". It only *looks* like JSON.
3
0
19
@AndyJessop33500
Andy Jessop
4 months
@bunjavascript One example of this is module resolution. This the primary pain point I've had with Node projects over the years, and it simply evapourates with Bun. You will never see this again: SyntaxError: Unexpected token import
1
0
19
@AndyJessop33500
Andy Jessop
5 months
Trying this little critter next. Good move?
Tweet media one
4
1
18
@AndyJessop33500
Andy Jessop
1 month
I think I've got a problem. I can't stop building RAG side projects with @CloudflareDev Vectorize.
3
0
18
@AndyJessop33500
Andy Jessop
6 months
@bunjavascript That's 43.31% until I can finally tell my coworkers we're switching to Bun.
1
0
17
@AndyJessop33500
Andy Jessop
5 months
My first impressions of golang are that it's really easy to read and fast to pick up. But I suppose that's news only to me at this point.
2
0
17
@AndyJessop33500
Andy Jessop
5 months
@EskilSteenberg I'm not too familiar with C, but it looks like output is a single value.
2
0
17
@AndyJessop33500
Andy Jessop
5 months
@GergelyOrosz Use a robust runtime feature flag system to enable all devs to ship quickly but have the confidence that they can also do immediate rollbacks if there is an issue.
2
1
16
@AndyJessop33500
Andy Jessop
4 months
What will happen here? 1) Blocks the main thread for 5 seconds. 2) Blocks the main thread until the heat death of the universe. 3) Never blocks the main thread.
Tweet media one
7
2
17
@AndyJessop33500
Andy Jessop
5 months
@thdxr Plot twist: GPT 5 is basically what GPT 4 uses to be before they dumbed it down and made it lazy. No more big leaps will happen until a better architecture appears or an extra order or magnitude of compute.
0
0
16
@AndyJessop33500
Andy Jessop
1 year
@housecor @dahlbyk @kc_dc The difference is syntactic. Ultimately they're doing the same thing. Whether I write class="m-0.5" or syle="margin: 2px" they're still just inline styles. Ok one is shorter than the other, but they're still doing the same job in the same way.
2
0
16
@AndyJessop33500
Andy Jessop
5 months
@passle_ Can't argue with that. Apple are very much anti-web at this point.
0
0
15
@AndyJessop33500
Andy Jessop
4 months
Who invited Devin to the party? Things were going so well.
4
1
16
@AndyJessop33500
Andy Jessop
4 months
Thoughts on the styling/branding?
Tweet media one
3
2
15
@AndyJessop33500
Andy Jessop
8 months
@syntaxfm Slow front-ends are mostly caused by waterfall requests caused by components initiating the resolving of their data.
1
1
16
@AndyJessop33500
Andy Jessop
5 months
I've never been one to grind Leetcode, but I've got to say that it's pretty handy for learning a new language. So much of learning a new language is about getting comfortable manipulating primitives and doing basic algorithmic work. Leetcode gives you a nice structured path to
6
0
14
@AndyJessop33500
Andy Jessop
5 months
@Dominus_Kelvin That's not "SPAs" - it's just broken configuration.
1
0
16
@AndyJessop33500
Andy Jessop
2 months
No coding today. Just learning and note-taking.
Tweet media one
1
1
15
@AndyJessop33500
Andy Jessop
4 months
@jarredsumner Bug fixes? ๐Ÿ˜
1
0
15
@AndyJessop33500
Andy Jessop
6 months
@housecor I like the "add a comment with link to ticket" approach. Same for flaky tests - comment it out, but ticket to fix it with high priority.
1
0
15
@AndyJessop33500
Andy Jessop
6 months
@jarredsumner Aliases should be up to the user. We all have our typing idiosyncrasies.
0
0
15
@AndyJessop33500
Andy Jessop
4 months
I made this handy script that will concatenate all files in a folder so that they can be provided to an LLM as context. Usage is like this: bun ./scripts/concatenate.ts /some-folder/ concatentated.txt
Tweet media one
4
2
14
@AndyJessop33500
Andy Jessop
5 months
@chancethedev Not sure I actually _enjoy_ it, but I have internalised separation of concerns, and TW just....isn't that.
2
0
14
@AndyJessop33500
Andy Jessop
6 months
@mattpocockuk I don't know what to believe anymore. Might as well give this up and start beekeeping.
0
0
14
@AndyJessop33500
Andy Jessop
4 months
I think I've finally found a good use for AI. It's a tool that runs on pre-commit and just ensures that all code comments start with a capital letter, end with a full stop, and surround any variable name with backticks.
Tweet media one
3
1
14
@AndyJessop33500
Andy Jessop
5 months
@JoshWComeau Oh! So THAT's what I've been doing accidentally all this time. Seems very useful if done deliberately ๐Ÿ˜
0
0
14
@AndyJessop33500
Andy Jessop
5 months
@wagslane That's exactly the spirit. It's just that most of your other comments do not seem to support that.
1
0
13
@AndyJessop33500
Andy Jessop
9 months
@rauchg @nextjs The ironic thing here is that you will get just the same with NextJs if you have data fetching within your components. Checkout Supabase's dashboard as an example. Loading speed is so rarely to do with the framework, and everything to do with the architecture.
1
0
13
@AndyJessop33500
Andy Jessop
5 months
@nixcraft @mSykeCodes I thought these were brackets
Tweet media one
2
0
13
@AndyJessop33500
Andy Jessop
3 months
@jarredsumner The other tooling I've built around package.json will fail before my editor sees it, so this is a breaking change that I will have to deal with. When my tools read JSON, I expect it to be JSON. Please don't do this.
0
0
12
@AndyJessop33500
Andy Jessop
9 months
@BenLesh @angular I think we're now digging into the nuanve that was emphatically absent from your original tweet. Will this kill performance? No. Will this pattern be present in any given app even if the dev is unaware of the performance hit? Unlikely - more likely it will never be an issue.
2
1
11
@AndyJessop33500
Andy Jessop
5 months
@HenryAkely @TomSmallwood Despite everyone's protestations in this thread, it seems that all the examples given have been returning single values which are then deconstructed. (Lua excepted).
2
0
12
@AndyJessop33500
Andy Jessop
6 months
@bunjavascript I have an advent calendar for it. Day 1: Surprise blue screen of death. Day 2: Finding a feature that was available in the previous version but is somehow missing now. Day 3: Finding a feature that was available in the previous version but is somehow missing now. Day 4: The
0
0
12
@AndyJessop33500
Andy Jessop
5 months
0
0
12
@AndyJessop33500
Andy Jessop
9 months
@ThePrimeagen Genuine question: what's the overlap between vim users and DnD players?
1
0
11
@AndyJessop33500
Andy Jessop
5 months
@blinklabs_io I upgraded React to version 18 and my office burned down.
2
0
11
@AndyJessop33500
Andy Jessop
4 months
I just reviewed a 1500 line React component with 15 useStates and 18 useEffects. How's your day going?
1
1
12
@AndyJessop33500
Andy Jessop
5 months
[Golang] I just discovered goroutines and have been taking a deeper look. My first impressions are simple and lightweight, but really powerful. This language continues to impress me โœ… Write-up blog post in thread ๐Ÿงต ๐Ÿ‘‡
3
0
12
@AndyJessop33500
Andy Jessop
4 months
@arnaudbezancon @bunjavascript Deno is definitely the pioneer, but the URL imports only adds a layer of complexity, whereas Bun takes it away.
1
0
11
@AndyJessop33500
Andy Jessop
4 months
I built a tool that builds other tools, by using the tool it built to build itself. Yeah, my head's spinning too, but this was great fun! Check it out - the code is 99% generated by Claude from @AnthropicAI . I'll write a blog about the process in a few days.
3
0
10
@AndyJessop33500
Andy Jessop
4 months
@mariusdotdev @jarredsumner That would be cool. I like Biome and use it, but tsconfig is still a pain. If Bun could remove that pain it would be a massive DX win.
0
0
11
@AndyJessop33500
Andy Jessop
4 months
Anyone got any downsides to switching over to Biome for linting and formatting? Just seems so simple compared to ESLint/Prettier. I have this, and it just sort of...works.
Tweet media one
6
0
11
@AndyJessop33500
Andy Jessop
4 months
Met some amaaaazing people today. Tech industry is the best industry ๐Ÿ˜Š
1
0
10
@AndyJessop33500
Andy Jessop
4 months
@dailydotdev Either @supabase or @Cloudflare D1, depending on the project.
2
0
11
@AndyJessop33500
Andy Jessop
7 months
@ianmiell An if statement is in code, which needs to be PR'd, reviewed, deployed. A feature flag is generally a runtime if statement, which can be switched instantly.
1
0
10