MurphyA/hacker-news huggingface dataset:
by throwaway290 | 2025-04-13 17:57:01+00:00
I'm not a carhead and most of us use brands to tell if it's good or not. If unknown brand car I see once looks cute that means literally nothing without extra information.

But if I see the same unknown brand car 10x in a day and then I see it in a videogame etc. and it's expensive so many carheads spend a bunch of money on it = endorsement, it's no longer unknown brand.

Same for everything, phones, cameras, whatever. You gotta be discerning to appreciate beyond the brand and most people are not.

If I see a cute car I check what's the brand, how much it costs etc and THEN I can think "yeah I want this cool looking car". I don't think anyone would use just cute shape of a car seen once as a justification for buying it.

Fast body? That means you must be a carhead. How do I know it's a fast body? Why would I even need a fast body?
by 0x696C6961 | 2025-04-13 17:58:43+00:00
> I do think that its simplicity is the rejection of the idea that there are experts out there, and/or their relevance. It's not decisions based on knowledge and rejection, but of ignorance and "scoping out" of hard problems.

Ok, I'll ask the obvious question. Who are these experts and what languages have they designed?

> Another long article could be written about the clearly not thought through use of nil pointers, especially typed vs untyped nil pointers (if that's even the term) once nil pointers (poorly) interact with interfaces.

You're getting worked up about something that's hardly ever an issue in practice. I suspect that most of your criticisms are similar.
by drweevil | 2025-04-13 17:58:58+00:00
I'm assuming that by 'pipe operator' you mean the semantics, not specifically '|'. Of the programming languages I've used F# ('|>', https://camilotk.github.io/fsharp-by-example/chapters/pipe/), Elixir ('|>', https://elixirschool.com/en/lessons/basics/pipe_operator), and Clojure ('->' and '->>', https://clojure.org/guides/threading_macros), have pipe operators. The last two implement them as macros.
by LPisGood | 2025-04-13 17:59:09+00:00
Selling compute that is on my home network using storage that resides at my house and networking that leads back to where I live to random internet people sounds like a nightmare that cannot possibly be worth the few hundred bucks a month it may earn you.

To wit, no serious business would use your services, so your market is pretty much limited to:

1.) Amateur hobbyists (very little money there)

2.) People with Bad Intentions (horrendous from a legal and security perspective, and ethics if that’s your thing)

3.) People in your social circle
by JusticeJuice | 2025-04-13 17:59:12+00:00
The key thing to understand about typeface copyright is you can copyright the font file, but not the actual shape of the font (as that video you linked covers).

So say as you said, you had access to a font, you used it in a logo. Then you lost access. It's fine to keep using the logo, any assets you've created while you had access you can keep using. What you can't do is keep using that font file on your machine to start making making new assets. This is why for graphic design fonts are often licensed based on the number of machines they're installed on.

For web, it's often a subscription for a certain number of page views. If you no longer pay the subscription, then you're no longer allowed to serve the font file. Enforcing this however, is really tricky for foundries as you'd expect.

For app use, the license don't account for 'page views' as they figure it's impossible to track (and for the foundry to check). That's often why the figure is more for native apps. They're also kinda taking a guess that companies making apps pay more.

This is why a lot of big businesses will just outright 'buy' a font, so they have access forever with no limitations. If you're committing to a particular font for your brand, it often makes sense to just drop the cash and get it. It's also why so many really big companies just make or commission their own typefaces - it can be cheaper than trying to find some deal with a foundry. A good typeface will take one person about 2-3 years to make, but if you have 1k employees.... no biggie.

It's worth noting most serious foundries don't focus on 'small' customers - they're targeting very large businesses. The pricing doesn't scale down to most normal people, unfortunately - however if they did they'd be dramatically reducing income from the 'whales'. There's also undeniably a bit of price-value bias.

This all varies a bit foundry to foundry, but that's the most common setups and why.
by horsawlarway | 2025-04-13 18:01:12+00:00
So now either the agent is writing the tests, in which case you're right back to the same issue (which tests are actually worth running?) or your job is now just writing tests (bleh...).

And for the llm review of the pr... Why do you assume it'll be worth any more then the original implementation? Or are we just recursing down a level again (if 100 llms review each of the 100 PRs... To infinity and beyond!)

This by definition is not trivially automated.
by JumpCrisscross | 2025-04-13 18:02:41+00:00
> What's the policy response to supply contraction causing people to lose their jobs? What does that tend to do to exchange rates?

You’re acting like the Asian financial crisis or like Argentina haven’t existed.

> If they are offering discounts to other buyers, then won't those buyers then take the advantage and re-export to the US?

Across-the-board tariffs.

> when you could just pay the 10% tariff and get the same amount of less money for less effort?

Stability. Again, you’re acting like Smoot-Hawley didn’t happen.

> To 'dump' Treasuries somebody else has to buy them - so no fewer Treasuries

Nobody…said as much. In this case, look at Russia in the late 90s.

> where's the problem?

People buy the treasuries on the secondary market and then have less demand on the primary. That lowers their price which raises yields. That, in turn, makes the policy remedy you suggested at the top—for unemployment—more difficult as it requires monetising the debt.
by WalterBright | 2025-04-13 18:03:22+00:00
Trapping people into paying is never going to be a successful long-term strategy.

I tried to unsubscribe from Disney+. Their website says all over the place "cancel at any time", but I could not find any place where I could cancel it.

I wound up canceling it by getting my credit card company to block their charges.

It left a pretty sour taste, and I'd be very reluctant to ever sign up for it again.
by tim333 | 2025-04-13 18:06:23+00:00
Seems something like that. I googled it to see what chickens had to do with transits.

>The "Chicken Tax" is a 25% tariff on light trucks imported to the United States, established in 1964 by President Lyndon B. Johnson. This tariff was a retaliatory measure against European countries, including France and West Germany, which had imposed tariffs on U.S. chicken exports.

This whole business gets rather silly. Viva free trade.

https://www.carscoops.com/2024/03/ford-pays-u-s-365-million-...
by buovjaga | 2025-04-13 18:06:33+00:00
I read that same story a long time ago, but apparently it had things mixed up and this is the way it actually went down: https://www.moomin.com/en/blog/the-story-of-moomintrolls/

"On a summer day, she was discussing literary philosophy with her brother Per Olov Jansson next to the outhouse at their summer cottage in the archipelago. Tove quoted Immanuel Kant, who Per Olov immediately downplayed. To get back at her brother, Tove drew the ugliest creature she could imagine on the outhouse wall. That drawing, out of chance, is the first glimpse of a Moomin-like figure, although Tove called it a Snork."
by qrobit | 2025-04-13 18:06:58+00:00
Fennel is indeed nice and I rewrote my config in it too, but looked back ~2 years later and rewrote it again in Lua. I think Fennel for configuration is not justified and just adds complexity. Also the tools are not there: two existing language servers[1][2] can't compete with Sumneko's Lua language server[3] and they are fennel-exclusive and clueless about Lua code. I still like Fennel for writing more complicated code (my plugins: [4][5]) because of neat features like pattern matching and structural decomposition, both are surprisingly robust.

[1]: https://git.sr.ht/~xerool/fennel-ls/

[2]: https://github.com/rydesun/fennel-language-server

[3]: https://github.com/LuaLS/lua-language-server

[4]: https://gitlab.com/repetitivesin/16cm.nvim/-/tree/main

[5]: https://gitlab.com/repetitivesin/madol.nvim
Show HN: Taru – AI Powered Tarot Readings
by emperorxanu | 2025-04-13 18:07:26+00:00
Hi HN!

My partner and I built Taru, an AI-powered tarot reading app that respects the metaphysical aspects of traditional readings. It took about a year to put together, and we are quite proud of it. It's currently available as PWA, with Play Store testing in progress.

The app uses Java backend with React frontend and incorporates user interactions to metaphysically seal each reading to its intended audience. Readings can be private or shared more broadly.

This was a challenging project balancing technical requirements with preserving tarot's spiritual essence.

Any thoughts/advice would be madly appreciated!
by siffl | 2025-04-13 18:08:19+00:00
Perhaps even more interesting in the near-future is the prospect of creating sperm, through technological means, from female cells.

