HNHacker News
TopNewBestAskShowJobs

joshwcomeau

2,790 karma · joined February 14, 2016

Software developer. Javascript and stuff.
submissionscomments
joshwcomeau··on Don't Be Nice
I already held Daniel in high esteem, but I respect him so much for posting this. Couldn't agree more.
joshwcomeau··on AI has a multiplying effect on existing technical skills
I guess that depends on how you define "think". I wouldn't say that AI thinks.

I admit the analogies aren't perfect, but the analogies are mostly used to help explain the empirical stuff I’m seeing in the real world. Are you seeing something different?

joshwcomeau··on AI has a multiplying effect on existing technical skills
> Fewer developers required to achieve the same things means a lot of people are going to be unemployed

I don’t think that's a foregone conclusion. Every company I’ve worked for has had a huge list of tasks we'd do if we had more engineering resources. There's never been a shortage of worthwhile things we could do, it's always been ruthless prioritization to find the 10% of tasks that are the most important.

Look up Jevons' Paradox. This is a thing that has happened a bunch of times before.

joshwcomeau··on AI has a multiplying effect on existing technical skills
For context, this was a newsletter issue sent as part of a marketing campaign for my latest course. It was an elephant in the room in the sense that up until that point, my marketing campaign hadn't talked about AI.

This is the "view on web" link designed for people to read my emails if they don't display correctly in their email client . It’s not really intended for a broader audience.

joshwcomeau··on Whimsical Animations Course Open House
<3
joshwcomeau··on Whimsical Animations Course Open House
Oh hi HN! I'm Josh, the creator of this course.

For context, Whimsical Animations is my new course that focuses on creating beyond-the-basics animations and interactions with modern CSS, JS, SVG, and Canvas. When I launch new courses, I make a few lessons public for a few days. It’s always a bit tricky since most lessons in my course are part of a larger linear arc, and don't really make sense as standalone lessons. I tried to pick stuff that would be independently valuable, rather than it just being a demonstration of the course format / my teaching style.

You can learn more about the course on its homepage (https://whimsy.joshwcomeau.com/), since it doesn't really explain much on the Open House page.

joshwcomeau··on How do I get into the game industry
++. I find it kinda baffling that people assume that the ideal endgame is "AI makes whatever the user wants". What I want is to have interesting novel experiences crafted by talented people. I have no interest in playing a randomly-generated composite of a bunch of existing games. What would be the point?
joshwcomeau··on Eleven Music
This stuff is such an abomination. What a terrible thing to release into the world.
joshwcomeau··on OpenAI reaches agreement to buy Windsurf for $3B
++. Was surprised I had to scroll so far to find someone saying this!
joshwcomeau··on Deconstructing the "Whimsical Animations" landing page
Thanks for the tip!
joshwcomeau··on Deconstructing the "Whimsical Animations" landing page
I added a note about this a bit later in the post, but the issue was that all of the optimization services I use strip out the color profile, and I don’t know enough about webp or avif to re-add it. Other than re-saving it, which increases the size since it decompresses everything.
joshwcomeau··on Deconstructing the "Whimsical Animations" landing page
Yeah, sorry about that - there is specifically an issue with Firefox on Android. It’s a very small % of my traffic, and remote debugging Firefox seems a bit tricky, so I haven’t prioritized it. But I should spend some time and at least take a look!
joshwcomeau··on Next-level frosted glass with backdrop-filter
Author here — yeah, so my goal with 200% was to make the code as comprehensible as possible. My actual glassy header does something quite similar to what you’re suggesting, but that also raises the bar quite a bit for how much CSS you need to know in order to understand this post.

I like making things like this copy/pasteable, rather than NPM-installable, so that more experienced developers can make tweaks like the one you suggest.

joshwcomeau··on Ask HN: Can we delete our accounts?
I think they were saying that there are no laws in India that are relevant / similar to GDPR. Not that Indian laws don’t matter
joshwcomeau··on An interactive guide to Flexbox
Pushing an update now that sets different font sizes for the 4 children, so that this can be observed!
joshwcomeau··on An interactive guide to Flexbox
Yeah, I was worried people would wonder about this!

It doesn't appear to have an effect in this example because all of the text is the same size (and therefore, they do all share the same baseline). In the devtools, try bumping one of the items up to font-size: 2rem, and you'll see the effect it has.

My initial version of this post didn't have “baseline” as an option, since yeah it doesn't demonstrate it well, but I figured people would wonder why a single value was excluded.

Incidentally, baseline alignment is so handy, but I couldn't fit everything into this post. We cover it in more detail in my course (https://css-for-js.dev/)

joshwcomeau··on Show HN: A color picker for named web colors
This is amazing .

Named colors have one incredible use case: as placeholders in teaching environments. In my CSS course, I’d much rather use “color: hotpink” than “color: hsl(345deg 90% 50%)” (when color isn’t the focus of the lesson)

joshwcomeau··on Pathfinding Visualizer
This is so cool! well done.
joshwcomeau··on Hexwords: Hex colors that are similar to words
I love this
joshwcomeau··on How To Remember Anything Forever-ish (2018)
This wonderful explorable is by Nicky Case, an all-around wonderful person.

She has a Patreon, in case you want to support her work! https://www.patreon.com/ncase

joshwcomeau··on Pixels and Accessibility
Appreciate it :)

