MurphyA/hacker-news huggingface dataset:
by adityaathalye | 2025-05-21 07:03:25+00:00
Hm, I'm saying a given function can be production grade. I'm not saying all functions are production-grade. Also, I'm saying production comes in all sizes. If your micro-SaaS app gives you a livelihood, that's hella production --- real skin in game, real stakes in ground.

To analogise further...

- HackerNews is a "production" system, you would agree. Back in 2015, it was still true. Are flat files a "production grade" primary data storage choice? [1]

- Suppose your production service transacts a million requests an hour (say it is a short-link maker). Further, let's say it has only a handful of API endpoints. Do you really need a whole routing library for that, if a single multimethod does exactly what you need, correctly?

etc...

[1] https://news.ycombinator.com/item?id=9990630

(edit: add reference for flat file storage)
by alexey-salmin | 2025-05-21 07:03:31+00:00
> What does this mean really? That is their means.

Kind of, yes. Also if you take away other's people assets by force you can say you live by your means because you produce violence.

That's a matter of terminology, the real thing to be considered is the sustainability of this system.

If this setup can be sustained perpetually then yes, it's sort of within your means. If gradually deplete some reserves (gold or trust or domestic stability due to rising inequality) then it can be argued that you live beyond your means.
by Arnavion | 2025-05-21 07:05:00+00:00
A non-idiot would use calloc(DEFINITELY_BIG_ENOUGH), and that will likely erase the difference because the impl will be able to rely on mmap(ANONYMOUS) creating zero pages for such a large allocation. A more realistic test would be to have a large number of small allocations that get calloc'd and then free'd repeatedly, because a) free'ing a small allocation will not free the underlying page and thus reallocation will not be able to rely on it already being zero, and b) zeroing small allocations doesn't amortize the cost of zeroing as well as zeroing large allocations does.
by ithkuil | 2025-05-21 07:05:14+00:00
An idiomatic way to approach this would be to define a new interface, let's call it Bytes with a Bytes() []byte method.

Your function would accept an io.Reader but then the function body would typeswitch and check if the argument implements the Bytes interface. If it does, then call the Bytes() method. If it doesn't then call io.ReadAll() and continue to use the []byte in the rest of the impl.

The bytes.Buffer type already implements this Bytes() method with that signature. By the rules of Go this means it will be treated as an implementation of this Bytes interface, even if nobody defined that interface yet in the stdlib.

This is an example of Go's strong duck typing.
by friendzis | 2025-05-21 07:05:33+00:00
Your comment falls into the engineering superiority trap. Yes, one needs to understand how camera (or many other instruments) works, but only because different tweakable parameters are not completely orthogonal.

> The camera is the artistic instrument of cinema and using it well requires understanding how to leverage lens selection, aperture, shutter speed, exposure, focal plane, lighting, framing, etc to achieve the desired artistic outcome.

This is the key sentence. If you had a digital camera that perfectly mimicked output of film camera, you could take a "filmmaker" from 70s, give them the digital camera and they will successfully create a film of equal quality. Yes, one needs to understand that e.g. focal length changes depth of focus, but it's all about controlling the output. One does not really need to understand the inner workings of a system, all they need to understand is which parameters affect output in what way.

>> there is probably not much of a predictable relationship between knowledge of how the camera works and quality of the resulting film.

Yes, usually some technical understanding is required to understand the relationships and use them well. However, even perfect understanding of inner workings of a tool does not translate to being a good craftsman. There is some overlap, but that's it. One still needs to understand the filmmaking part well to make a good film. Hence, the observation that technical knowledge does not translate to film quality - it's a required, but not sufficient criterion.
by OtherShrezzing | 2025-05-21 07:05:49+00:00
The story being told at Wall Street is that this is a once-in-an-era revolution in work akin to the Industrial Revolution. That’s driving multiple trillions of dollars in market cap into the companies in AI markets.

