MurphyA/hacker-news huggingface dataset:
by czhu12 | 2025-10-13 13:04:25+00:00
Currently working on an open source Heroku / Fly.io / Render alternative: https://canine.sh

Its built on top of Kubernetes, based on learnings I've had from previous experiences scaling infrastructure.

If you look at the markup PaaS (Heroku, Fly, Render) applies to IaaS (AWS, Hetzner), it's on the order of 5-10x. But not having that, and trying to stitch together random AWS services is a huge PITA for a medium sized engineering team (we've tried).

On top of all that, theres a whole host of benefits to being on kubernetes, namely, that you can install any helm package with one click, which Canine also manages.

A good example is Sentry -- even though it has an open source offering, almost everyone pays for the cloud version because its too scary to self host. With Canine, its a one click, and you get a sentry.your-domain.com to use for whatever you need.

Recently got a sponsorship from the Portainer team to allow me to dedicate way more time to this project, so hugely grateful to them for that.

Code: https://github.com/czhu12/canine
by llm_nerd | 2025-10-13 13:04:45+00:00
>Victorinox is literally the #1 multitool brand by market share

This doesn't repudiate anything I said, and it's a particularly weird canard.

>That's why it's a popular one

Increasingly the only ones I see leveraging the metaphor are English as a second language writers (note that the idiom originates in English and is a calque in other languages) who perhaps came across it somewhere. I would hardly call it "popular", and I pointed out the reality that many readers, such as myself, find it a negative description, similar to someone calling themselves a "jack of all trades". Your defensiveness of SAK does not change this, and your attempts at invalidating my statement borders on bizarre.

Feel free to continue. I'm done here.
by joshstrange | 2025-10-13 13:05:20+00:00
> I still have family members convinced that offshore wind power is mass-killing whales because of Carlson

And if they are anything like the people I've talked to, they never once cared about whales (or any sea life) before this. Same with the "wind turbines kills birds" or even "trans women are ruining women's sports". Ahh yes, a whole list of things you've never cared about, made fun of, or derided in the past but now suddenly care about because of some talking head. It's exhausting.
by zschuessler | 2025-10-13 13:05:26+00:00
I could talk for days on all the peculiar bugs resolved. Once the alpha stabilizes I have drafts to publish on several topics.

You actually nailed the major pain points. Particularly window focus and state management. I've spent months solving this problem alone.

-

1. Applications data list: Getting the list is easy! Finding out which apps in that list are "real" apps isn't. Getting icons isn't. Reliably getting information on app state isn't. Finding out why something doesn't work right is as painful as can be. Doing all this in a performant way is a nightmare.

