MurphyA/hacker-news huggingface dataset:
by OskarS | 2026-01-14 15:03:47+00:00
qsort is obviously just an example, this situation applies to anything that takes a callback: in C++/Rust, that's almost always generic and the compiler will monomorphize the function and optimize around it, and in C it's almost always a function pointer and a userData argument for state passed on the stack. (and, of course, it applies not just to callbacks, but more broadly to anything templated).

I'm actually very curious about how good C compilers are at specializing situations like this, I don't actually know. In the vast majority cases, the C compiler will not have access to the code (either because of dynamic linking like in this example, or because the definition is in another translation unit), but what if it does? Either with static linking and LTO, or because the function is marked "inline" in a header? Will C compilers specialize as aggressively as Rust and C++ are forced to do?

If anyone has any resources that have looked into this, I would be curious to hear about it.
by Pet_Ant | 2026-01-14 15:03:53+00:00
Haven't read because of paywall, but for anyone who might not know:

Ira_n_ is not Arab. The are Persian and speak an Indo-European language.

Ira_q_, is Arab. Neighbors, some of the same religion^, similar name, same-ish alphabet, similar skin tones... very different language. Arabic is semitic language, think Hebrew.

Most Muslim middle-east countries are Arab... Iran is an exception (as is Turkey who come from Central Asia, eg Turkmenistan)

Most Arab countries are predominantly Muslim. Malta is the exception, Lebanon is complicated.

^ The biggest split amongst Muslims is Sunni vs Shia (think protestants vs catholics), Saudi Arabia is Sunni, Ira_n_ is Shia, Iraq is mixed.
Show HN: Cadence Spanish – AI audio lessons to learn Spanish
by aliclark | 2026-01-14 15:04:28+00:00
Hey!

I'm Ali, and I built a tool to help me learn Spanish. There's a good amount of info in the about page, but the short version is that I found apps like Duolingo completely useless. In theory they're designed to help you speak a language but I found it mostly helped my muscle memory tap the right parts of a screen without really learning to say anything. Or more importantly prepare me for how fast a native Spanish speaker speaks!

After giving up on Duolingo I tried a few different things; Pimsleur, Paul Noble and Language Transfer. These are all great in different (but similar) ways and after listening to them in the car for a few months, the next time I went to Spain I was able to hold (very) basic conversations and even book a table at a nearby restaurant over the phone without saying a single word of English.

I also tried ISSEN (a YC startup I saw posting here that advertises itself as an AI language tutor) and found it to be... underwhelming. It spoke at much too high a level for me and I think asked me about pets or something? When I said I didn't have a dog it completely ignored that and asked what breed of dog it was. I've used a few different "voice-native" AI agents and even the ones in English left a lot to be desired in terms of interruptions, understanding and memory. It also doesn't help with the one time in my life that I actually have time to learn Spanish, which is when I'm driving my car.

So I decided to try and recreate the Language Transfer/Paul Noble style learning approach, but letting you write an AI prompt to create a lesson suited to your interests and learning level.

https://cadencespanish.com/

Any feedback would be great!

