Hacker Newsnew | past | comments | ask | show | jobs | submit | Fervicus's commentslogin

Come on, it's their best AirPod yet!

I know it's silly but I enjoy listening for the "this is our X-est Y yet" during these events. It's incremental improvements I enjoy, but it's like a mini trope for me.

OCaml programmers, what learning resource would you recommend starting out with? I know there's https://cs3110.github.io/textbook/chapters/basics/intro.html. How does this book compare? Anything else you would recommend?

> now that LLMs can generate JavaScript for us.

You mean generate unmaintainable JavaScript for us.


Depends how you set it up. Like any other project I guess. Funny enough, if you are able to produce maintainable code with an llm you could aswell lead a team of humans. LLMs shift your focus on project management and architectural choices.

I let the llm write components which are independent to each other. This works great and keeps everything clean. The times that llm would only generate unmaintainable code are long gone with OPUS, Fable and sol 5.6


> LLMs shift your focus on project management and architectural choices.

And a comfortable sense of short term productivity that make you tend to ignore the middle and long-term trade-offs.

It is unmaintainable unless you create a very modular architecture (read here: modules written by LLMs that will not get in the middle of others bc of their extra fat).

And even with a modular architecture, I am not convinced.

However I had a couple of success stories in the generative area, maybe bc I am so stupid that I do not detect the problems: SQL query/code generation and frontend Alpine.js-based for a small website.

Also good for one-off scripts.

But when it is about a project where you iterate for weeks, things get out of hand.

As a powerful search engine, exploring alternative solutions or doing code review, great. But the reason is not that it is extremely good at it. It is bc it is extremely fast at it and it is easy to recognize bogus stuff if you have been doing this for many years, so it saves you time. But still gives you inaccurate stuff.


Not my experience. I have large production apps that I'm able to maintain just fine with thousands of lines of JS.


This is the world we live in now. 3-4 megacorps owning everything in every major product category - eyewear, cosmetic, consumer goods, media, tech; you name it.


We need small companies worldwide, developing the things huggingface does. The us china and Europe dominate while the rest of the world sits by idly. Torrent and seed ai models. It's not piracy


We live in now?

Has always been this way. Big companies always seek to buy fast growing startups and unfortunately the founders of these startups mostly take the money.


> Big companies always seek to buy fast growing startups

Didnt the US go through a antitrust phase phase where they ordered big companies to be broken up.


If you can't beat them, buy them. Hallmark of late-stage capitalism.


People using DuckDB, what's your use case? I use sqlite for a lot of my personal projects. What's a good use case for using DuckDB?


DuckDB is for analytics, so OLAP instead of OLTP. If you're using the DB for normal transactions, stick with sqlite


Thanks, I gathered that much. I am curious what kind of stuff people are using it for, especially in their personal projects.


One great use case I've found:

You can find monthly archives of every reddit comment on Academic torrents. These are huge NDJSON files compressed to .zst, named like 'RC_2026-01.zst'. The size is ~60GB compressed, 350GB+ uncompressed, per month.

Most of the size is taken by the actual comment text. But I was only interested in calculating how many unique commenters subreddits have in a month so I only wanted to extract a few fields from it and discard the rest.

If you use traditional tools like pandas or load the data to a database and then query it, you would quickly run out of RAM or storage space, especially when doing it on a basic laptop like I was. But with DuckDB it's just this:

``` SELECT lower(subreddit) AS subreddit, author FROM read_json(['RC_2026-01.zst', 'RC_2026-02.zst']) ```

DuckDB automatically handles decompression on the fly, figures out the schema, manages RAM so you won't OOM and so on. And even on my laptop that query takes like, 2 minutes? Which is super impressive to me.


Oh, that's cool. And that's exactly the kind of answer I was looking for. So thanks a lot!


I really want to like Go, but I can't stand looking at Go code. The error handling is such a turn off.


Why would you say something so controversial yet so brave?


This was my original take when I learned the language, but I later realised “errors as values” is one of the strengths of the language.

I have run both Go and Python backends in production for years. There is an entire class of bugs present in Python services (missing error handling) that simply does not happen in my Go services.

Python puts the burden of knowing what exception types a function call will raise on the caller, in Go I just check for err. Even if I do not anticipate every failure mode the Go call will raise, I will always log the error and handle it in a controlled manner. I couldn’t count the number of times I’ve encountered an unhandled exception in my Python code, and often in such a case the logging will be lacklustre because you will just see a huge stack trace, but lose the contextual logging I would have automatically added in Go.

Perhaps a syntactic sugar is in order to reduce verbosity.


I don't have a problem with the error handling per say, but it's the verbosity, yes.


Not that I like go at all but because of it my C++ is starting to look like it as I am returning tuples of [result, error].

I try to avoid exceptions, is there any better ways? (Variant looks a bit more complicated but could be a totally OK alternative)


C++23 introduces std::expected, which is a simpler alternative to std::variant designed specifically for the result-or-error use case. You still don't get pattern matching, but Go-style tuples don't give you that either.


Personally I feel go has many issues and is ugly as hell but the error handling is really the least of my worries.


It's the ugly as hell part that gets me.


Pretty childish. People have no trouble looking past it when they care about actually shipping reliable software that properly handles all code paths. Including error paths that are ignored in so many codebases.


I don't think it's childish to dislike verbosity in a language. Readability is important. There is a reason why there are so many programming languages that compile to Go: https://github.com/ubavic/compiles-to-go


Some languages do it better, but it's really not a problem. It's just verbose, but people say that about Java and that never stopped it from being used everywhere


its simple and it works


It's better for VRAM poor people. I get 4-5 t/s with 27B and 20-30 t/s with 35B A3B.


Also radically better on an M1 Max. I get well up into the 60s t/s with the A3B, stuck at 9.5 or so with this new 27B, though perhaps an MLX build will help.


Thanks for sharing. This piqued my interest.


Congrats on the release Sam! Looking forward to checking it out. What's your favorite new feature?


I love the new Link Audio which lets you stream and receive audio on the local network with any other Link Audio capable software such as Ableton Live.

I also like the new QuickStart Cards as a way to get started that doesn’t require reading the built-in tutorial.


For starters, strudel runs in the browser while Sonic Pi is a stand alone application.


While Sonic Pi is primarily a stand alone app Sam has recoded the sound engine to run in web assembly too. Visit https://sonic-pi.net/tau/ and have a look


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: