MurphyA/hacker-news huggingface dataset:
by worthless-trash | 2025-04-19 08:45:40+00:00
We can muse about it all day, the choice is not ours to make. I simply presented the reality that other succcessful open source projects exist that were also in 'early development state'.

There are positives and negatives to it, I'm not naive to the way the world works. People have free speech and the right to criticise the language, with or without access to the compiler and toolchain itself, you will never stop the tide of crazy.

I personally believe that you can do opensource with strong stewardship even in the face of lunacy, the sqlite contributions policy is a very good example of handling this.

Closed or open, Blow will do what he wants. Waiting for a time when jai is in an "good enough state" will not change any of the insanity that you've mentioned above.
Ask HN: Anyone else longing for fast, keyboard-first internal tools?
by shivekkhurana | 2025-04-19 08:46:22+00:00
I use GPT, Claude, and Discord extensively for work. My company handles bookkeeping and invoicing through online services. My banking is also done via a web app.

My main editor has Vim-like semantics, and I heavily rely on keyboard-driven workflows.

I understand that the web has eaten most business software because of its superior distribution model.

However, I’m curious to know what the broader tech community thinks about this situation.

Are there better models possible? Is anyone working on solutions that combine the reach of the web with the speed, efficiency, and local-first nature of traditional desktop software?
by Rayid | 2025-04-19 08:46:48+00:00
Hey HN!

I built a small project called DeadDrop – a tool for sharing files without needing logins or accounts. You just enter a name and a passkey, and your file is encrypted in the browser using AES-GCM. Only the encrypted file is uploaded. On the other side, anyone with the same name + key can retrieve and decrypt it client-side.

The server never sees the passkey or the raw file – it's fully privacy-first.

Use cases: quick transfers between devices, sharing sensitive files with collaborators, or just simple temp file drops without any tracking.

Would love your feedback or suggestions!

Link: https://deadrop.updo.in
by lloeki | 2025-04-19 08:47:01+00:00
This excerpt has resonated deeply:

But, parallel to this political phenomenon, we observe the disappearance of free time. Free space and free time are now just memories. The free time in question is not leisure as commonly understood. Apparent leisure still exists, and even this apparent leisure defends itself and becomes more widespread through legal measures and mechanical improvements against the conquest of hours by activity.

Workdays are measured and their hours counted by law. But I say that inner leisure, which is something entirely different from chronometric leisure, is being lost. We are losing that essential peace in the depths of our being, that priceless absence, during which the most delicate elements of life refresh and comfort themselves, during which being, in a way, cleanses itself of past and future, of present consciousness, of suspended obligations and ambushed expectations. No worry, no tomorrow, no internal pressure; but a kind of rest in absence, a beneficial vacancy, which returns the mind to its own freedom. It then concerns itself only with itself. It is freed from its duties toward practical knowledge and unburdened from the care of immediate things: it can produce pure formations like crystals. But now the rigor, tension, and rush of our modern existence disturb or squander this precious rest. Look within yourself and around you! The progress of insomnia is remarkable and follows exactly all other forms of progress.

How many people in the world now sleep only with synthetic sleep, and provide themselves with nothingness from the learned industry of organic chemistry! Perhaps new arrangements of more or less barbituric molecules will give us the meditation that existence increasingly forbids us from obtaining naturally. Pharmacology will someday offer us depth. But, in the meantime, fatigue and mental confusion are sometimes such that one naively finds oneself longing for Tahitis, paradises of simplicity and laziness, lives of slow and inexact form that we have never known. Primitives are unaware of the necessity of finely divided time.

There were no minutes or seconds for the ancients. Artists like Stevenson, like Gauguin, fled Europe and went to islands without clocks. Neither mail nor telephone harassed Plato. The train schedule did not rush Virgil. Descartes could lose himself in thought on the quays of Amsterdam. But our movements today are regulated by exact fractions of time. Even the twentieth of a second is beginning to be no longer negligible in certain domains of practice.

No doubt, the organism is admirable in its flexibility. It has so far resisted increasingly inhuman treatments, but, ultimately, will it always sustain this constraint.

- Le bilan de l'intelligence, Paul Valéry, 1935
by mort96 | 2025-04-19 08:48:15+00:00
Why wouldn't you want to explicitly number fields? Protocols evolve and get extended over time, making the numbering explicit ensures that there's no accidental backwards compat breakage from re-ordering fields. Implicit field numbers sounds like an excellent reason to not use ASN.1.

This shilling for an over-engineered 80s encoding ecosystem that nobody uses is really putting me off.
by pjmlp | 2025-04-19 08:49:05+00:00
That is by design, of course it doesn't work easily, people keep trying to fit a square peg into a round hole.

From the official NDK documentation.

"The NDK may not be appropriate for most novice Android programmers who need to use only Java code and framework APIs to develop their apps. However, the NDK can be useful for cases in which you need to do one or more of the following:

- Squeeze extra performance out of a device to achieve low latency or run computationally intensive applications, such as games or physics simulations.

- Reuse your own or other developers' C or C++ libraries. "

Anyone that keeps not understanding that point of view naturally run into walls that Android team has no plans to ever change.
by tauoverpi | 2025-04-19 08:49:28+00:00
I may seem overly negative but I don't like it when projects beg for stars. It will get one if it's interesting and that's for the reader to decide.

That aside, the suggestion to pin to a core should likely be anything above core 0 at least [1] as otherwise the results will be quite noisy. This might not matter as much for such a short running process but using other cores doesn't hurt.

[1]: https://manuel.bernhardt.io/posts/2023-11-16-core-pinning/
by krisoft | 2025-04-19 08:52:06+00:00
> Mmmm well my meatsuit can't easily make my own heart quiver the wrong way and kill me.

It very much can. Jump scares, deep grief are known to cause heart attacks. It is called stress cardiomyopathy. Or your meatsuit can indiredtly do that by ingesting the wrong chemicals.

> If you could make an intelligent process, what would it think of an operating system kernel

Idk. What do you think of your hypothalamus? It can make you unconscious at any time. It in fact makes you unconscious about once a day. Do you fear it? What if one day it won’t wake you up? Or what if it jacks up your internal body temperature and cooks you alive from the inside? It can do that!

Now you might say you don’t worry about that, because through your long life your hypothalamus proved to be reliable. It predictably does what it needs to do, to keep you alive. And you would be right. Your higher cognitive functions have a good working relationship with your lower level processes.

Similarly for an AGI to be inteligent it needs to have a good working relationship with the hardware it is running on. That means that if the kernel is temperamental and idk descheduling the higher level AGI process then the AGI will mallfunction and not appear that inteligent. Same as if you meet Albert Einstein while he is chemically put to sleep. He won’t appear inteligent at all! At best he will be just drooling there.

> Can you imagine an intelligent process in such a place, as static representation of data in ram?

Yes. You can’t? This is not really a convincing argument.

> It all sounds frankly ridiculous.

I think what you are doing is that you are looking at implementation details and feeling a disconnect between that and the possibility of inteligence. Do you feel the same ridiculousnes about a meatblob doing things and appearing inteligent?

> a computer couldn't spontaneously pick to go down a path that wasn't defined for it.

Can you?
by alxlaz | 2025-04-19 08:54:51+00:00
> Folk dances, however, were a whole thing with Stalinists (“culture that is national in form, and socialist in content”), so an outright ban would seem out of character.

Folk dances and culture in general were a whole thing with Stalinists, but authorities exerted a considerable degree of influence and a ban on some specific folk dances (or cultural manifestations), or on some specific aspects of them, wouldn't have been out of character at all.

Where I'm from, a whole range of folk dances, songs and theatre were banned not by name but under either a ban of the religious denominations that prominently practiced them or a blanket ban on public celebration of major Christian holidays, especially Christmas and Easter.

