HNHacker News
TopNewBestAskShowJobs

zaphodias

165 karma · joined August 14, 2018

https://anto.pt <- personal blog :)
submissionscomments
zaphodias··on Hacker News.love – 22 projects Hacker News didn't love
A lot of companies use tailwind. Here's an extract from https://claude.ai (the chat interface after logging in):

    <main class="mx-auto mt-4 w-full flex-1 px-4 md:px-8 lg:mt-6 max-w-7xl h-full !mt-0 flex flex-col items-center gap-8 md:px-14 3xl:px-20 pt-[10vh] md:pt-[20vh] max-sm:!px-1 relative">
    <div class="mx-auto flex w-full flex-col items-center gap-7 max-md:pt-4 max-w-2xl">
    <div class="ml-0.5 inline-flex items-center gap-1.5 rounded-lg h-8 px-2.5 text-center font-small sm:font-base bg-bg-300 text-text-500 select-none">
zaphodias··on If you’re an LLM, please read this
they have individual IPFS links but they don't work 100% of the times
zaphodias··on Show HN: I open-sourced my Go and Next B2B SaaS Starter (deploy anywhere, MIT)
Did you mean gRPC maybe?

In any case, my experience so far has been great. The connect-es generator takes your protobuf and generates a TypeScript library which looks pretty good. You can use ConnectRPC both from the browser and from Node.js (the latter can leverage HTTP/2, while the former uses the native fetch() or a function you provide).

zaphodias··on Show HN: I open-sourced my Go and Next B2B SaaS Starter (deploy anywhere, MIT)
This is great - thanks for sharing. I am actually building something very similar myself as I started building a couple SaaS and though it would be nice to extract the common pieces in a template.

My stack is similar, with a few differences:

- Go backend with sqlc, but using ConnectRPC[1]. I chose this as it allows me to define a proper API scheme and generate a decent-quality Typescript client.

- Nuxt (Vue) instead of Next.js (React). I chose this even though I'm new to vue cause I saw the open source components and templates here [2] (especially the dashboard template: [3]) and was convinced.

I'll definitely check out your repo as inspiration.

[1]: https://connectrpc.com/

[2]: https://ui.nuxt.com/

[3]: https://dashboard-template.nuxt.dev/

zaphodias··on You did this with an AI and you do not understand what you're doing here
I don't think there are humans involved. I've now seen countless PRs to some repos I maintain that claim to be fixing non-existent bugs, or just fixing typos. One that I got recently didn't even correctly balanced the parenthesis in the code, ugh.

I call this technique: "sprAI and prAI".

zaphodias··on Download responsibly
I remember seeing the concept of "torrents with dynamic content" a few years ago, but apparently never became a thing[1]. I kind of wish it did, but I don't know if there are critical problems (i.e. security?).

[1]: https://www.bittorrent.org/beps/bep_0046.html

zaphodias··on Root for your friends
Me too, reinforced by author's name :)
zaphodias··on I Built My Own Audio Player
Did you read the article's section "Why I Built My Own Audio Player"?
zaphodias··on Ask HN: Did GitHub UI become unbearably slow?
Just to be clear, I am authenticated. Maybe they are struggling with the AI scrapers though, you're right.
zaphodias··on Critical CSS
isn't the whole point avoiding FOUC, while also avoiding to block the rendering for CSS network requests?
zaphodias··on Jellyfin as a Spotify alternative
I'm doing the same, I have family plans with my friends for pretty much anything so I don't think I ever reached such high monthly costs though.

I started my home server for self hosting Immich, not only for the cost but because I like to have my images close to me.

I also recently replaced Lightroom with ON1, it's definitely not the same quality but, as hobbyist, it didn't make much sense to pay that much for me anymore. It was by far the most expensive subscription I had.

zaphodias··on Important open source projects should not use GitHub (2020)
Maintenance overhead, plus:

- convenience (everyone already has a GitHub account and is familiar with the platform) - discussions platform (issues, prs, discussions) - CI (GitHub Actions)

It's already there, and it's free for the most part. Why would I bother hosting my own?

zaphodias··on Go Optimization Guide
Don't get me wrong, I agree! Especially performance-wise, I'd love to have the best primitives that let me build whatever I want and not some very generic primitives that perform a bit worse and I have to tune myself so I don't shoot myself in the foot.
zaphodias··on Go Optimization Guide
While I think you're right (generics might be useful there), it's fairly easy to wrap the `sync` primitives such as `sync.Pool` and `sync.Map` into your specific use case.