In terms of tech stack, I used Lovable and Supabase. I wrote some of the copy by hand but none of the code. I use ElevenLabs for the realtime speech-to-text and Google Cloud for the text-to-speech (it's an awful lot cheaper and sounds quite good). I am a software developer (I work for a totally unrelated YC backed startup) but I've somewhat fallen in love with Lovable for how fast I can go from "huh, I wonder if this would work" to something in production. And ironically I learned the most about React and react-router-dom from a previous time when Lovable built something that went so wrong I had to dig into the code and rewrite bits of it.
by librasteve | 2026-01-14 15:04:53+00:00
sure...

role Fish { has Str $.name }

class Starfish does Fish { has Str $.favourite-colour; }
class Jellyfish does Fish { has Bool $.jiggly }

sub handle-fish(Fish $fish) {
given $fish {
when Starfish { say .favourite-colour }
when Jellyfish { say .name }
}
}

handle-fish Starfish.new: :name("Lucy"), :favourite-colour("Pink");

I would probably reach for multi-dispatch...

role Fish { has Str $.name }

class Starfish does Fish { has Str $.favourite-colour; }
class Jellyfish does Fish { has Bool $.jiggly }

multi sub handle-fish(Starfish $fish) { say $fish.favourite-colour }
multi sub handle-fish(Jellyfish $fish) { say $fish.name }

handle-fish Starfish.new: :name("Lucy"), :favourite-colour("Pink");
by prmoustache | 2026-01-14 15:05:55+00:00
Main issue is having a parking space with a charger and/or having to pay for it, and price of the new e-motorcycles.

Charging on the side of the road is a no go with motorcycles. I can fill my tank in a few seconds, I wouldn't want to wait more. Until I had a way to charge in an indoor space the only e-motorcycle I considered was the Silence S02 which has a removable battery that you can move as a trolley luggage. But it is still heavy, if you have stairs to climb which was my case until very recently: game over.

I looked at the market to replace my motorcycle, a 300cc scooter, now that I have an indoor parking space where I could in theory install a charger. Most japanese brands are very timid, honda only produces a 50cc equivalent. BMW and Kawasaki are expensive as is Zero motorcycle. To my knowledge Suzuki or Yamaha do not produce any.The rest are mostly chinese brands and many of them are using pretty much scaled up e-bicycle technology with motor in the hub and more importantly zero reliability/service record. And you pay the price of a 125 to get the performance and size of a 50cc moped.

So basically you have the choice between trusted brands and reliable gas powered bikes or do a leap of faith with no insurance that it won't be a shitshow like the aliexpress/amazon e-bike batteries that randomly catch fire. On paper electric stuff should be more reliable but well maintained 125cc bikes tend to be rock solid.
by embedding-shape | 2026-01-14 15:05:55+00:00
No, it's true if you want to remain a normal person, instead of becoming a celebrity or "celebrity-lite" or whatever we call them today. But yeah, if you try to become a "public figure" or similar, then people will try to find skeletons in your closet, but it's always been like that, and very different from "you make a terrible comment or single mistake in your young adulthood and you are done for ever" which was the initial claim.
by LightHugger | 2026-01-14 15:06:37+00:00
> I'm surprised AdaFruit did something wrong here. They frequently blog about their stances on issues and seem to try to take the moral high ground on a lot of issues.

This aspect is not very surprising, it is usually moral high grounders who end up found to be doing something wrong, people like to compensate and try to put down others when they know they are in the wrong.
by joenot443 | 2026-01-14 15:06:38+00:00
Range is frequently noted as a limitation for these vehicles, which is understandable.

In NYC there's a (somewhat informal) swapping economy where riders exchange their dead battery for a charged one. There are city run programs and under-the-table ones which are cheaper and less guaranteed. This is how people will do 12h DoorDash shifts without stopping to charge.

I think it's a pretty interesting idea.
by lelanthran | 2026-01-14 15:06:47+00:00
> What would you have them publish instead?

The statement that is published places blame, if not accusations of criminal behaviour, on their business partner.

IOW, they already overshared with the intent of damaging the reputation of their business partner.

In my mind, they are already behind; had they released the standard business line "Our relationship with $X has come to an end; we apologise for any inconvenience caused" I wouldn't be so quick to judge them.

But, now I *am judging them, because they clearly felt personally aggrieved by what happened, enough to imply the worst without actually coming out and saying what happened.
by gchamonlive | 2026-01-14 15:07:08+00:00
I designed a fairly complex test matrix with a lot of logic offloading to the control mechanisms Gitlab offers. You create job templates or base jobs that control the overall logic and extend them for each particular use case. I had varying degrees of success, and it's not a job for a Devs side quest, that means I think you need someone dedicated to explore, build and debug these pipelines, but for a CI tool it's very good.

Because you can extend and override jobs, you can create seams so that each piece of the pipeline is isolated and testable. This way there is very little that can go wrong in production that's the CI fault. And I think that's only possible because of the way that Gitlab models their jobs and stages.
by Muromec | 2026-01-14 15:07:09+00:00
It's both really and that's why the scale is capped.

Union shops still have compensation levels. If your pay is defined as 85% of a scale L8 and the collective agreement says it gets increased by 2 and half percentage points each year, you will eventually reach 100% and will just sit there and still make 10k less than L9. The scale itself is adjusted yearly.
by palata | 2026-01-14 15:07:39+00:00
I really like the SourceHut CI, because:

1. When the build fails, you can SSH into the machine and debug it from there.

2. You can super easily edit & run the manifest without having to push to a branch at all. That makes it super easy to even try a minimum reproducible example on the remote machine.

Other than that, self-hosting (with Github or preferrably Forgejo) makes it easy to debug on the machine, but then you have to self-host.
by gmd63 | 2026-01-14 15:07:49+00:00
The fuss about AI is interesting to me in music. The most popular and commercially successful artists are already basically using "AI" by having teams of people produce their ideas for them, if they're not outright buying a hit from someone like Max Martin. If you watch Timbaland's Masterclass, he is essentially squeaking noises into a mic which his underlings toil away with and produce into beats.

If you don't like the AI workflow, humans are already offering that workflow to the richest and most successful among us. The new tech is kind of leveling the playing field in that sense. When you think about how AI is applied in other fields, it's basically on the way to giving everyone CEO powers, allowing them to delegate vague directives into action. Whether there's room for 8 billion CEOs on earth remains to be seen.

I personally think barriers to entry in certain industries are features, so we aren't drowned in a sea of careless whims and can more easily find products made with love, dedication, and well articulated intent.
by jerrinot | 2026-01-14 15:07:50+00:00
clock_gettime() goes through the vDSO shim, but whether it avoids a syscall depends on the clock ID and (in some cases) the clock source. For thread-specific CPU user time, the vDSO shim cannot resolve the request in user space and must transit into the kernel. In this specific case, there is absolutely a syscall.
by indigodaddy | 2026-01-14 15:08:11+00:00
I've started a project [1] recently that tries to implement this sandbox idea. Very new and extremely alpha, but mostly works as a proof of concept (except haven't figured out how to get Shelley working yet), and I'm sure there's a ton of bugs and things to work through, but could be fun to test and experiment with in a vps and report back any issues.

