HN user

loige

506 karma

web developer. I live in Dublin and I blog at http://loige.co

Posts72
Comments36
View on HN
blog.scanner.dev 3y ago

Getting Started with Rust on Lambda

loige
6pts0
twitter.com 3y ago

TypeScript can type-check string formats

loige
2pts0
twitter.com 3y ago

How a QR Code Works

loige
2pts0
portswigger.net 3y ago

.sort.call – A weird trick to call a JavaScript function without parenthesis

loige
1pts0
loige.co 3y ago

Invite-only microsites with Next.js and AirTable

loige
1pts0
loige.co 4y ago

My suggestions for rocking the AWS Solution Architect Professional certification

loige
12pts0
www.fourtheorem.com 4y ago

What can you do with AWS EventBridge?

loige
7pts0
www.nodejsdesignpatterns.com 4y ago

Consume Web and Node.js streams using async/await

loige
3pts0
www.nodejsdesignpatterns.com 4y ago

Read a Node.js stream using async/await

loige
1pts0
news.ycombinator.com 4y ago

Ask HN: Qualities of a Senior Software Engineer

loige
27pts21
awslabs.github.io 4y ago

AWS Lambda Powertools for TypeScript (Beta release)

loige
3pts0
www.popsci.com 4y ago

Why everything eventually becomes a crab

loige
9pts2
betterprogramming.pub 4y ago

Practical Big O Notation for JavaScript Developers

loige
2pts0
nostarch.com 4y ago

Live Coder Jon Gjengset Gets into the Nitty-Gritty of Rust

loige
1pts0
open-props.style 4y ago

Like TailwindCSS but only with CSS vars

loige
5pts0
jwilm.io 4y ago

From Andstr to Cow in Rust

loige
1pts0
saidvandeklundert.net 4y ago

Calling Rust from Python using PyO3

loige
144pts49
www.thecodedmessage.com 4y ago

Endiannes and Polymorphism in Rust

loige
38pts28
jeffa.io 4y ago

Packages and crates are different things (Rust)

loige
1pts0
en.wikipedia.org 5y ago

Etna – tallest active volcano in Europe

loige
2pts0
github.com 5y ago

You Don't Need a GUI

loige
393pts425
nodejsdp.link 5y ago

Node.js Race Conditions

loige
8pts0
www.nodejsdesignpatterns.com 5y ago

How to Install Node.js

loige
4pts0
loige.co 5y ago

Emerging JavaScript pattern: multiple return values

loige
29pts20
loige.co 5y ago

Learning Rust through open source and live code reviews

loige
4pts0
loige.co 5y ago

Learning Rust through open source and live code reviews

loige
1pts0
loige.co 5y ago

What's in a JWT (JSON Web Token)?

loige
1pts0
loige.co 5y ago

What's in a JWT

loige
1pts0
www.swyx.io 5y ago

TILs about Node.js Fundamentals from the Node.js Design Patterns Book

loige
5pts0
www.nodejsdesignpatterns.com 5y ago

A book to become proficient Node.js developers

loige
2pts0

Thanks for the thoughtful write-up—always interesting to revisit JavaScript's quirks and strengths through someone else's lens.

That said, I think a few of the issues highlighted, while valid, might not be as disruptive in modern practice as they used to be. For instance, the typeof null === "object" behavior is certainly unfortunate, but it's well-understood at this point, and most tooling/linting setups help you avoid tripping over it. Similarly, Array.prototype.sort() sorting lexicographically by default feels odd until you remember JavaScript’s history as a primarily string-focused scripting language. These days, providing a comparator is second nature for most devs working with numeric arrays.

The point about accidentally declaring globals is a good one—but thankfully, with ES modules, use strict as the default, and tools like TypeScript, it’s much harder to make that mistake in modern codebases.

That said, I really appreciate the focus on JavaScript’s virtues, like closures, async/await, and overall flexibility—those really are part of what makes the language so enjoyable despite its rough edges.

I'm curious—have you built or maintained any large-scale JavaScript or TypeScript codebases recently? If so, what were the biggest pain points you ran into? Do the quirks you mention tend to surface in real-world projects at scale, or are they more theoretical annoyances that pop up in isolated cases?

There are definitely still many challenges in the language, but the ecosystem has come a long way, and it seems like it's still evolving in the right direction. Hopefully JavaScript keeps improving—both in language design and developer ergonomics—without losing what makes it so approachable in the first place.

Affinity photo and affinity design are quite good replacements for Photoshop and illustrator respectively. You can get them with a one time payment.

I got them during a promotion and i was able to get both for 30 USD.

I have been using them for about 6 months now and i find them quite good, even though, having used Adobe tools for a long time, i miss the familiarity with the interface and the shortcuts and some of the more advanced features.

I am not that he expert with video editing to be able to recommend alternatives unfortunately...

I think you bring a very good point. It's true that you need time to be able to develop the skills and the knowledge but it's also true that those skills don't come from free by just waiting for time to pass while sitting idle on a desk.

I have witnessed very very "senior" engineers who didn't really showcase any senior trait, nor they were helping the company or the colleagues in any significant way. Conversely, I have seen very fresh engineers showcasing the diligence and a level of knowledge that you would expect from someone with longer time in the industry. Those tend to be exceptions, but they happen.

Time in the industry is definitely a relevant factor, but I'd say it's also not a guarantee for more seniority...

Great points, thank you!

I really love your clarification on point 3. I like to think time spent on the industry is not necessarily an indication for actual experience. I have seen people that have spent years and years in the same company doing the same tasks over and over and I tend to believe that they have grown much less than other professionals that managed to be exposed to more challenges during the same time-span.

I also love the idea of T-shaped profiles and of course communication skills are a must!

Great points, I especially loved the focus on DX. Still very much undervalued to this day!

Great points also in being equally proficient in working on greenfield as well as brownfield (legacy) projects.

Thanks for sharing this

One of the authors here. Could you please provide more detailss (system, browser type and version) and maybe a screenshot?

Do you have JS disabled?

I meant there "[Once the generator has completed], Consecutive calls to `next()` will always produce `{ done: true }`".

I should probably make it more explicit

PS: I like your n+1 example.