HNHacker News
TopNewBestAskShowJobs

brunoluiz

1,338 karma · joined January 29, 2017

submissionscomments
brunoluiz··on My server is a phone now
Well, the author embodies the true spirit of Hacker News. Without people publishing their experiments or learned things, others wouldn’t learn or feel inspired to ~hack things together.
brunoluiz··on How Crossplane providers work and how to implement one
Crossplane allows engineers to write Kubernetes controllers without writing controllers (eg: via YAML). Most of the time it works well, but sometimes custom Golang is required so teams can implement a custom provider, which is what controls resources (eg: an instance of a bucket).

It is very similar to Kubernetes controllers development using kubebuilder, but different in many ways. I wrote all my learnings into this blog post which hopefully clarifies how they work, how to implement one and good practices around it.

brunoluiz··on Don't trust large context windows
100% with the author on that one, albeit the performance decay seems to depend on the type of task for me. Simple plumbing tasks seem to run okay with longer running contexts.

Also, some colleagues were playing around with RTK (https://github.com/rtk-ai/rtk), which decreases the amount of token used by tool calls and, although it seems an interesting idea, I am pretty sure there are many caveats. Although, I believe if these type of tools prove to be efficient enough, perhaps harnesses will have them natively.

brunoluiz··on Why I stopped using JSON for my APIs
I am curious why the author did not consider ConnectRPC (http://connectrpc.com/), which could be a great middle ground since it is compatible with both Protobuf and JSON served APIs. It is developed by Buf, which has been a leader Protobuf tooling.
brunoluiz··on JReleaser: quick and effortless way to release your project
Is it somehow related to GoReleaser? I saw GoReleaser supports multiple languages now as well
brunoluiz··on Better HTTP server routing in Go 1.22
I thought you had mistyped template there but actually no, templ is some other package different from the stdlib one. I had a quick look on its documentation and it seems quite neat!

I was hoping that bud with svelte compilation would fill this gap, but looks like templ is a nicer alternative.

brunoluiz··on Low downtime Postgres upgrade: the runbook (AWS Aurora)
Hi, author here: please do have a look on the first part, in which I give a bit more context on some decisions I had to go through https://brunoluiz.net/blog/2022/nov/low-downtime-postgres-up...

Observe that we only went with the approach of cloning and doing some "hacky" stuff with the replication because our database was quite large. Small ones might be okay with only using the logical replication + COPY.

The method described might be applicable to other managed Postgres, but I haven't tried it out.

brunoluiz··on GPT-Prompt-Engineer
Isn’t engineering an exact science while prompt engineering is completely not?

Although, even software engineering being an exact science, it is a funny one: most of us don’t get certified as like, let’s say, mechanical engineers do. Would they say we are engineers?

So perhaps the “engineer” term got overloaded in recent years?

brunoluiz··on KeyDB – A Multithreaded Fork of Redis
Out of curiosity: has anyone found or know the list of trade-offs? There is not free lunch, and the single-threaded model gives certainly consistency guarantees… but what else?
brunoluiz··on Low downtime Postgres upgrade: I want to believe (part I)
Author here: after a long process to achieve the low downtime, I am quite keen to test the blue/green deployment RDS feature AWS released last month (currently only available to RDS MySQL). It will certainly make it way easier to upgrade, and certainly developers will be quite happy if they don't need to "hack-upgrade" or accept the downtime :)
brunoluiz··on How far can you go by train in 5h?
That is a very nice app and, funnily enough, I was doing this manually (via Trainline) yesterday after watching this Wendover Production video https://www.youtube.com/watch?v=U9jirFqex6g.

One suggestion for the app: allow us to pin a city when clicking on the desktop version ;)

brunoluiz··on Gas pumps happen to be about as insecure as your typical router
For those outside supported regions: https://web.archive.org/web/20220320011705/https://myfox8.co...
brunoluiz··on Artist uses AI to fake 70s science fiction pulp covers – artwork and titles
Does anyone know why the covers were usually like this in the 70s? They are so characteristic and replicated across many books that I bet there is some back story

EDIT: wrong decade there

brunoluiz··on Artist uses AI to fake 70s science fiction pulp covers – artwork and titles
Go back two centuries… people said exactly the same about Impressionists. Then afterwards about Modernists. So on, and so forward.

Many artists went nowhere back then, others used their experiments to create masterpieces. It is always relative and it baffles me how some people only think about the masterpieces and big names, without looking the whole timeline.

Besides, generative and AI art are so damn cool :) It is something closer to us developers, but still far (not everyone knows how to implement it).