2. Applications menu renderer: Rendering the list for the menu is easy enough: the macOS app sends this data via socket. The frontend is just web sockets and web components under the hood (https://lit.dev). The difficult part was converting app icons to PNG, which is awfully slow. So a cache-warmup stage on startup finds all apps, converts their icons to png, and caches them to the app directory for read.

3. Window state: again, by far the worst and it isn't even close. Bugs galore. The biggest issue was overriding macOS core behavior on what a window is, when it's focused, and how to communicate its events reliably to the app. Although I did include a couple private APIs to achieve this, you can get pretty far by overriding Window class types in ways that I don't think were intended (lol). There is trickery required for the app to behave correctly: and the app is deceptively simple at a glance.

-

One bug, and realization, that still makes me chuckle today.. anything can be a window in macOS.

I'm writing this on Firefox now, and if I hover over a tab and a tooltip pops up - that's a window. So a fair amount of time has gone into determining _what_ these apps are doing and why. Then coming up with rules on determining when a window is likely to be a "real" window or not.

The Accessibility Inspector app comes standard on macOS and was helpful for debugging this, but it was a pain regardless.
by neutronicus | 2025-10-13 13:06:14+00:00
I did actually try CCLS first, but this was several years ago so it's possible that it may work better (something about our codebase was causing it to crash) - I should try it again.

Lacking LSP didn't stop me from using spacemacs, though. Oh, no. emacs has an auto-complete mode that just chooses from a pool of symbols already present in open files and that turns out to be Good Enough for me to prefer editing code there vs Visual Studio, IntelliSense be damned.

My employer furnished me with a beefy enough workstation that I can have Visual Studio open (to semantic search the whole codebase for stuff I don't already known where to find and to build/run/debug) alongside emacs (for editing and general code browsing when I know where definitions live).
by ajross | 2025-10-13 13:06:25+00:00
My slightly informed cynical opinion is that if a consensus existed for what this meant for the general economy, plenty of experts would be telling you. So, we don't know.

Feedback effects ("ripple effect" in your usage) are a genuine risk of economic systems, but by their nature they aren't predictable. You get the non-linear feedback we're all terrified of (a "crash") when some buffer or another runs dry: some notable demographic needs money, normally gets it from place X (for example: selling stock, repackaging and selling mortgage securities, raising a series B round, issuing corporate bonds, etc...) and suddenly X doesn't produce the same returns. So they need to do another one of those things, which drives that price down, which causes the demographics that depend on that resource to run dry, etc...

This is a metric for just one buffer: the amount of cash available to issuers of high interest bonds. Is that the tipping point? We don't know, and won't until it tips.
by jeroenhd | 2025-10-13 13:07:00+00:00
The issue is actually quite easy to solve by specifying a default locale for string operations when you are not dealing with user input. Whether you pick US or ROOT or Turkish as a default locale, all you need to do is make sure that your fancy metaprogramming tricks relying on strings-as-enums are all parsed the same way. Locale.ROOT for Java, InvariantCulture or ToUpperInvariant() for C#, you name it.

The whole problem is that the compiler has no idea about the locale of any strings in the system, that's why it's on the programmer to specify them.

Lowercasing/uppercasing a string takes an (infuriatingly) optional locale parameter, and the moment that gets involved, you should think twice before using it for anything other than user data processing. I would happily see Oracle deprecate all string operations lacking a locale in the next version of Java.
by criley2 | 2025-10-13 13:09:13+00:00
Most the best land for solar farms in the west half of the US is controlled by the federal government. https://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/Ma...

For example, there basically will not be large scale solar in Nevada, Utah, Arizona, etc under this administration. You know, some of the highest value spots.
Vibe Testing
by leestex | 2025-10-13 13:09:23+00:00
Years ago it seemed to me impossible to build something that actually automates testing.

After 19 years in engineering, I’m finally close to the launch of my own product - an AI-first Quality Assurance platform I’ve been crafting for the last ~4 months.

I tested it on several real (both in-development and production) products, and results were amazing - tens of real bugs found! Project Managers didn't even notice those were reported by AI, not by QA team :D

Here is a list of the main features (both implemented and planned):

- Quick test via AI

- Change/PR testing

- “Vibe” testing

- Context-aware tests (reqs, cases, source)

- Reproduce & enrich bug reports

- AI agents for Slack, Linear, GitHub

I never posted about my side projects, and it is such a scary moment for me, lol. Hope for support and interest of enthusiast like myself!
by ctime | 2025-10-13 13:10:39+00:00
The arid and sunny west ware prime candidates for solar, yet the current administration is doing everything they can to further destroy any chance a future of being carbon neutral with cancellations of many projects.

TFG cancelled a fairly far along project to build 6gw of solar in the Nevada desert just a few days ago known as Esmeralda 7.

The ineptitude and grift of this administration will haunt this country for decades.

https://thenevadaindependent.com/article/feds-appear-to-canc...
by array_key_first | 2025-10-13 13:10:54+00:00
I think he did something wrong. Lots of people think he did something wrong.

That is what's known as an opinion. In my opinion, he did something wrong.

> And it's my right to lose trust and stop using Mozilla products for prioritizing woke issues instead of technical excellence.

Absolutely, you're entitled to your opinion.

What you're NOT entitled to is playing victim and lying about your rights. Your rights were not violated. Nobody's were. Grow up.
by ACCount37 | 2025-10-13 13:10:57+00:00
This is what I mean by "move the goalposts like Gary Marcus did", yes.

If what you're claiming is that external, vaguely-symbolic tooling allows a non-symbolic AI to perform better on certain tasks, then I agree with that.

If you replace "a non-symbolic AI" with "a human", I agree with that too.
by quitit | 2025-10-13 13:11:27+00:00
US Junk Bonds can be used as an early economic indicator. Potentially indicating downturns in GDP and increases in unemployment up to one year earlier than other indicators.

When Junk Bond yields are low, it suggests investor confidence is high (and a low risk of corporates defaulting). The article notes that yields are rising, this is understood to be a signal of economic uncertainty (i.e. greater chance of defaults/increased risk of investing.)

There are considerations to be made regarding about what caused the changes - in this case the presidents declaration of additional tariffs on China. Since this is an arbitrary decision, and not say the result of an economic trend, the certainty around the correlation is lower. Nevertheless the randomness of the actions are themselves a source of uncertainty, which too scares away investment.
by wakamoleguy | 2025-10-13 13:11:35+00:00
I have been trying to use jj for a couple months now, but hitting some friction with my company’s GitHub PR workflow. Specifically, after the PR is merged, the next time I fetch I always end up with a ton of conflicts. It gets hard to clean them up, so I often end up abandoning all mutable commits to start fresh.

I feel like I’m doing something wrong, as I haven’t seen this mentioned in any tutorials, but I don’t know what! :-/
by Havoc | 2025-10-13 13:11:37+00:00
My most recent learning - DDR4 ECC UDIMMs are comically expensive. To the point where I considered just replacing the entire platform with something RDIMM rather than swapping to ECC sticks.

>No space left on device.

>In other words, you can lock yourself out of PBS. That’s… a design.

Run PBS in LXC with the base on a zfs dataset with dedup & compression turned off. If it bombs you can increase disk size in proxmox & reboot it. Unlike VMs you don't need to do anything inside the container to resize FS so this generally works as fix.

>PiHole

AGH is worth considering because it has built in DoH

>Raspberry Pi 5, ARM64 Proxmox

Interesting. I'm leaning more towards k8s for integrating pis meaningfully
by harryyansu4 | 2025-10-13 13:11:39+00:00
Reaxon is an interactive website designed to challenge and measure your reaction speed through a series of simple yet engaging mini games.

Each game mode tests a different aspect of your reflexes — from single-point precision to multi-point random response challenges. You can track your reaction time, accuracy, and score after every round.

Logged-in users can save their performance history, view statistics such as average score, best score, and average error time, and see how they progress over time.

Whether you're here to train your reflexes, compete with friends, or just take a quick break, Reaxon makes it easy and fun to see how fast your mind and body react.

Thank you for playing and being part of Reaxon! Keep testing, keep improving.
by fny | 2025-10-13 13:11:39+00:00
This doesn't mean a lot. People made bets on lower rates which drove money into junk. Those prices renormalized to levels seen over the past year.

In fact, lots of business had the opportunity to roll their debt over the past year, so bankruptcy in the medium term seems unlikely.

The broader question is why now and so quickly. In my view, people got way over their skis in rate-based trades which drove a lot of things higher including tech multiples. This likely why we also have the NASDAQ down 3.5% in a single session.

[0]: https://www.tradingview.com/chart/?symbol=AMEX%3AJNK
by techblueberry | 2025-10-13 13:12:05+00:00
My second favorite “Wild, Wild, Country”, but it was mentioned already at the top of the first list. I enjoy it as a cautionary tale, but I also unironically find it an inspiring tale of building, even if it turns out to bad.

My favorite documentary is “The Barkley Marathons, the race that eats it’s young”

I return to it at least once a year, and while the root of the story - watching people attempt the impossible is certainly inspiring, I find its moral themes are what I appreciate about it the most. The idea of competition as a collective activity, that everyone wants to win, but also everyone wants to see others win their own race, that there’s something about the way that it advances our understanding of humanity that is more important than individual success.

Then also - that your race is yours alone, and that the most important victory is the one you define for yourself. There are people who finish only one or three laps of the five lap marathon, and that failure is a greater achievement than most people will ever know, and they clearly see it that way, there’s near no shame in anyone’s performance and people are clearly defining success for themselves, mostly clearly beyond what anyone else would define it for them. And finally, it’s kind of a throwaway line, but one of the runners says “I think most people could use more pain in their lives.” And it made me realize that often, when enduring hardship, rather than turning away from it, finding ways to challenge myself on my terms is a healthier approach to stress than “relaxing”.
by MontyCarloHall | 2025-10-13 13:12:07+00:00
Depends on how big the directory is. If it only contains a few files, I'd just enumerate them all with `find`, filter the results with `grep`, and perform the actual `grep` for "bar" using `xargs`:

find . -type f -name "*.foo" | grep -v '/\.' | xargs grep bar

(This one I could do from muscle memory.)

If traversing those hidden files/directories were expensive, I'd tell `find` itself to exclude them. This also lets me switch `xargs` for `find`'s own `-exec` functionality:

find . -path '*/\.*' -prune -o -type f -name "*.foo" -exec grep bar {} +

(I had to look that one up.)
by arminiusreturns | 2025-10-13 13:12:24+00:00
Another reason emacs as an OS (not fully, but you know) is such a great way to get used to things you have on systems. Hence the quote: "GNU is my operating system, linux is just the current kernel".

As a greybeard linux admin, I agree with you though. This is why when someone tells me they are learning linux the first thing I tell them is to just type "info" into the terminal and read the whole thing, and that will put them ahead of 90% of admins. What I don't say is why: Because knowing what tooling is available as a built-in you can modularly script around that already has good docs is basically the linux philosophy in practice.

Of course, we remember the days where systems only had vi and not even nano was a default, but since these days we do idempotent ci/cd configs, adding a tui-editor of choice should be trivial.
by rzwitserloot | 2025-10-13 13:12:37+00:00
> But ... LocalDate predated records by 6 years?

Yes, exactly - now you're getting it. Or rather I get the feeling I failed to explain it well.

ArrayList predates generics.

However, ArrayList does have generics.

That's because generics were added to the language in a 'culturally backwards compatible' way: Existing libraries (i.e. libraries that predate the introduction of generics, such as ArrayList) could modify themselves to add support for generics in a way that is backwards compatible for the library: Code written before they added it continues to work and compile fine even against the new release that added generics.

The same principle applied to records would mean that LocalDate could have been updated to turn into a record in a way that is backwards compatible.

And it really works that way.. almost. You really can take an existing class (defined with `class`) and change it into a record (defined with `record`) and all existing code continues to work just fine. However, this means all your properties now neccessarily get an accessor function that is named after the property. And that is a problem for LocalDate specifically: It already has accessors and they are named e.g. `getYear()`. Not `year()`. That means if LocalDate were to be rewritten as a record, one of two very nasty options must be chosen:

* Break backwards compatibility: As part of upgrading code you must change all calls to `.getYear()` into calls to `.year()`. It's a total ecosystem split: Every dependency you use comes in 2 flavours, one with calls to getYear and one with year, and you must use the right ones. This is truly catastrophic.

* Have both methods. There's year() and also getYear() and they do the same thing. Which is the lesser evil by far, but it makes very clear that LocalDate predates `record`. Contrast to ArrayList: It is not all that obvious that ArrayList predates generics. It does, but if you were to design ArrayList from scratch after generics are introduced you'd probably make the same code. Maybe the signature of `remove` would have been `remove(T)` instead of the current `remove(Object)`.

Instead, obviously then, the best choice is to not make it a record. And that's my point: The best possible (possibly here perfection is the enemy of good, but, I'd have done it differently) way to deploy records would have included some way for localdate to turn into a record without the above dilemma.

Perhaps simply a way to explicitly write your accessors with some marker to indicate 'dont generate the default `year()` - THIS is the accessor for it'.

Had that feature been part of record, then LocalDate could have turned into one in a way that you can't really tell.
by btown | 2025-10-13 13:12:58+00:00
More detail on accomplishments in press release: https://www.nobelprize.org/prizes/economic-sciences/2025/pre...

Press conference: https://www.youtube.com/live/EajZObplJ8U

https://www.reuters.com/world/mokyr-aghion-howitt-win-2025-n... - includes quotes from press conference, including commentary from laureates on present geopolitical climate
by xenodium | 2025-10-13 13:13:18+00:00
It's got some of them already like showing and accepting diffs rendered natively. All edits are committed via Emacs itself and on to open buffers if applicable. TAB navigation. Accepting permission has had a fair amount of iteration to smoothen the experience. It's been quite a bit of work to get here. There are obviously more feature to come. Please file feature requests if you find anything missing and of course, sponsor the project if you truly want it to be sustainable and move forward.
by kayo_20211030 | 2025-10-13 13:14:55+00:00
I don't get the sense that these companies hired an outsider to perform a post-mortem. All I got from the reddit post was that some johnnie took it on himself to trawl through the repos of failed startups, came up with some laughably simple weaknesses, and published a post to demonstrate how clever he was and how stupid they were. It reeks of glib, self-satisfaction. At no point was a business case examined, or business management, or market size, or burn-rate, or cashflows, or anything else that's likely to signal imminent or eventual demise more clearly than a missing index. The absolute dollars weren't even clear. 13% utilization on a total bill of $100 has a different level of materiality than if the total bill was $100,000. The former is a bit loose, but probably not fatal. Get the business right then get the tech right. Bad business plus great tech is probably still a dead business.
by bluGill | 2025-10-13 13:15:07+00:00
Because anything one side says the other must automatically and reflexively oppose no matter what. The example here is Right hating on Left, but the Left as the same illogical hate against the right - though in different areas.

This has often been blamed on first past the post voting - if you want to win you have to team up which means your views on Abortion and Environment Policy have to align even though there is no reason to think the two should have anything to do with one another. Since there is no room for thinking each side is correct one one and wrong on the other you have to oppose anything the other does without wondering if maybe they are correct. Now remember that are thousands (millions?) of different issues, and many of them have a range of different answers, yet there can only be one unified position that you support...

I'm not convinced that the various alternatives are really better though. They all seem to have issues in the real world, and too often people will look at what they have an ignore the issues because they want to feel better.
by stavros | 2025-10-13 13:15:14+00:00
I wrote the post, so that's a post from the perspective of someone who doesn't hate git :P

I used bzr after SVN, but my larger point is that it's all fine, the question was whether you want to go through some short-term learning for long-term gain, or if you want to keep using what you know. Either is fine, I'm still using vim as my editor, for example.
by mantas | 2025-10-13 13:15:21+00:00
Technically I could see some reasons. Grids need serious upgrades to support personal solar properly. Which is €€€ and, if end-customers would have to foot the bill themselves, very few people would install solar at home. On top of that, at least in my whereabouts solar is receives a fuckton of subsidies. In the long run lower energy prices will pay back those subsidies for the society, but for now I could see why some people ain't happy to foot the bill. Especially when it's usually better-off people installing solar. While poor people end up partially footing the bool.

Last but not least, Chinese domination in modern solar equipment is mind-boggling. At least when I was installing solar, buying western-made would have been much more expensive, to the point that it wouldn't be worth to go through.

P.S. I got solar on the roof myself. „Free“ electricity is damn nice.
by jtr1 | 2025-10-13 13:15:37+00:00
I think you'll have a difficult time comprehending the phenomenon if you look for reasoned arguments. A much more productive framework, IMO, is to see it in terms of a feedback loop between funding sources and the aggregate valence of speech on a particular topic.

The energy industry is one of the largest in the world, with trillions of revenue on the line. The FF component of that industry has every incentive to turn sentiment against upstart competitors, but you do that at scale less by reasoned arguments and more by gut level appeals: "the people who want renewable energy hate your culture and way of life", "renewal installations are ugly and a blight on the landscape of your home", etc.