And yeah, the plan is to keep providing a bunch of free content, knowing that a small % of people who read the blog will go on to buy the course. Way more sustainable than it used to be, when this was something I did outside of my job.

joshwcomeau··on Mechanical Watch
This fits into a category of thing known as “explorable explanations”. They’re an amazing form of media. This one is particularly brilliant!

Check out this site for many others: https://explorabl.es/

joshwcomeau··on Things I don’t want to do to grow my side project
Yeah, this stuff is tricky! On the one hand, successful businesses require a whole set of skills, and so if you're going to go the solo indie hacker route, you need to wear lots of hats, and you probably won't like some of them.

On the other hand, if you spend too much time doing stuff you hate, you'll burn out, which can sabotage the business even more quickly than skipping the tasks you don't like.

I've approached this problem by trying to weave the things I like into the things I don't. I enjoy coding more than I enjoy writing blog posts, so why not create interactive blog posts? I wind up doing a fair amount of coding to create the dynamic widgets. Here's an example blog post, so you can see what I mean: https://www.joshwcomeau.com/animation/css-transitions/

I also try and stay focused on the outcome. I don't really enjoy filming video lessons, but I enjoy the feeling that comes from teaching someone a valuable skill. So I try to keep that in my mind when I'm doing the filming/writing.

joshwcomeau··on Web color is still broken
I wrote a blog post all about this! And how to get better color-mixing in your CSS gradients.

Shameless plug: https://www.joshwcomeau.com/css/make-beautiful-gradients/

joshwcomeau··on Ask HN: Starting a Career in Programming at 61?
I used to teach software development at a part-time bootcamp. The part-time program was especially interesting because it tended to attract an older crowd, people with families and full-time jobs.

I don't know if I ever had students in their 60s, but I'm pretty sure I had students in their 50s (I don't know their birthdates so I'm really just guessing when it comes to age).

On average, it was definitely harder for the older students to find work, but it's absolutely possible. Some companies will really appreciate having people with more life experience, more maturity.

I think the first step would be to see if your dad actually enjoys doing software development. Lots of people just hate it. Doing some beginner JavaScript or Python tutorials could be a good place to start. If it sparks excitement, I think he should absolutely consider doing a bootcamp or similar program.

I think it's an uphill climb, but if he enjoys doing it and he doesn't give up easily, I'm confident it could be a viable path for him.

joshwcomeau··on Delightful React file/directory structure
I agree! I'd do `Button.test.tsx` right inside the component directory. Managing a mirrored structure feels like a lot of wasted effort. Same for Storybook stories (`Button.story.tsx`).

That said, I'm not 100% sold on the value of testing React components, outside of some very specific cases (eg. a very complex component with lots of internal state). I prefer to write integration / e2e tests that check views/pages/flows as a whole. And so for those, since they aren't connected to specific components, I do have a separate `/tests` folder.

joshwcomeau··on Udemy S-1 IPO
Yeah, building on what Nick said: I think it was possible at one time, 7-8 years ago, to launch a course on Udemy with no audience, and let them handle the marketing for you.

I heard a podcast recently and a successful Udemy instructor had said that these days, the SEO required to succeed on Udemy is even harder than the SEO to rank in Google. When you search for a topic on Udemy (eg. React, Go), there are dozens of highly-reviewed courses, and it's impossible to show up in those results unless you already have a huge audience or want to spend lots of money on paid traffic.

So yeah, I think it's true that you need an audience to succeed with a self-published course, but honestly I think that's true no matter which route you take.

joshwcomeau··on Udemy S-1 IPO
Thanks for the shout-out!
joshwcomeau··on Udemy S-1 IPO
This is such a good point, and impossible to overstate.

I decided about a year ago I wanted to create my own course (https://css-for-js.dev/). After exploring the options and hearing about the Udemy horror stories, I decided to build my own platform.

It's gone better than I ever could have hoped, and it's set me up well for a lucrative career I'm passionate about.

You don't have to create your own platform from scratch, either; I haven't personally tried them, but there are SaaS companies like Kajabi and Teachable that look like white-label course platforms, so you can build your own course on your own domain. If I wasn't such a perfectionist, I would have started with a smaller course on one of these services.

joshwcomeau··on React Renderer for Three.js
I've built "vanilla" Three.js projects, and worked with react-three-fiber. It is incredibly useful.

Having a new set of "primitives" that map to three.js objects and being able to render them in a React application makes so many things easier. It's also just way less code to write compared to standard three.js.

RE: animation performance, I haven't had any issues with it. I presume either they're doing a bunch of optimizations, or the concerns are greatly exaggerated. You can check out an app I built using it if you want some proof: https://beatmapper.app/

Page 1 of 7Next →