That story doesn’t line up with a product whose price point limits it to fewer than 25-50mn subscriptions shared between 5 inference vendors.
by uecker | 2025-05-21 07:07:16+00:00
I can restart window manager and compositor just fine in X. Also it is not generally true that X apps crash when the server goes away. This is a limitation of some client libraries, but I wrote X apps myself that could survive this (or even move their display to a new server). It is of course sad that popular client libraries never got this functionality under Linux, but this is a problem of having wrong development priorities.
by madaxe_again | 2025-05-21 07:07:41+00:00
No way, man - yes, they overpaid for some of their gear, but the labour cost of an installer ends up being most of what you pay.

No, the smart move here is to find out where the installers buy from, and buy from them. I never explicitly stated I was or wasn’t an installer, they just assumed that I was, as I was buying pallets of panels and kilometres of cabling.

The one advantage of going with a professional installer is that it makes it a lot easier to get grants - I had to spin up a company and invoice myself to get my rebate.
by atoav | 2025-05-21 07:07:53+00:00
A bought a cheap "Harley Benton" (Thomann store brand) telecaster clone for a family member that wanted to start with the electrical guitar. And I was shocked at how good the build quality was.

When I started playing twenty-odd years ago getting cheap brand guitars was a complete gamble and you had to do a lot to make them not suck. This guitar I got had at least the build quality of my US strat that went for 7 times the price at the time, and the sound was without doubt.

I suspect it has to do with more/preciser CNC milling in manufacturing.
Is this necassary to fail at first time? No money with 280 Users
by gurpreet_codes | 2025-05-21 07:07:57+00:00
I have built this kind of duplicate software "https://dailyexpensetracker.in" and it's on web only after 2 months I started getting few users.

I was amazed that how I'm getting these users.

Now after 8 months I'm thinking about to make some money or to try to get some more users, I ran a survey people said would love to pay 5$ a month but no one converted when I added premium modal. So, I moved back to free and started thinking about adding ads, but ads were making user experience so bad.

I removed them as well. I need some idea if I can make something out of it. Or I should just leave it as it is.
by yorwba | 2025-05-21 07:08:16+00:00
Yeah, lots of fun data issues can be found in their exploration tool https://charleskemp.com/code/lexicalelaboration.html

Icelandic has a bunch of dictionary abbrevations: medic(al), temp(us), germ(anic), veg(etation). Tarifit is dominated by linguistic terminology. German has a few German words that look like English words meaning something completely different (mantel, tier, boot, stall), one loanword (angst) and what might be dictionary abbrevations again: humor(ous), miner(alogy), spa(nish)...
by sph | 2025-05-21 07:08:38+00:00
> Yeah, it's mind-blowing when it clicks, and makes the whole "exceptions vs. return types" discussion look like a quarrel of 3yos in a sand box. Error handling in other languages/runtimes just doesn't feel sufficient from now on.

I am still waiting for a non-Lisp language with a half-decent restart system. Even compiled languages should be able to implement it (except dealing with a possible allocation failure when saving the register context to return to)
by Propelloni | 2025-05-21 07:08:55+00:00
I'm sure that's true for you and you are entitled to your opinion, in fact, I am happy that you read more. For me, I find paper books more convenient, easier to use, easier to make my own (I like to scribble into books), easier to read. They only lose in the storage department, but I've got a dry cellar.

I own a Kindle since, I don't know, 2015, and I can count the number of books I read on it on two hands and I read about 30-40 books a year. The only reason to rent an e-book are imports that otherwise are hard to get or cost an arm and a leg.
by bloppe | 2025-05-21 07:09:34+00:00
The hoax is the interpretation that the language you speak has a significant impact on how you can think. This article seems to argue it's the inverse relationship, which is not nearly as controversial.