The research to do this seems to be close to succeeding - see e.g. https://www.newscientist.com/article/dn11601-bone-stem-cells...

When researchers perfect this technique for humans, which they almost certainly will eventually, there will be no need for men at all. Women will be able to obtain lab-grown sperm from other women, and use this for fertilization.

All of these female-originating sperms will be X-chromosomed, and so in the much longer term we will see the eradication of the Y chromosome - and all the problems that arise from it.
by regularfry | 2025-04-13 18:08:36+00:00
Three is high enough, in my eyes. Two might be. Remember that we don't care about any but the best solution. With one sample you've only got one 50/50 shot to get above the median. With three, the odds of the best of the three being above the median is 87.5%.

Of course picking the median as the random crap boundary is entirely arbitrary, but it'll do until there's a justification for a better number.
by sdesol | 2025-04-13 18:09:02+00:00
> This is a huge opportunity, maybe the next big breakthrough in AI when someone figures out how to solve it

I am not saying I solved it, but I believe we are going to experience a paradigm shift in how we program and teach and for some, they are really going to hate it. With AI, we can now easily capture the thought process for how we solve problems, but there is a catch. For this to work, senior developers will need to come to terms that their value is not in writing code, but solving problems.

I would say 98% of my code is now AI generated and I have 0% fear that it will make me dumber. I will 100% become less proficient in writing code, but my problem solving skills will not go away and will only get sharper. In the example below, 100% of the code/documentation was AI generated, but I still needed to guide Gemini 2.5 Pro

https://app.gitsense.com/?chat=c35f87c5-5b61-4cab-873b-a3988...

After reviewing the code, it was clear what the problem was and since I didn't want to waste token and time, I literally suggested the implementation and told it to not generate any code, but asks it to explain the problem and the solution, as shown below.

> The bug is still there. Why does it not use states to to track the start @@ and end @@? If you encounter @@ , you can do an if else on the line by asking if the line ends with @@. If so, you can change the state to expect replacement start delimiter. If it does not end with @@ you can set the state to expect line to end with @@ and not start with @@. Do you understand? Do not generate any code yet.

How I see things evolving over time is, senior developers will start to code less and less and the role for junior developers will not only be to code but to review conversations. As we add new features and fix bugs, we will start to link to conversations that Junior developers can learn from. The Dooms day scenario is obviously, with enough conversations, we may reach the point where AI can solve most problems one shot.

Full Disclosure: This is my tool
by Arainach | 2025-04-13 18:09:22+00:00
It's a significantly incomplete list - and absolutely not a list of "quotes" as none of the items in your list appear in the article:

>Lack of external static storage class, the pinnacle of C programming.

>Lack of oh so powerful C strings, terminating in zero (hopefully).

>"There is no way to override the type mechanism when necessary, nothing analogous to the "cast" mechanism in C."

>"begin" and "end" are bulky compared to { and }.

In my opinion these are some of the less significant arguments. Your post never stated that it contains merely a subset a subset and instead claims to refute or weaken the overall proposal. I agree with the previous poster that this is a form of lying.

For instance, you ignored one of the very first and most significant points, "The size of an array is part of its type" which means that " it makes it difficult indeed to create a library of routines for doing common, general-purpose operations like sorting"

Incidentally, those are examples of quotes i.e. verbatim excerpts from the article.
by genewitch | 2025-04-13 18:09:49+00:00
Phi 4. Its fast and reasonable enough, but with local models you have to know what you want to do. If you want a chat bot you use something with Hermes tunes, if you want code you want a coder - a lot of people like the deepseek distill qwen instruct for coding.

There's no equivalent to "does everything kinda well" like chatgpt or Gemini on local, except maybe the 70B and larger, but those are slow without datacenter cards with enough RAM to hold them.

I just asked your very question a day or two ago because I put back together a machine with a 3060 12GB and wondered what sota was on that amount of RAM.