[1] https://github.com/jgbrwn/shelley-lxc
by rerdavies | 2026-01-14 15:08:17+00:00
I am a (very) senior dev with decades of experience. And I, too, am blown away by the massive productivity gains I get from the use of coding AIs.

Part of the craft of being a good developer is keeping up with current technology. I can't help thinking that those who oppose AI are not protecting legitimate craft, but are covering up their own laziness when it comes to keeping up. It seems utterly inconceivable to me that anyone who has kept up would oppose this technology.

There is a huge difference between vibe coding and responsible professional use of AI coding assistants (the principle one, of course, being that AI-generated code DOES get reviewed by a human).

But that, being said, I am enormously supportive of vibe coding by amateur developers. Vibe coding is empowering technology that puts programming power into the hands of amateur developers, allowing them to solve the problems that they face in their day-to-day work. Something that we've been working toward for decades! Will it be professional-quality code? No. Of course not. Will it do what it needs to do? Invariably, yes.
by SV_BubbleTime | 2026-01-14 15:08:52+00:00
Uh huh. And you not watching any of these episodes or at most a few, gave you the insight that as an individual he was “deeply problematic”.

He said ONE THING in his entire career that you can point to as being racist, which, even as it is has context removed that it was in response to a black poll against white people…

Just stop and admit you claim he was “deeply problematic” because he was a conservative. And to you anyone with conservative values gets that description.
by onlyrealcuzzo | 2026-01-14 15:09:17+00:00
I'm working on a similar language.

