HNHacker News
TopNewBestAskShowJobs

wofo

2,466 karma · joined December 17, 2013

Contact me at: [my username] [at] adolfo [dot] ochagavia [dot] nl (or check out ochagavia.nl)
submissionscomments
wofo··on Using S3 as a Container Registry
Unfortunately, all the code is proprietary at the moment. If you are willing to get your hands dirty, the main thing to realize is that container layers are "just" tar files (see, for instance, this article: https://ochagavia.nl/blog/crafting-container-images-without-...). Contact details are in my profile, in case you'd like to chat ;)
wofo··on Using S3 as a Container Registry
Indeed, they could support it through a non-standard API... I wish they did!
wofo··on Using S3 as a Container Registry
Ah, that's great! I'll have to look into it :)
wofo··on Using S3 as a Container Registry
I didn't expect that! It's a pity they don't expose an API for parallel uploads, for those of us who need to maximize throughput and don't mind using something non-standard.
wofo··on Using S3 as a Container Registry
That's true, unfortunately. I'm thinking about ways to somehow support private repos without introducing a proxy in between... Not sure if it will be possible.
wofo··on Using S3 as a Container Registry
The source code is proprietary, but it shouldn't take much work to replicate, fortunately (you just need to upload files at the right paths).
wofo··on Using S3 as a Container Registry
Indeed, you are free to push multiple layers in parallel. But when you have a 1 GiB layer full of AI/ML stuff you can feel the pain!

(I just updated my original comment to make clear I'm talking about single-layer pushes here)

wofo··on Using S3 as a Container Registry
Layers are fully independent of each other in the OCI spec (which makes them reusable). They are wired together through a separate manifest file that lists the layers of a specific image.

It's a mystery... Here are the bits of the OCI spec about multipart pushes (https://github.com/opencontainers/distribution-spec/blob/58d...). In short, you can only upload the next chunk after the previous one finishes, because you need to use information from the response's headers.

wofo··on Using S3 as a Container Registry
That's true, but I'd assume the server would like to double-check that the hashes are valid (for robustness / consistency)... That's something my little experiment doesn't do, obviously.
wofo··on Using S3 as a Container Registry
I wonder whether the folks at Cloudflare could take the ideas from the blog post and create a high-performance serverless container registry based on R2. They could call it scrubs, for "serverless container registry using blob storage" :P
wofo··on Using S3 as a Container Registry
Other than backwards-compatibility, I can imagine simplicity being a reason. For instance, sequential pushing makes it easier to calculate the sha256 hash of the layer as it's being uploaded, without having to do it after-the-fact when the uploaded chunks are assembled.
wofo··on Using S3 as a Container Registry
No idea... I asked the same question here (https://news.ycombinator.com/item?id=40943480) and am hoping we'll have a classic HN moment where someone who was involved in the design of the spec will chime in.
wofo··on Using S3 as a Container Registry
Hi HN, author here. If anyone knows why layer pushes need to be sequential in the OCI specification, please tell! Is it merely a historical accident, or is there some hidden rationale behind it?

Edit: to clarify, I'm talking about sequentially pushing a _single_ layer's contents. You can, of course, push multiple layers in parallel.

wofo··on From full-stack development to systems programming
Thanks for writing this! I'm not the one who asked the question, but I found it inspiring :)
wofo··on Aegis v3.0 – a free, secure and open source 2FA app for Android
Aegis should really be more well-known IMO. I installed it on an old phone that didn't have enough storage for Google Authenticator and was really pleased with the app. The fact that it's a community project is also a nice bonus.
wofo··on 40 Years of Programming
Wow, you sound like a future version of myself! Would love to have a chat (contact details in my profile).
wofo··on Kagi Changelog 2/13: Faster and more accurate instant answers and Wikipedia page
As a recent paid user of Kagi, this is one of the things I love!
wofo··on The Undercover Generalist
You are welcome, I'm glad it was useful to you :)
wofo··on The Undercover Generalist
I hope it's life changing for the better! I live in Amsterdam, so feel free to shoot me an email if you want to meet
wofo··on Switching to Elixir
Lack of proper types is what killed the joy of programming in Elixir for me (I lasted 6 months, hoping I would somehow adapt, but the experience was so miserable that I decided to move on). I simply can't understand how anyone can be productive in a big codebase without the rigor of static typing, but those people exist, so I guess there must be something about our brains that divides us in the dynamic vs static typing camps.
wofo··on Should you be scared of Unix signals? (2016)
As someone who once in a while dabbles in Linux systems programming, is there any reason to use signalfd over timerfd when all you want is a timer? The article suggests you can use signals as timers, which left me wondering...
wofo··on HTTP/3 adoption is growing rapidly
Luckily, there are ways to reduce syscalls (like Generic Segmentation Offload and other tricks[1]). But I agree that not having things run in the kernel makes it more challenging for high-throughput scenarios.

[1] https://blog.cloudflare.com/accelerating-udp-packet-transmis...

wofo··on The Top Programming Languages 2023
Maybe using English as a programming language ("transpiled" to a lower level language using an LLM)?
wofo··on When deployments are easy, code becomes simpler
> the nonsense they pick up on blogs and conferences

Thanks for this bit. As I gain more experience, I grow less and less patient with many blogs and conference talks. Often authors are just very excited about a topic, and my general impression is that they tend to propose ideas that are not seriously battle-tested in production.

wofo··on Becoming a contractor
Your comment left me thinking, so I went to double-check the meaning of the word evidence in a dictionary (after all, I'm not a native English speaker). I found this one as the first entry: "the facts, signs or objects that make you believe that something is true" (source: https://www.oxfordlearnersdictionaries.com/definition/englis...). This is exactly the sense in which I'm using the word. What do you mean by saying it erodes language? Or do you use the word evidence in another sense than this dictionary?

PS: not meaning to start a flamewar or engage in endless discussion, I just want to understand your point ;)

wofo··on Becoming a contractor
Here's some stuff that falls under overhead: writing blog posts (this one took me at least 10 hours to write), networking, sales conversations, keeping my own knowledge up to date. It's not consistently one day, but I'd say on average it is.
wofo··on Becoming a contractor
Could you tell more about the companies, the roles and the salary ranges? Those are very interesting data points.
wofo··on Becoming a contractor
My case was made difficult by the fact that I was only open to 3 days / week contracts. And maybe also because I'm trying to find something outside of full stack development, while at the same time being decently paid.
wofo··on Becoming a contractor
I know it's a cliché, but it's true that you receive more than you give ;)
wofo··on Becoming a contractor
I'm not going to engage in the eternal atheists vs believers debate, but I'm trusting here that my experience is based upon reality (i.e. I've found convincing evidence). I don't expect what convinces me will convince everyone else, but you and I will die some day and then we'll know (or if it turns out we no longer exist, at least we won't care :P)
← PreviousPage 4 of 8Next →