If you use lmstudio it will auto pick which of the quantized models to get, but you can pick a larger model quant if you want. You pick a model and a parameter size and it will choose the "best" quantization for your hardware. Generally.
by SequoiaHope | 2025-04-13 18:10:04+00:00
Not all folks can do it, but here in Oakland there are plenty of folks who could do it if we had better paths, but don’t because the roads are very dangerous for bikes and we have poor bike paths. This means we can get more people on bikes. Also I’m in favor of changing more than just bike paths - we could improve housing affordability so that people don’t have a 1.5 hour commute to their work. Also I have three bikes that are 15 years old. Buying a used bike uses even less resources than a used Vespa. I do have a newer ebike though. They’re really nice when you have more stuff to carry or longer distances to travel!
How I stumbled upon building a broadcast tool
by LahanF | 2025-04-13 18:10:11+00:00
I’ve been building a Telegram bot called Repta—it helps small vendors generate receipts, log expenses, and generally run their business via chat. While working on it, I ran into a surprisingly annoying problem: broadcasting messages to my bot subscribers.

Most solutions I found were either built specifically for webhook setups (which doesn’t play well if your bot uses polling, like mine does) or they send messages on your bot’s behalf using their own infrastructure—not ideal if you want to keep things simple and branded.

So I ended up building a minimal broadcast tool that sends messages through your own Telegram bot. No webhook conflicts, no weird proxies. Just paste your bot token, enter your chat IDs, compose your message (media and scheduling supported- all local), and send.

If you’ve ran into the same pain point, I’d love to hear your thoughts. Free access here: https://sweetcher.vercel.app
by doubled112 | 2025-04-13 18:10:12+00:00
I have some friends with Nextcloud accounts that run on my home server, and a couple have accounts on my Matrix home server.

They understand that if anything goes wrong I will offer a complete refund (which is $0), because they’re my friends. I couldn’t imagine doing it for other people though.

It also helps that they’re IT or at least interested in IT.
by iknownothow | 2025-04-13 18:10:30+00:00
I've read the link and the GitHub readme page.

I'm sure I'm in the top 1% of software devs for the most number of timestamps parsed. [1]

DST is not a problem in Python. It's parsing string timestamps. All libraries are bad, including this one, except Pandas. Pandas does great at DST too btw.

And I'm not shilling for Pandas either. I'm a Polars user who helicopters Pandas in whenever there's a timestamp that needs to be parsed.

Pandas has great defaults. Here's string timestamps I expect to be paesed by default. I'm willing to pass timezone in case of naive timestamps:

* All ISO 8601 formats and all its weird mutant children that differ by a tiny bit.

* 2025-05-01 (parsed not as date, but as timestamp)

* 2025-05-01 00:00:00 (or 00.0 or 00.000 or 0.000000 etc)

* 2025-05-01 00:00:00z (or uppercase Z or 00.0z or 00.000z or 0.000000z)