The facts about Gleam:

1. It runs on the BEAM - exceptionally slow compared to Go, but infinitely scalable by default in a way that Go is not - in practice, very rarely matters.

2. They will argue the slowness doesn't matter -> if ~97% of time is spent waiting on I/O -> you can be 10x slower and that means you're only ~30% for typical applications -> it's easier to scale more machines on the BEAM than it is to scale a single machine -> this is true, but largely irrelevant in Go's core market -> it's almost as if Go was built by smart people.

3. The reality is that predictability is much harder to guarantee once you start moving components to different machines. Correct, predictable distributed computing makes correct, predictable concurrent programming look easy.

4. The BEAM does not allow shared memory, Go does (unsafely). There are many cases where the performance impact of this is night and day (why Go ultimately allowed unsafety).

I assume Gleam claims to make this just work. But as someone working in this space, this seems like trying to abstract away the difference between taking a boat to Europe or a plane.

Gleam may be nice if you're building something for the BEAM (massively scalable single app that just makes sense with the actor model, typically chat / telecom).

Though I question why you would use it over Elixir.

Go's syntax kind of blows, but it is so INCREDIBLY good at what it does, that you are not going to beat Go by just having better syntax and being "infinitely scalable" by default.

In practice, Go is easily scalable enough for almost anyone. If it isn't congrats, you're a $10B+ company. You can afford to rearchitect and optimize your hot paths.
by napkinartist | 2026-01-14 15:09:31+00:00
This post is not a good look. You come off as quite snide. In particular, things like "Sparkfun will not?", calling a CoC concern a weirdo behavior, responding to harassment allegations by saying the did it first.

This seems very much like two businesses experiencing friction and separating, which happens all the time. You coming in and framing the flames makes doesn't scan particularly positively to me.
by segmondy | 2026-01-14 15:09:56+00:00
without searching the internet. imagine you have no internet. do you have any computer with a modem? do you know anyone that does? can you get access to one? do you have dialup software? do you have a dial up international internet provider? can you find one? remember you need to do all of this without the internet. can you sign up for one? would they allow you to pay for it from Iran? the best time to get ready is before SHTF
by sebtron | 2026-01-14 15:10:18+00:00
> Are people making user facing apps in rust with uis?

We are talking not only about Rust, but also about C and C++. There are lots of C++ UI applications. Rust poses itself as an alternative to C++, so it is definitely intended to be used for UI applications too - it was created to write a browser!

At work I am using tools such as uv [1] and ruff [2], which are user-facing (although not GUI), and I definitely appreciate a 16x speedup if possible.

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

[2]https://github.com/astral-sh/ruff
by Bridged7756 | 2026-01-14 15:10:42+00:00
You didn't mention it was rewriting the codebase from scratch. That's the consensus, that AI is only good at scaffolding.

Oh it can't do 90% of the work for you. It CAN type 90% of the work for you, but someone still has to read the code and know what the best course of action is, supposedly...... I suppose some people never learned to use their IDEs or to touch type so as to find LLMs such a crazy productivity boost.
by rdm_blackhole | 2026-01-14 15:10:49+00:00
> energy independence is also important for the nation.

None of this matters to people who can't afford to heat their homes in the winter.

The price reduction was a Labour campaign promise and on that front it has failed dramatically.

This is why people lose trusts in politicians and what has fueled the rise of the far right across Europe, when politicians make promises that they know they won't be able to keep.
by dkarl | 2026-01-14 15:10:52+00:00
That was true of me as well, and at the same time, I was working alongside parents who worked 7:30-5:30 with a break to pick up the kids from school.

Nobody wants a "visit" from the founder, anyway. They want timely two-way flow of information, access and guidance on the occasions when they need it, and maybe (maybe) an occasional chance to hang out socially as a group with no reference to work. Nobody wants the founder randomly dropping by during work hours to assess morale.
by jandrewrogers | 2026-01-14 15:11:11+00:00
The main performance difference between Rust, C, and C++ is the level of effort required to achieve it. Differences in level of effort between these languages will vary with both the type of code and the context.