brunoluiz··on GIFSane: GIF playback control using WASM and FFmpeg
I guess if the user install, it should be able to play (haven't tried). But, because this would require extra steps, I preferred to just have the ST + VP9 to Firefox. In future versions, I could give an options page where the user can adjust this.
brunoluiz··on GIFSane: GIF playback control using WASM and FFmpeg
I don't have anything against meme GIFs: they are short and meant to be repeatable, so all good.

But, as I wrote in the post, I came across too many GIFs with demos, tutorials or animated diagrams on GitHub and NPM. This was the motivation to create GIFSane, as sometimes you want to stop in a frame, or go back to check a detail.

> The software engineering world adopted them for a particular use case: recording tutorials and demos.

Besides, the whole thing was done in the name of the hacking spirit hehe Perhaps, one day, GitHub will convert any GIFs/WebM files into video components (similar to what Twitter does).

brunoluiz··on GIFSane: GIF playback control using WASM and FFmpeg
Yeah, I had the same feeling that MV3 has been rushed and is not 100% ready. The other issue as well is that Mozilla and Google roadmaps are quite different, so you might end-up having to support both MV2 and MV3 for a while at least. And even then, Mozilla will have some different APIs on MV3 (albeit they will be extra APIs when compared to Chrome).

I am looking forward to see the state of things in December 2022.

brunoluiz··on GIFSane: GIF playback control using WASM and FFmpeg
That is interesting to be fair, I didn't know these APIs. Certainly something to have a look for either replacing WASM or for new projects.

I've considered using some JS libraries that are around for sometime (like https://github.com/buzzfeed/libgif-js), but the challenge of using WASM seemed more interesting in a hacking perspective let's say hehe.

brunoluiz··on Consider SQLite
> Isn't there some issue where SQLite basically has to be single-threaded in Golang programs, at least if you use the stdlib SQL library?

I guess not exactly, but iirc there were some caveats/performance issues around C threads x Go routines. A bit is touched in this post: https://www.cockroachlabs.com/blog/the-cost-and-complexity-o...

But well, it seems arp242 is GoatCounter's developer. Based on the post content, it is powered by SQLite and this is probably a good write-heavy application example. I wonder if there are any blog posts about the SQLite performance for this service.

brunoluiz··on Consider SQLite
Interesting project! It seems to be perfect for SQLite, considering it seems to be mostly for reads instead of writes. I wonder if heavy write applications are a bit of a trouble in Golang because of Golang goroutines x C threads model (which I believe SQLite might use?).
brunoluiz··on Consider SQLite
Ah I see! Yeah, I expected your team would have to copy it locally. I wonder tho, in times of data leaks and whatnot, couldn’t it be dangerous to have lots of PII (personal identifiable information) copied around many dev laptops?

I mean, devs can do the same with Postgres, but it is more for backups instead of purely querying.

brunoluiz··on Consider SQLite
I believe you mean that you can't easily do a "psql ..." or connect using DataGrid and similars, right?

Does this mean that devs need to copy the production database file locally to then inspect it? Or are there tools to connect/bridge to a remote sqlite file?

brunoluiz··on Consider SQLite
I love to see that more projects are using SQLite as their main database.

One thing that I always wondered though: does anyone knows a big project/service that uses Golang and is backed by SQLite? This because SQLite would require CGO and CGO generally adds extra complexities and performance costs. I wonder how big Golang applications fare with this.

brunoluiz··on Ask HN: How have embedded systems engineers dealt with working from home?
Yeah, I used to develop in TI DSP protocol implementations and remote access was impossible back then. Besides, because I had to debug the DSP serial or CAN outputs, oscilloscope and test equipments were big requirements most of the time.

To be fair, if the company was ok, some of those I could have at home. But space would be an extra complicating factor (especially in cities like London hehe).

brunoluiz··on Internet in a Box
For a second, I thought it was a reference to the IT Crowd.

Anyways, amazing initiative!

brunoluiz··on Everything Easy is Hard Again (2018)
That is why I've changed to Hugo (from Hexo & Gatsby). It does exactly what is supposed to, it doesn't import any dependencies and it is quite fast. Besides, no runtime is required.

I thought about plain HTML, but writing blog articles with it is a bit of a pain. Hugo was quite the right balance.

brunoluiz··on Linus Torvalds on Rust support in kernel
Indeed, people change after so many years. It is good to see that now he is providing insightful explanations, without raging or anything. After all, he is the creator of Linux and his thoughts about its directions are always super valuable.
brunoluiz··on Linus Torvalds on Rust support in kernel
Every time something like "Linus Torvalds on ..." pops up, I get curious if it will be an interesting explanation or a full Linus rage TM. This post is defo the former though (perhaps he is not raging anymore hehe).

If you never saw one of his rage moments, take a look at: https://lkml.org/lkml/2012/12/23/75 and https://lkml.org/lkml/2013/7/13/132

brunoluiz··on Deno 1.9
With HTTP 2 implemented in this version, gRPC might be possible in a near future.
brunoluiz··on Windows 95 Easter Egg discovered after 25 years
Small Easter egg, but I always get curious on how people find these things. Perhaps anonymous tips? :D
Page 1 of 3Next →