HNHacker News
TopNewBestAskShowJobs

rochacon

152 karma · joined September 24, 2013

submissionscomments
rochacon··on WTF Ubuntu?
As always, it depends on how and what you're managing on it.

VPS/VM? Debian is a great choice. Use it as base and run your software via systemd+podman if you want the most up to date stuff, Debian tends do lag a bit. It is very low maintenance.

Bare metal? Fedora Atomic is awesome. It does require an update every other week since it keeps packages closer to upstreams, but this is where the immutable base shines, any issue is an easy reboot to revert. Also systemd+podman for your own software.

I wouldn't recommend Arch on servers.

Edit: clarified Fedora immutable spins are called Fedora Atomic.

rochacon··on Cloudflare acquires Deno
I'm still learning the project, but from what I read so far, there is no need. `celld` is not tied to Deno. `celld` handles the interface with v8 directly via `rusty_v8`, which they mention will keep being supported. So, Node, Deno and celld all share the same engine already.

What we will probably see in the next few months is a major version of `workerd` which is a rebranded celld with better Cloudflare support. And then a bunch of improvements in further versions. While I think `celld` is a nicer name it makes sense to keep the official Cloudflare product/solution as `workerd`.

I hope the developer experience gets closer to Deno, I'm no fan of setting up all the required Node tooling for proper TypeScript support. I really like Deno. RIP

rochacon··on Deno 2.8
For Python, `uv` [1] delivers a similar experience. Faster dependencies. Better dependency management with `pyproject.toml`. Just use it with `uv run` or `uvx`.

[1] https://github.com/astral-sh/uv

rochacon··on GitHub unwanted UX change: issue links now open in a popup
And they pushed this as every major browser introduced a "Split View" feature...

I get this issue preview on Projects, although I don't like it there either, but as a hook on any issue link is just terrible UX, zero benefits IMHO.

rochacon··on The Pain That Is GitHub Actions
The current version of GHA is "Azure DevOps v3". IIRC, it came after Microsoft purchased GitHub and I think it was part of a plan to discontinue/kill Azure DevOps altogether in favor of GitHub. I don't think they have feature parity yet, specially on the issues and permissioning parts.

Although, I never saw a public announcement of this discontinuation, ADO is kind of abandoned AFAICT and even their landing page hints to use GitHub Enterprise instead [1].

[1] https://azure.microsoft.com/en-us/products/devops

rochacon··on I struggled with Git, so I'm making a game to spare others the pain
As you highlight with the "VSCode over RDP" story later on the post, it doesn't stop on Git. Some people just don't care about learning their tools. RTFM? Hell no. There is no care for the "craft". Once they learn the very basic for their current need, they're done with it. We can also observe this behavior during coding, once "it works", they just push all changes and move forward to the next thing. No second thoughts if it could be simpler/there were unnecessary changes, no double check if there is missing cases, etc. "Someone will spot my wrongings during review".

From the outside, it feels like "low effort" all around. But to be honest, I can't really blame who does this. For some, it is just a 9-5 job anyway and they prefer not think about these stuff outside that 9-5 space. Deep diving into their tools might look like "wasted time" on their view.

A friend refered me to this great post a few days ago that touches on this subject: https://josvisser.substack.com/p/you-cant-teach-caring

rochacon··on I struggled with Git, so I'm making a game to spare others the pain
I would just add `git rebase -i` to the mix. Very useful to clean up a work branch before submitting it for others. Sometimes you just need a bunch of "wip" commits, e.g. testing CI scripts, deploying a optimization on the side for further testing, etc. and rebase is a must if you care about the commit log.
rochacon··on Louis Rossmann opines on the Firefox debacle [video]
If looking for alternatives that uses Firefox as a base, check out Zen Browser: https://zen-browser.app
rochacon··on Show HN: I got laid off from Meta and created a minor hit on Steam
Congrats on the launch and success so far!! The game seems really cool and I relate a lot to the desire of working with gamedev.

I think local prices/discounts can get you another 200k+ purchases worldwide. In Brazil current prices shows as ~R$42, which is quite a lot for a game for a big chunk of brazilians. Thor from PirateSoftware has some good tips on this.

rochacon··on There isn't much point to HTTP/2 past the load balancer
Correct, to achieve 0-RTT the application need to perform the handshake/certificate exchange at least once, otherwise, how would it encrypt the payload? This could be cached preemptively iirc, but it is not worth it.

The problem will be that QUIC uses more userland code and UDP is not as optimized as TCP inside kernels. So far, the extra CPU penalty has discouraged me from adopting QUIC everywhere, I've kept it mostly on the edge-out where the network is far less reliable.

rochacon··on Uv's killer feature is making ad-hoc environments easy
I believe you're searching for `uv sync`: https://docs.astral.sh/uv/getting-started/features/#projects

With this, you can manage the dependency list via `uv add/remove` (or the `pyproject.toml` directly), and run `uv sync` to add/remove any dependencies to the managed virtual env.

Edit: adding about uv add/uv remove

rochacon··on I got OpenTelemetry to work. But why was it so complicated?
> I wanted logs, traces and metrics support locally but didn’t want to spin up a multitude of Docker images just to get that to work.

This project is really nice for that https://github.com/grafana/docker-otel-lgtm

rochacon··on Go Protobuf: The New Opaque API
ConnectRPC is very cool, thanks for sharing. I would like to add 2 other alternatives that I like:

- dRPC (by Storj): https://drpc.io (also compatible with gRPC)

- Twirp (by Twitch): https://github.com/twitchtv/twirp (no gRPC compatibility)

rochacon··on macOS Sequoia Preview
Exactly, by the description of it on the announcement, this is not "tiling window management" as we're used in Linux, this is just "Window Snaping" that been available on Windows and Linux for what, a decade now?

I really hope there is a "automatic tiling" option, otherwise this is just mouse support for the current "Move Window"/"Tile Window" options already available on the OS (and easily bindable via custom shortcuts).

rochacon··on Demystifying the protobuf wire format
I've used Twitch's Twirp before and it does that. It is a great middleground between gRPC and plain-HTTP services. :)

https://github.com/twitchtv/twirp

rochacon··on Ask HN: Burnt out from big tech. What's next?
Well, if you keep your expenses untouched than it is very hard to do it. However, if you sell some stuff, use hostels, eat on local markets, etc. you can go a long way. You can even stay for free in hostels if you're up to working a few days a week on cleaning, reception, etc. Small, less turistic towns also make a big difference on how expensive this kind of traveling needs to be. Also context matters a lot, this is probably not the best approach if you have a family to support.

If you're open to a, maybe severe, change in lifestyle, you'll see that you don't need much to live. To those that are interested, I recommend reading "Vagabonding" by Rolf Potts and watching "Minimalism" documentary by The Minimalists as a start point.

rochacon··on Dear Linux, Privileged Ports Must Die
Saw the title and came here to post this; simple and effective.

I use this in combination with `kubectl port-forward` and `/etc/hosts` almost daily to easily proxy to internal services.

rochacon··on Optimizing Docker image size and why it matters
I guess you don't even need to use `docker buildx`, just `export DOCKER_BUILDKIT=1` and go with it (great to enable globally in a CI system). Heredocs make these multi-lines so much cleaner, awesome.
rochacon··on Migrating from Docker to Podman
For those of you that still prefer a GUI to quickly toggle the VM, there is a simple app for that too: https://news.ycombinator.com/item?id=28412548
rochacon··on Show HN: Tara 2.0 – Fast Jira alternative with automation based on Git events
Basecamp kind does this, but it has a single $99/month unlimited plan. I also wanted this, because not all users need the entire product anyway (i.e. bug reporters, guests).
rochacon··on New in Git: switch and restore
Add `-p` (`--patch`) and then pick from the diff prompt what parts you want to restore. You can also use this flag with commit.
rochacon··on Kubernetes is our generation's Multics
This is partially true. If the only feature you care about Kubernetes is container scheduling, then yes, Nomad is simpler. The same could probably be said about Docker Swarm. However, if you want service discovery, load balancing, secret management, etc., you'll probably need Nomad+Vault+Consul+Fabio/similar to get all the basic features. Want easy persistent storage provisioning? Add CSI to the mix.

Configuring these services to work together is not all trivial either (considering proper security, such as TLS everywhere) and there aren't many solutions available from the community (or managed) that package this in an easy way.

rochacon··on Thoughts on Using Deno
I believe it is "dee-no".
rochacon··on Mighty Makes Google Chrome Faster
I take this with a similar perspective. As a complete standalone browser, I'm a bit skeptical on its adoption, as a built-in feature backed by the browser vendor (Apple/Google/Mozilla/Microsoft/etc.) to "offline this tab to the cloud" I think this gets a lot more appealing. Add billing per minute and this can be a very nice way of interacting with heavy applications through a browser.
rochacon··on Best practices can slow your application down
I share the same opinion. Its been a long time since I read Kent Beck's book on TDD, but I don't recall him saying TDD = unit tests. When I see people using these as synonyms it feels to me they don't quite understood what TDD means and just jumped into this conclusion of "unit tests that check every method/line of code you write".

Testing behavior from the user perspective should be the goal, these are the kind of tests that bring most value in the long run.

rochacon··on Google outage – resolved
Google Meet and YouTube also 500 in Brazil
rochacon··on Cloudflare: Is anyone else seeing DNS outages?
CloudFlare DNS (1.1.1.1 and 1.0.0.1) and Google's DNS (8.8.8.8 and 8.8.4.4) usually have the best latency everywhere. However, if you suspect your ISP is injecting stuff, a VPN service + their DNS might be more useful to improve your internet privacy.
rochacon··on Ask HN: Thoughts on new GitHub layout?
> I guess people with huge displays don't mind...

I use a ultra-wide (2560x1080) monitor and it looks terrible [1]. The repository header being "fluid" put the repository name and watch/star/fork buttons so far out of the rest of the repository info, like branch name, commit info etc., that using GitHub maximized feels very weird and tiring.

I get using the whole resolution for the menu bar, since its content is disconnected to the rest of the page content. But having part of the repository info in different "aspects" don't make sense for me

[1] https://imgur.com/FNs1qb6

rochacon··on How we use HashiCorp Nomad
Quick-start guides takes the easiest path to get something running, which is `helm install` in the Helm world.

If you want to have complete control of what you're pushing to the API, use Helm as an starting point instead, run `helm template` and save the YAML output to some file, publish it using `kubectl` or some other rollout tool. I recommend using `kapp` [1] for rollouts.

[1] https://get-kapp.io/

rochacon··on WireGuard is now in Linus' tree
Mullvad supports WireGuard tunnels, been using it for a couple of months now, pretty solid in any device, in all the regions I tried.
Page 1 of 2Next →