It is an argument about economics. I can write C that is as fast as C++. This requires many times more code that takes longer to write and longer to debug. While the results may be the same, I get far better performance from C++ per unit cost. Budgets of time and money ultimately determine the relative performance of software that actually ships, not the choice of language per se.

I've done parallel C++ and Rust implementations of code. At least for the kind of performance-engineered software I write, the "unit cost of performance" in Rust is much better than C but still worse than C++. These relative costs depend on the kind of software you write.
by irishcoffee | 2026-01-14 15:11:21+00:00
> ... it's a question of being able to express things in a way that gives more information to a compiler, allowing it to create executables that run faster.

There is expressing idea via code, and there is optimization of code. They are different. Writing what one may think is "fully optimized code" the first time is a mistake, every time, and usually not possible for a codebase of any significant size unless you're a one-in-a-billion savant.

Programming languages, like all languages, are expressive, but only as expressive as the author wants to be, or knows how to be. Rarely does one write code and think "if I'm not expressive enough in a way the compiler understands, my code might be slightly slower! Can't have that!"

No, people write code that they think is correct, compile it, and run it. If your goal is to make the most perfect code you possibly can, instead of the 95% solution is the robust, reliable, maintainable, and testable, you're doing it wrong.

Rust is starting to take up the same mental headspace as LLMs: they're both neat tools. That's it. I don't even mind people being excited about neat tools, because they're neat. The blinders about LLMs/Rust being silver bullets for the software industry need to go. They're just tools.
Show HN: Digital Carrot – A programmable app blocker
by newswangerd | 2026-01-14 15:11:35+00:00
Hi Everyone,

Digital Carrot is a programmable and pluggable app blocker. It lets you block websites and apps on iOS, Mac and Windows until a set of conditions or goal is met. For example you can block Reddit, Instagram and Steam until your Apple Watch reports that you have walked 5000 steps.

The app works by collecting data via plugins that you can use to create goals for yourself. Goals are all represented by expressions that return true or false based on the data you provide. For example, if you want to create a goal to finish all of the tasks in your to-do list you could do something like `data.apple_reminders.due == 0`.

The blocking system is also pluggable. That means you can block items via DNS with services as Pi-hole[3]. It also means that the app is not just limited to website blocking! In fact you could write a plugin to control anything that is available via a REST, such as locking a smart lock on your snack cupboard or cranking up the AC in your office until you go outside.

Keeping security and user privacy is a top priority for this app (given that it's literally designed to collect information about you). Because of that:

- We do not collect or share any information that the app gathers.
- Our sync feature is fully end to end encrypted using AES256 and the secure remote password protocol.
- All plugins are sandboxed. They cannot access data provided by other plugins and have no external access unless granted by the user.
- The app is transparent about the data it has. All of the data that is available to use for goals is browsable in app.

Like many of you, I've been dismayed by big tech's lack of concern for our privacy, so keeping these guarantees is personally very important to me. One of the fun things about this project has been that I can kind of flip the script by taking all of the information that has been gathered about me and use it to help cut down on the distractions in my life :)

Anyway, I had to walk 4km to unblock HN in order to post this, so I hope you find it helpful!

[1] Technical overview: https://www.digitalcarrot.app/docs/overview/

[2] Plugin repository: https://github.com/digital-carrot-app/plugins

[3] Pi-hole plugin: https://github.com/digital-carrot-app/plugins/tree/main/piho...
by echelon | 2026-01-14 15:11:42+00:00
We need SSH access to the failed instances so we can poke around and iterate from any step in the workflow.

Production runs should be immutable, but we should be able to get in to diagnose, edit, and retry. It'd lead to faster diagnosis, resolution, and fixing.

The logs and everything should be there for us.

And speaking of the logs situation, the GHA logs are really buggy sometimes. They don't load about half of the time I need them to.