English-speaking skiers have more words for "snow" than Inuktitut-speakers. It's the culture that shapes the language, not the language that shapes the mind.
by rafaelmn | 2025-05-21 07:10:07+00:00
LINQ methods are higher order functions ? LINQ syntax is just sugar and probably a design mistake (dead weight feature that I've only seen abused to implement monadic composition by insane people).

And Ruby doesn't even enter this conversation if we're talking about these kinds of optimizations - it's an order of magnitude away from what you're aiming from if you're unrolling sequence operations in C#.
by nagonago | 2025-05-21 07:10:29+00:00
I found the stylistic choice to write in all lowercase so jarring that I could barely focus on the content of the article itself.

Now I realize I am going against HN Guidelines by focusing on style over substance, so to tie this into the content of the article:

The lack of capital letters makes me feel lost in a sea of stream-of-consciousness, much like an infinite stream of Instagram reels. Capitalization makes everything more readable. In contrast, social media doesn't want to be readable, it just wants to be absorbed.

Of course language is always evolving, and we are right to sometimes eschew outdated conventions. However, capitalization exists for a good reason. Capital letters mark the beginning of a sentence more clearly than a simple period. They stick out and give your eyes something to latch onto when scanning the page. In addition, capitalizing proper nouns sets them apart, drawing attention to non-standard words.

Capitalization smooths the reading experience with structure and boundaries...which it sounds like the author could use a bit more of in their life.
by vaylian | 2025-05-21 07:10:59+00:00
This seems to be the key paragraph:

> Clearly things need to change. Almost everything needs to change. But the change that every team needs to make is dependent on the change that every other team needs to make. The product vision itself is intertwined and bidirectionally informed from the engineering, but if everyone in the organization sees every other part of the organization as a black-box abstraction layer, I don’t think a change like that is going to happen.

Basically: In order to create a really outstanding product, every member of an organisation needs to have some insight into what every other member of the organisation does.
by henrikschroder | 2025-05-21 07:11:24+00:00
No, you don't recover. Many men will get prostate cancer when they're old, but they'll most likely die from something else before that one becomes an issue.

But if we do scan and test and screen, a lot of men will find out they have it, become anxious about it and will want to do something about it, which leads to a lot of unnecessary treatments that decreases people's quality of life and wouldn't extend their lifespan anyway.
by jan_nan | 2025-05-21 07:11:25+00:00
toki! sina toki pona tawa mi. mi musi mute a!

mi kama sona pi toki pona kepeken lipu mute. ilo YouTube li suli tan ni. mi ken toki lili, taso mi ken ala sona e sona suli. mi wile e tenpo mute tan kama sona.

mi toki insa e ni: mi toki kepeken toki pona anu toki kepeken toki Inli kama toki pona.
by ringeryless | 2025-05-21 07:12:40+00:00
I suspect we will continue to have junior developers, albeit the tasks they are tasked with may change. One big issue is that it is expensive to have senior devs essentially correcting AI slop. Additionally, at current prompt pricing I suspect a junior dev is a better ROI still. A more likely result is increased expenditure due to trying to keep up with the AI hype, not a reduced team size.

I have yet to hear of a productive software development shop successfully reducing staff count due to LLM usage.
by rienbdj | 2025-05-21 07:13:00+00:00
I somewhat agree. Good game design requires a great idea, but more than that a lot of iteration. If you are working solo you need to hold the implementation and design in your head, which is incredibly difficult. Iteration is slow. You need someone to bounce ideas off of.

The best indie combo is a programmer plus a designer/artist in my opinion.

Alternatively, you can spend a very long time iterating solo. Most don’t have the runway for this.

This is also why big studios produce technically impressive games with mechanics seen thousands of times before. The production risk is much lower for “make spectacular assets” than for “come up with a novel game mechanic”.
by babushkaboi | 2025-05-21 07:13:43+00:00
This is brilliant. Energy self-sufficiency often associated with off-grid eccentricity,looks engineerable for city homes. Goes to show that the more "personal" our energy solutions become, the more they reflect institutional failure. Wonder how this scales and if it does what are the political implications?

Funnily enough back home along the equator, having a solar setup still is a social signal of luxury!
by andersmurphy | 2025-05-21 07:14:01+00:00
It's not. But, the fact that we could and it was straight forward still amazes me.

In our case the first time we needed to, we needed SSE and at the time there was no ring-jetty async interface (it's a long time ago so I'm forgetting the details) so we moved to aleph. Much later, we wanted to try out http-kit (self-indulgence) as we were operating behind a proxy anyway for performance reasons and it made a significant difference.

If we'd just started with http-kit that would have been fine. I guess it comes down to what features you need.

Also I 100% agree it's something ideally you would want to avoid a in the case of databases for example so much performance is left on the table because for some reason we want to be able to swap between SQLite, postgres and mySQL. Which in practice you never want to do.
by mrtksn | 2025-05-21 07:14:43+00:00
The reserve currency status makes all the difference on how much of all this you can do and under what conditions. That's the difference and that's why US had it so good for so long and now is due for such a large correction. Also, US is blessed with huge natural reserves, didn't actually waste it all on drugs and alcohol but did in fact created some of the best institutions in many areas so maybe it wouldn't be that bad if the politics don't make it bad.
by adityaathalye | 2025-05-21 07:15:46+00:00
> Why is this desirable?

Generally, yes one would not want to swap out their web server willy-nilly...

Yet, this is one of those "YAGNI in 99% of your use cases", but when that 1% use case arises, a server swap would be far more desirable than a whole framework shift.

So while self-indulgence can certainly be a motive (and why not? as long as everyone's having a good time), may I offer a few more charitable reasons for this:

- programming API ergonomics

- performance

- application runtime model (servlets -> embedded server)

- security model

- application server features (websockets, comet?)

- binary size

- server configuration niceties

etc...

That said, a developer only has flexibility if it is built in from the get go.

A counterfactual would be to consider the set of developers who have had to put in ugly hacks because they can't just rip the web server out of the framework of choice they are locked into.

(edit: bullet list formatting)
by jajko | 2025-05-21 07:15:57+00:00
Whats stopping you? You sound like jaded old fool who made some serious irreversible mistakes in their lives, and now just overflowing with regret and hate.

EU may be foolish in some aspects, I agree there, but life quality as in actual daily levels of stress, happiness, quality of life, quality and costs of basic services that take care of weak (which one day you will inevitably become too) is stellar and parsecs better what people in same position in life can rely on ie in US. Or crime level. Or free decent education.

But we have freedom, you don't like a place then trivially move, if your skills are worth its salt. You can spend rest of your life in society that has different priorities and thrive there, if you can.
by yakshaving_jgt | 2025-05-21 07:16:05+00:00
Right. And what I’m saying is that if “production grade” means all of these things, then it’s not a very meaningful qualifier.

My personal site is statically generated — it’s just a bunch of HTML files and some CSS. Do you not think it would be a bit pretentious of me to describe that as “production grade”?

If “production grade” simply means fit for purpose, then given the GP commenter’s reason for their initial web server swap, wouldn’t you say by definition that jetty is not production grade, since it doesn’t (didn’t?) support SSE?
by chickenbig | 2025-05-21 07:16:09+00:00
> Some claim that nuclear waste repositories are perfect (0 risk), and experts disagree.

Disagreement is natural in science as well as engineering. And absolutes are not. Framing nuclear waste disposal, or in fact any enterprise, in terms of finding total agreement on total safety is not useful.

> one of the criteria is waste and renewables win hands down

In what terms are we to assess the waste? By volume, likely number of people killed over the lifetime of the waste, maximum number killed? Do we count the waste from manufacturing as well?
by nopinsight | 2025-05-21 07:16:22+00:00
>> ...median urban household income...

You seem to miss the word 'disposable' when you cited the chart and table in [0] you linked to.

China's nominal GDP per capita is already on par with Malaysia's.

https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(nomi...

Does your analysis on the relative standards of living of China's and Malaysia's populations still stand?

It's been more than 10 years since I last visited China. I've been to Malaysia a couple of times not too long ago. From what I see from random social media clips of regular people, their urban standards of living do not differ much.
by Arnavion | 2025-05-21 07:16:53+00:00
A read from an unmapped page producing a different value than reading from that same page after it's mapped is an OS bug (*). If this was an already allocated page that had something written to it, reading from it would page it back in and then produce the actual content. If this was a new page and the OS contract was to provide zeroed pages, both the read before it was mapped and the read after it was mapped would produce zero.

What could happen is that the UB in that code could result in it being compiled in a way that makes the comparison non-deterministic.

(*): ... or alternatively, we're not talking about regular userspace program but a higher privilege layer that is doing direct unpaged access, but I assume that's not the case since you're talking about malloc.
by vidarh | 2025-05-21 07:17:02+00:00
Conversely, Ruby is often seen as facilitating DSL's, but none of it changes syntax, because the syntax as-is is flexible enough that redefining methods is sufficient. But everything still abides by the same syntactical rules.

The more orthogonal or flexible the language is, the less there tends to be a distinction between redefining syntactical elements and defining functions or methods.
by rusk | 2025-05-21 07:17:44+00:00
Depending on the jurisdiction you could be saving a whopper amount on taxes. Where I live the service tax could be anything up to 23% and the guys doing the work have to pay income tax. Insurance would also be a factor where I live too. There are massive savings if you can get a friend to do it or if somebody does it for cash (which is considered tax evasion)
Ask HN: How are you using LLMs for research on a library of journal articles?
by jopizio | 2025-05-21 07:18:37+00:00
Does anyone have a nice setup for using LLMs to perform queries on their personal library of papers? It seems there are countless ways to do this sort of thing nowadays, but I can imagine that some approaches are far superior in terms of cost, speed, accuracy, etc. Are you using any of the proprietary solutions and getting nice results? Any ways to minimize privacy concerns while keeping things simple, ideally plugging something into my Zotero library?
by vidarh | 2025-05-21 07:18:45+00:00
An API creates its own ad hoc rules too. They just don't change the grammar.

In languages where the grammar is sufficiently flexible, the distinction all but disappears, but even in languages where the grammar is rigid and API's stand out like a sore thumb, the API itself still creates a new rule-set that you need to learn.

You can choose to not call that a new language all you want, but the cognitive load is still there.
by GianFabien | 2025-05-21 07:18:54+00:00
I don't think we live in a simulation, but I'm not entirely sure either.

However, I do believe the media has created consensual hallucinations. It would appear that the majority unquestioningly choose one source for their "information" and completely disregard all other sources, especially those that don't conform to their preferred worldview.

Taking the red pill is painful. To apply critical thinking and suspend prior biases in the face of "conflicting" information is an unbearable alternative to the blue pill.
by Timon3 | 2025-05-21 07:19:39+00:00
> They're never going to manage to do that, just on a technical level

Why not? Given enough data, it's possible to train models to differentiate - especially since humans can pick up on the difference pretty well.

> Plus some users might want to legitimately upload things with AI-generated content in it

Excluding videos from training datasets doesn't mean excluding them from Youtube.
by guappa | 2025-05-21 07:19:45+00:00
They're not really technical. If you say you do reproducible builds and you don't it's just… dishonesty?

Like selling you no chemical fertilisers vegetables and then using them anyway.

It's hostile because they want you to use their binary build… which you don't know if it corresponds to the source they have online. And can't verify due to the binary blob.

edit: you trust the USA army to not ask any control in exchange for that money? Remember there's no reproducible builds really, and that installing via app store which is linked to an account is very easy to send vulnerable versions to journalists or whistleblowers.
by mleonhard | 2025-05-21 07:21:26+00:00
> without doing anything hugely inefficient, such as initializing the full buffer

Is this so inefficient? If your code is very sensitive to IO throughput, then it seems preferable to re-use buffers and pay the initialization once at startup.

Some years ago, I needed a buffer like this and one didn't exist, so I wrote one: https://crates.io/crates/fixed-buffer . I like that it's a plain struct with no type parameters.
by cess11 | 2025-05-21 07:21:49+00:00
An API is an interface, metaprogramming is a technique for building such interfaces by treating code as data. They aren't interchangeable concepts.

Metaprogramming comes in handy when ordinary programming results in a lot of complex, hence unmaintainable, code or can't achieve something due to how the language is implemented. It can vastly simplify how you express application logic, e.g. when interfacing with foreign programming languages such as SQL or generating code from data.

Any sane metaprogramming regime allows you to do something like macro expansion, i.e. look at the code the metaprogramming is compiled into in the current context.