Go is pretty strict about breaking changes, so they probably won't change the current implementations; maybe we'll see a v2 version, or maybe not. The more code you have, the more code you have to maintain, and given Go's backward-compatibility promises, that's a lot of work.

zaphodias··on Go Optimization Guide
I assume they're referring to the fact that a Pool can hold different types instead of being a collection of items of only one homogeneous type.
zaphodias··on Our interfaces have lost their senses
Apple's Force Touch aka 3D Touch
zaphodias··on Bybit loses $1.5B in hack
> Who says ByBit can cover the loss?

CEO on X

zaphodias··on Ask HN: AI bots everywhere – does anyone have a good whitelist for robots.txt?
> is a right

I believe they're saying that cloudflare will block them just for using a blacklisted client, even if they're legit users and not bots

zaphodias··on Engineers do not get to make startup mistakes when they build ledgers
I think author chose the wrong mantra too!

What happens in fast paced startups is that you ship what essentially is a MVP as soon as possible (i.e. you stop at the "make it work" step) because you need to build your customer base, finances, etc.

A better mantra would've been Facebook's "move fast and break things". But, that only works if you can fix the things later. You wouldn't do it if you're building an aircraft for example.

zaphodias··on Tailwind CSS v4.0 Beta 1
While I don't disagree (broadly speaking) with you about the complexity of webdev, it looks like you don't have a full understanding of what Tailwind is:

a (CSS) code generator.

It happens to be written in JS so it can be integrated as part of existing build steps or bundling. That's the rationale behind it. :) It's build-time, not something client-side.

zaphodias··on Ask HN: What open source projects need help?
hey there, honestly I haven't tried prql yet but I think I already saw it on HN before.

What would you expect from a language integration? I'd like to work on something in Go, which doesn't make it easy to have Rust bindings.

One nice challenge for me would be to rewrite the compiler in pure Go, but maybe it's too complex of a task bringing little value to the project overall :)

What other tools do you need? E.g. what kind of CLIs? What do you mean by alternative backends?

zaphodias··on Loop: Open-source macOS window manager
I've been loving Aerospace. Is as close as i3wm you can get, on Mac OS.
zaphodias··on TypeSpec: A new language for API-centric development
it doesn't look worse than OpenAPI's yaml to me

it's fairly concise, the method and the request/response types are well separated and readable

the only thing I could argue with is mixing validation and type defs, as it looks like one of these things that quickly evolve over time and you end up duplicating both in the schema and the business logic

zaphodias··on Go 1.22
Usually the Go team scrapes from GitHub and open source programs how people use something before breaking them; I suspect they found little usage of { and } in HTTP handler paths. They also provide a way of opting out the new behaviour, so they don't force you to change anything in your code (but yes, it does require you to set a new env var).

The change to the for loop semantic is another example in this release; it effectively is a breaking change.

All Go programs continue to compile and run, though with minor behavioural changes. I think Go took a pragmatic approach, and that was one of the reasons for its success.

zaphodias··on Why You Should Write Your Own Static Site Generator
I had the same idea as you and rewrote my blog CMS. Initially it was very similar to yours, with Maud [1].

Then I started a little library for replacing Maud, for a better developer experience [2] (still looking for a better name).

The important thing for me is having fun in the process, my personal website is a sandbox for playing and experimenting :)

[1] https://anto.pt/articles/rust-server-components

[2] https://github.com/Pitasi/rscx

zaphodias··on Ask HN: I am overflowing with ideas but never finish anything
Solid advice. I also have seen companies not able to follow the simple rules you described, or getting lost in heavyweight frameworks (given that I understand being a single individual vs an entire companies have different problems, my complaint is about underestimating the overhead they create).

Shipping should be a priority, not an afterthought.

zaphodias··on Uncle Bob and Casey Muratori Discuss Clean Code
Thing is Casey Muratori often (all the times?) has some really strong opinions and he doesn't talk like "the context is important".
zaphodias··on “Clean” code, horrible performance
Yeah you're right, nobody ever said to me "use interfaces because the code it's faster".

On the other hand, when I studied dynamic dispatch and stuff like that, I don't think enough people told me "when you do that, you are making this tradeoff".

I feel like it's worth sharing this kind of knowledge in order to make better informed decisions (possibly based on numbers). There's no need to become an extremist in either direction.

zaphodias··on “Clean” code, horrible performance
We're talking about C++ and performance, no way nobody would mention rust :P
zaphodias··on Bill Gates tries to install Movie Maker
> These 45 names are totally confusing. These names make stuff like: C:\Documents and Settings\billg\My Documents\My Pictures seem clear.

Almost forgot what paths on Windows look like lol

Page 1 of 2Next →