Folks dances, too, are kind of murky in this area. Perhaps one of the most widely-displayed folk dances of the Eastern Bloc in the communist era, a Romanian dance called "Căluș", retained some of its essential choreography, but was otherwise radically changed to drop its religious undertone, to the point where it was pretty much a different thing by the end of the sixties. Some of it was "recovered" in the eighties, when a peculiar for of protochronism began to permeate some official circles so doing the ancestors thing was cool again, but during the high Stalinist period the "old form" fell under a general repression of what was officially termed "religious mysticism". This led to an entirely peculiar situation where the dance was technically okay, kids learned something resembling it in school and danced it during official ceremonies at the city hall, but grown-ass adults who'd learned it from their parents (edit: not literally from their parents, the way it was taught was a whole thing and didn't help with the whole mysticism issue but anyway) and practised it outside official cultural institutions got rounded up.
by smarkov | 2025-04-19 08:55:08+00:00
People like to hate on PHP, but PHP provides you with all the tools you need to write a fully working backend, where as JS provides you with half-assed solutions for writing frontend, which is why we have 1000 frameworks and we still can't agree on how to write frontend code. Seriously, we don't even have a convention for writing a simple reusable component with vanilla JS, everyone makes up their own thing. Web components were supposed to be that, but they're a good example of what I meant by "half-assed", because they're ugly, verbose, clunky, don't really solve the right problems, and nobody likes writing them.
by radicalbyte | 2025-04-19 08:57:25+00:00
Fools, Dad's Army, 'Allo 'Allo, Red Dwarf, Men Behaving Badly, The IT Crowd, Father Ted, The Office, Blackadder, Fawlty Towers, Bottom, The Young Ones, The Thick Of It, Alan Partridge, Some Mothers Do Have 'em, Mr Bean, Yes Minister, The Inbetweeners... British (and Irish) comedy was the best in the world for three decades.
by namaria | 2025-04-19 08:58:55+00:00
I enjoy this blog, the articles are usually very well informed.

But this kind of grand theory in History is inherently flawed. There is a lot of irreducible complexity in History and trying to draw conclusions from sweeping low resolution panoramas is circular reasoning. It all depends on definitions and suffers from heavy survivorship bias.

> And it is quite clear from that evidence, that at the dawn of civilization, it was the least Fremen societies who tended to win the most.

This conclusion for example is simply not true. There is a mention of the Amorites overrunning Mesopotamia c. 2000 BCE. But there's evidence of several cycles of invasions, raiding, and take overs of established cities by nomads and pastoralist peoples just in the 1500 thousand years between the earliest evidence of writing and this Amorite wave. In fact, the political fabric that the Amorites impacted was itself a hybridization of early settled Sumerian polities and the nomadic/pastoralist Semitic peoples around it. It is a recurring theme that can be observed in stone engravings and the written record.

The dynamics can't be resolved in terms of whether civilized or nomadic peoples are stronger, mainly because the grouping is always arbitrary. It is more of a system of attractors in a sort of 'settled-nomadic' continuum in some phase space that people's life trajectories approach than a matter of easily distinguishable types that can be ranked.
by Tainnor | 2025-04-19 09:00:54+00:00
There is a lot of mathematics that can be used to analyse language. Phonetics is basically acoustics, phonology has things like optimality theory, for morphology you can use finite state machines, syntax uses formal grammars, statistics obviously plays a big role in certain areas, etc.

Both in the case of music and linguistics, there are people who argue (probably not wholly without merit) that looking at the mathematics too much is missing the point.
by kamray23 | 2025-04-19 09:01:20+00:00
Eh, most of the time you do have to publish it. MIT/BSD/Apache allows you not to, but most big projects are using LGPL or another share-alike license. With those, if you're making a project that you do publish (e.g. a commercial product that uses that library/language/etc.) you do kinda legally have to share that modified source code. It's of course different if you're scripting for your own sake, but the moment you publish anything using them you also have to publish your modified versions of libraries and other stuff.