* 2025-05-01 00:00:00+02:00 (I don't need this converted to some time zone. Store offset if you must or convert to UTC. It should be comparable to other non naive timestamps).

* 2025-03-30 02:30:00+02:00 (This is a non existent timestamp wrt European DST but a legitimate timestamp in timestamp representation, therefore it should be allowed unless I specify CET or Europe/Berlin whatever)

* There's other timestamps formats that are non standard but are obvious. Allow for a Boolean parameter called accept_sensible_string_parsing and then parse the following:

\* 2025-05-01 00:00 (HH:mm format) \* 2025-05-01 00:00+01:00 (HH:mm format)

[1] It's not a real statistic, it's just that I work with a lot of time series and customer data.

Disclaimer: I'm on the phone and on the couch so I wasn't able to test the lib for its string parsing before posting this comment.
by jeroenhd | 2025-04-13 18:12:31+00:00
It's still a custom ROM and it's not uncommon for those to be reskinned in interesting or weird ways. Plus, their website already uses the outline of a phone with their logo inside of it, why not make that a screenshot of their ROM with their logo as a background?

Furthermore, I'm interested in what their solution for email, calendars, and all the other Google services look like. If it's AOSP, that's a good reason not to use this ROM. I suspect it's not actually using AOSP's apps, though.
by evantbyrne | 2025-04-13 18:12:39+00:00
Hah yeah I don't necessarily believe it's all a generational thing, because I see it in the older folks as well. And every generation has had its masculinity grifters. This one is obsessed with porn. The biggest generational differences I've noticed are that women seem to need men less, people are losing shape at earlier ages, and a lot of people have become very outspoken about distrusting members of the other sex. Just from those factors I think it would be natural to see increased competition for the people who have everything together.
by tikhonj | 2025-04-13 18:12:45+00:00
The biggest things have been utilities for running shells in Emacs (totally changed my day-to-day programming workflow for the better) and org-mode stuff (notes, slides for presentations, todos/scheduling/etc)

But a lot of other things have been more like small conveniences or one-off improvements—things that would not make sense if they took more than 20 minutes to write, but do make sense in Emacs. A few random examples: some custom ways to enter Unicode characters; a command to insert TODO comments; a different way to manage Emacs windows; a little package for jumping to locations I care about; a way to insert a file path into a buffer; a work-specific tool to go from UUIDs to internal URLs; some random stuff for authoring a book with Pandoc + LaTeX; a command to insert Haskell LANGUAGE pragmas (contributed upsteam!); and a bunch more that I'm forgetting.

As a bonus, writing these meant I didn't have to "learn" them in the sense that I know they exist and, if I gave them a keybinding, I did not have to memorize it.

None of these are a big deal on their own! But having an environment that reduces the friction to make small improvements is. Having a tool that I can orient around the way I want to work is qualitatively different from having a tool that makes me orient around how it works.

It's not even that much customization in some absolute sense; everything fits into a few thousand lines of Elisp spread across a few files in my dotfiles repo[1].

[1]: https://github.com/TikhonJelvis/dotfiles/tree/main/home/emac...
by ThrowawayR2 | 2025-04-13 18:13:16+00:00
> "All of that will be lost, drowned in machine-generated slop, if next decade's legacy code comes out the backside of a language model."

The fun part though is that future coding LLMs will eventually be poisoned by ingesting past LLM generated slop code if unrestricted. The most valuable code bases to improve LLM quality in the future will be the ones written by humans with high quality coding skills that are not reliant or minimally reliant on LLMs, making the humans who write them more valuable.

Think about it: A new, even better programming language is created like Sapphire on Skates or whatever. How does a LLM know how to output high quality idiomatically correct code for that hot new language? The answer is that _it doesn't_. Not until 1) somebody writes good code for that language for the LLM to absorb and 2) in a large enough quantity for patterns to emerge that the LLM can reliably identify as idiomatic.

It'll be pretty much like the end of Asimov's "Feeling of Power" (https://en.wikipedia.org/wiki/The_Feeling_of_Power) or his almost exactly LLM relevant novella "Profession" ( https://en.wikipedia.org/wiki/Profession_(novella) ).
by Sunspark | 2025-04-13 18:13:43+00:00
It won't be C. The reason as I see it is because of commodification. Executives want things as cheap and drop-in as possible. With C, you need a certain amount of skill. With a language like Rust that advertises memory-safety, they like that because it means you don't need as much skill anymore.

A similar thing is happening with game engines. If everyone is taught Unreal engine then you don't get in-house engines anymore which requires skill, because it's easier and cheaper to get some replaceable grunt to implement it in Unreal, perhaps with some off-the-shelf assets, which is perceived as "good enough".

It will be interesting to see how AI generation of code changes development tooling and the skills required.
by j45 | 2025-04-13 18:13:54+00:00
It's less about coming back to a "home", and more about self-hosting.

Self-hosting a service, website, or SaaS happens alot more than most people realize especially with fibre to the home, and even things like Starlink.

Sharing your home services doesn't seem mission critical, unless it is. It's easy to just pop in a QNAP or Synology for any individual for themselves.

Businesses who have data residency and processing requirements are live and well, and pay a premium.

The pendulum of cloud vs local is starting to swing the more AI models become available in datacentres to keep close to your data in 2025. Google just announced privately hosting to Gemini a few days ago iirc.

For self-hosting, one has to stabilize power, internet, and decide on equipment. This is orders of magnitude more doable, easier and cheaper every 5 years going back 15.

Just have to be clear on how experienced you are with this in the past and most recently. The cloud is ridiculously profitable and overpriced because in part of how much this has come down market just not used.

Of course there's knowledge involved, and again, there's plenty of people who quietly have this knowledge, and it's far easier to obtain now starting with something as simple as Proxmox and/or Docker.