I do agree with the "fork and make it better for you", but I also think it's common courtesy to throw up issues for the bugs or missing features you encounter, as well as pull requests. If for no other reason then as "prototypes" or "quick fixes" that others can cherry-pick into their own forks. They may get rejected, they may get closed, but you still don't have to sit there arguing about it since you have your own version. From a slightly Kantian angle you have your working version and you've now fulfilled your social duty by offering solutions to problems. You've got no need to campaign for the solutions if they get rejected.

It's virtuous and you get to ignore the github flame wars. There's really no downside beyond taking 5 minutes to be nice and at least put your solution out there. Also fulfills your reciprocal legal duty under LGPL and such.
by rwmj | 2025-04-19 09:01:49+00:00
Yes & yes. Even "worse", there's no memory protection between the application and the kernel so application bugs can and will trample over kernel structures.

The way you'd typically use this is either on isolated hardware - with a hardware watchdog to reboot it, and firewalls to protect the rest of the network - or in a VM where the trust boundary is between the guest and the hypervisor (as is true for all VMs).

Users of unikernels understand these risks / limitations, but judge that the improved performance or ability to do things beyond what is possible with the syscall API is worth it. It's definitely not for everyone.
by tinco | 2025-04-19 09:03:12+00:00
One of my more painful design mistakes happened in this sort of way when designing a system for recording inspections. I interviewed multiple inspectors and came up with a representation that was a little bit more elaborate than I would have hoped, but it at least captured all information I believed.

Then the company progressed and eventually we got to market fit and for two years the team and I were dealing with this increasingly burdensome complexity that we were not reaping any rewards of. Then one day we had enough and a colleague redesigned the system to ditch the extra complexity resulting in a much more elegant design that was easier to reason about.

That bliss continued for less than a year, until some customers asked for a particular report that we needed to generate based on a structure of the information that was now no longer present. We had to redesign it again, migrating was super painful and involved a temporary workaround that basically involved an extra branch on literally every piece of code that touched the inspection system.

In retrospect, I still don't know how I could have convinced the team that the complexity was something we needed when no customer required it for 3 years. Especially when the colleagues who took over that system from me had gained much more experience and expertise in the domain than I had since I had designed the original.

It would probably have been better if I had recorded the requirement that prompted the complexity, but had not actually implemented it as no customer had actual need for it at the time. Then we would not have had to deal with the complexity the first three years, and then evolved the product when the need arose.
by redeyedtreefrog | 2025-04-19 09:03:32+00:00
Pretty cool, though like others I had some slight technical issues. On Firefox mobile I got a black screen (that was yesterday, maybe it's been updated since then). Firefox desktop today it worked once I figured out that:

a) the keyboard doesn't work until after I click to fire, and this state resets itself every time I press f5 to restart the game (presumably a browser focus issue)

b) both up/down and w/s work for back and forward, but a and d don't work for left and right, you need to use the left/right arrows.

The combination of the two had me scratching my head for a little while!
by globular-toast | 2025-04-19 09:04:36+00:00
It doesn't have to be. You could live in a small place in a shit area miles from anything. But most people choose to allocate a large amount of their income to housing. This is what sets the pricing for housing in the good areas.

In other words, housing will always be a huge chunk of your income because it's hugely important. The only way it could be less is if it stopped mattering where you live. Then housing would be essentially a commodity and priced accordingly.

It's important to realise that money is an abstraction that we use to do trade, but it's not trade itself. Pricing is a reflection of market forces. You can't just magically change the price of housing and suddenly have more of everything else with no compromises. You have to change the market.

People always say "more housing*, but that's incredibly naive. More housing in the UK means tiny plots of land crammed in next to a dual carriageway in the middle of nowhere. People don't want to live there, but there's no choice. As long as there's inequality there will be high house prices. Turning housing into a commodity such that you can allocate only a small part of your income to it would take a lot more fundamental changes towards equality like vastly improved public transport, decentralisation of business, turning the most beautiful areas into national parks instead of estates owned by the rich etc.
by transpute | 2025-04-19 09:05:32+00:00
Looks like their $300/4GB/1U/4bay and $500/8GB/2U/7bay half-depth devices with AWS-Annapurna SoC can run either NAS or NVR Linux. Bluetooth in a rackable device is unusual. OS might be replaceable with mainline Debian.

https://github.com/NeccoNeko/UNVR-diy-os/blob/main/IMAGES.md
by reify | 2025-04-19 09:06:18+00:00
Not really steganography, there is no password needed to recover the message, its more like hidden subliminal messaging in two images only available to those using software that supports HDR.

steganography is fun. I used to sent my son christmas and birthday card images with a hidden messages, explaining what secret adventure we would be going on, usually the location of our fishing trip or an addition to a basic christmas present.

steganography with Steghide:

steghide embed -cf picture.jpg -ef secret.txt

enter password twice

extract message:

steghide extract -sf picture.jpg

enter password

hidden message appears in terminal
by wruza | 2025-04-19 09:07:03+00:00
Something is wrong with web developers culture, cause even in framework-free vanilla mode they cannot get rid of data localization and welding the data and "component" trees together irrepairably.

Rather than building a querySelector-able tree of elements to and monkey-patching mutiplexing nodes for syncing element counts, you invent the most bizarre ways to chain yourselves to the wall. For long time I couldn't understand what exactly drives this almost traumatic habit, and it's still a mystery.

For the interested, this is the outline I count as non-bizarre:

- make an html that draws your "form" with no values, but has ids/classes at the correct places

- singular updates are trivial with querySelector; write a few generic setters for strings, numbers, dates, visibility, disability, e.g. setDate(sel, date)

- sync array counts through cloning a child-template, which is d-hidden and locatable inside a querySelector-able container; make syncArray(array, parentSel, childSel) function

- fill new and update existing children through "<parent> :nth-child(n) <name>"

- update when your data changes

Data can change arbitrarily, doesn't require passing back and forth in any form. All you have to do is to update parts of your element tree based on your projections about affected areas.

And no, your forms are not so complex that you cannot track your changes or at least create functions that do the mass-ish work and update ui, so you don't have to. For all the forms you've done, the amount of work needed to ensure that updates are performed is amortized-comparable with all the learning cliffs you had to climb to turn updates into "automatic". Which itself is a lie basically, cause you still have to jump through hoops and know the pitfalls. The only difference is that rather than calling you inattentive, they now can call you stupid, cause you can't tell which useCrap section your code should go to.
by sweezyjeezy | 2025-04-19 09:07:52+00:00
Let U~Uniform(0,1) Let sensor target measurement be x, so A ~ (x + U), B ~ x or U with probability 0.5. We draw a from A and b from B, we want the estimator to minimise mean absolute error - the bayes optimal rule is the posterior median of x over the likelihood function of L(x | a, b).

Note that if a = 0 and b = 1 -> we KNOW b!=x because a is too small - there is no u with (u + 1) / 2 = 0. I'll skip the full calculation here, but basically if b could feasibly be correct its "atomic weight" ends up being as least as large as 0.5, so it is the posterior median, otherwise we know b is just noise, and the median is just a. So our estimator is

b if a in range [b/2, (b+1)/2]; a otherwise

This appears to do better than OPs solution running an experiment of 1M trials (MAE ~ 0.104 vs 0.116, I verify OPs numbers). The estimator to minimise the mean squared error (the maximum likelihood estimator) is more interesting - on the range a in [b/2, (b+1)/2] it becomes a nonlinear function of a of the form 1 / (1 + piecewise_linear(a)).
by b800h | 2025-04-19 09:09:53+00:00
When is this map from? 1955?

Essex accents had travelled well into Hertfordshire by the 1970s. Cockney has evaporated and the condensate largely landed in Essex and Hertfordshire.

Do people really speak Kentish in most of Kent? Or is it a mix of Modern Estuary, MLE (multicultural London English) and RP (received pronunciation)?

I know the author says that the map will always be wrong, I understand that, but this map is badly out of date.