skysight-inc/HackerNews huggingface dataset:
> Can you explain why such large numbers are required?

Absolutely.

Even if you start with 32 bits, you often have polygons with many sides. In the worst case, you are modeling a "circle" and have to increase your precision to enough level to be accurate (please note that nobody in the right mind in VLSI would ever draw a "circle"--however, you wind up with an "implied" one due to DRC, more down below ...)

The problem is that line sweep intersection checks in DRC require approximately 3n+a couple bits to differentiate intersections that may be close to degenerate or have multple intersections near to each other. So, if you start with 32-bit numbers, you require approximately 96 bits plus a little for your intermediate calculations. (See: Hobby -- "Practical segment intersection with finite precision output" -- I'll let people find their own copy of the paper so HN doesn't splatter some poor site that I link)

You would think that doesn't matter since VLSI tends to limit itself to rectilinear and 45 degree angles. Unfortunately life isn't that simple.

If you take a simple rectangle and say "Nothing can be within distance x", you get a slightly larger rectangle parallel to the sides. Easy. The problem is that you also wind up with an implied quarter circle (told you this would come back) near each corner. Not so easy.

Put those circles such that they overlap only very slightly and you may have segments that are pretty close to tangent. Super not easy. Unfortunately, VLSI design often consists of putting those metals such that they are riiiight at the limit of spacing. Consequently, your super-not-easy case also becomes a very common case. Ouch.

Of course, you could just move the rectangle completely outward so that you have squares at the corners. However, that gives up a non-trivial amount of area that most places aren't willing to concede.

There is a reason why Siemens (nee Mentor) Calibre is so egregiously expensive.
for a minute there I thought this was posted by DJB himself
This is a really nice combo, I agree. But… I think it’s safe to say it’ll probably remain niche forever.

I wish there were more stacks like Clojure/Script.

While I’m wishing, I’d love to have a modern ML with simple tooling, a good stdlib like Go (with a high performance http server baked in), and a good full stack story that doesn’t produce a 1MB “hello world”, and doesn’t require 1K dependencies. Does anyone know what the closest thing to this is these days?
> I've been saying it for years - the hard part is not "server side" vs "client side", it's making sure the state stays consistent between those 2 buckets.
If you want to remove the hell from your life, you need to be all in on one or the other.

A full rendered web page is the server state displayed on the client. Except of removing all dynamic in page interaction, you are ALWAYS in risk for de-synched state between client and server. There is no single side state, as long as someone sees your server sate.
The requirement for structured programs dates back from the asm.js hack. Both relooper and stackifier are still workarounds. CPUs do not require structure programs at all. Unless there is a really good reason this still looks a hack driven by limitations of the underlying code generation. I understand that some compilation passes are easier/cheaper with structured control. But then... why are not LLVM and GCC enforcing them as well (at least their roadmaps)?
I don't think there's a definite one-size-fits-all answer to that, it will depend on what's most enjoyable to you, what jobs you'll be applying to etc. My personal recommendation (which is based on my n=1 subjective experience) is:

- python DS ecosystem; fundamentals: numpy pandas matplotlib seaborn sklearn scipy. From there you can branch in many different directions - interactive visualization libraries (e.g. plotly / bokeh), stats / probability stuff (statsmodels / pymc3), NLP, sklearn addons, ML explainability, ...

- solid "software engineering" - writing good code, unit tests, documentation, logging, basics of deploying a service

- TF / pytorch if you want to get into the deep learning hype

Best of luck, and more importantly, enjoy!
People vastly underestimate manual processes.

A properly optimised, trimmed, practiced manual process can be executed much more cheaply than most people think.

What's the point? Flexibility. Humans are amazing at adapting to circumstances that invalidate portions of the process. In a fast-changing world, this is critical.

Really solid automation is notoriously expensive to set up, and about as expensive to change when the circumstances fundamentally change. When, not if. (You can usually still scrape by on an old automated process that's no longer relevant, but you're leaving oodles of value on the floor.)

Why do people underestimate manual processes? They usually don't know how to optimise them (hint: it involves restructuring things you think of as outside the process in question) so they associate manual with inefficient and expensive.

When you have a time-tested optimised manual process, it might not even make economic sense to automate it. But if it does, you don't have to do it all at once. You can start by automating the dumbest, simplest, most tedious, and most stable step of the process first.

Then you can continue to introduce automated steps only for as long as it makes economic sense to do so.

----

Another common complaint about manual processes is that they invite mistakes. I have three things to say on that:

- There are ways to mistake-proof manual processes. "Poka-yoke" is a good starting word for googling.

- Automated processes make mistakes too. The difference is that an automated process makes mistakes more consistently. (Which may or may not be a good thing, depending on context.)

- Manual processes can avoid mistakes that are about to happen. In fact, I'd argue this happens at about the same rate as mistakes are made.
While pretty shitty for the people affected, I think this [and the many similar virtue-signaling stunts we've seen by big US global internet corporations] is good for the internet, in the long run.

Far too few companies monopolising far too much of our online life at the moment. Hopefully, now, more people will realise that they shouldn't trust their time, their data and, in some instances their careers, to to the capricious whims of a few big US corporations. And we'll see more growth in decentralised alternatives.

As an aside; I find it a bit sad to see how many HN-ers are tacitly supporting these blanket bans on all Russians, issued by various websites.

I wonder if you'd still think it OK if such sites announced they were banning all Jews, Moslems or blacks, due to the actions of some government of that extraction?
If that's true, why doesn't Nintendo allow emulators by third party developers on their platform's version of the app store?
Why I'm Using Wave Function Collapse for Procedural Terrain
Latin-x. Which of course makes it super hard to apply to all the other gendered words in Spanish. At least make it a different vowel like latini.
This is a bad reason to turn it off. Knowing how to spell isn’t enough!
Oh, migration is well underway; Russia's making damn sure of it.

As for fixing the job market, we need to raise the status of the low-status jobs rather than consider people as commodities where you can just get another source rather than solving the supply issues. Importing people straight into the lower classes will just grow the lower classes, with all the downsides that has to offer; crime, prostitution, political or religious extremism, etc.

One thing at the time: Make working in a nursing home an acceptable occupation rather than something that's done by the most desperate. Service personel should be valued, rather than threatened or constantly pushed down. When the guy who pays someone else to mow his lawn stops looking down on the guy who mows it, that's when we can start considering attracting foreign labour to fill positions. If it's still a problem at that point.
i just go with mail carrier and keep it simple
I find writing isolated unit tests tough when using htmx over the wire frameworks like HTMX and HotWire. The options are to mock the server and test the page, which is not exactly unit test.

So I am curious is there an easy way to write unit tests for htmx bits of the page?
Ah, someone who has discovered that writing in tiny paragraphs makes for addictive reading even if the substance is minimal.
> It's nice to think we should stop progressing as a society

> it would be wonderful if we could all work exactly the jobs we want or not work at all

> honesty, treating people fairly, working hard

> all three [branches of government] become full of corrupted, greedy, or uninformed people

> Preferably we have more people making informed intelligent and reasonable decisions than not

This is a wild response to me. I don't see where I suggested (or suggested giving up) any of these things.
I just used it for my resignation letter. Worked perfectly; thanks!
They're talking about the company HackerRank hired to do DMCA takedowns, Worthit Solutions.
WiFi is extremely power-hungry and most devices with WiFi are battery-operated (phones, tablets) - an arbitrary random mesh would only lead to dead batteries in a matter of hours.
It would be naive to think 100,000 of the most elite practitioners at the company that became the verb for what it does working on the problem for 20 years would be able to keep up.
Took long enough for blackhat SEOs to figure out HN is a goldmine for backlinks.
“One” – Procedural planet with music in 256 bytes – 1st @ “Revision 2022”
zooming rotating animation of an earth like textured planet with music, all generated from 256 bytes of x86 binary code for MS Dos, written in plain assembler

Youtube : https://www.youtube.com/watch?v=iJo6UudSY1I
Commented Source : https://hellmood.111mb.de//one.zip
I think that have a working/unofficial? relationship with some people from Fedora. I remember announcements some time ago that everything is working with it. Also given Fedora's upstream first approach that was a very good choice of them.
SND: Crafted UI sound assets for UX developers
I can't imagine why reaching Ukrainians is a motivation; Ukraine appears to be on plane wrt current events and the state of the world. Aside from the traditional Eurocentric sources they've been accustomed to consuming and which remains available to them, Starlink has pumped 5000 terminals into Ukraine, so Russia can't cut them off unless it starts destroying satellites.

Russians, however, are clearing living in opposite world. Intercepted calls to family from 'special operation' soldiers show that Russians have no clue at all what has been happening. They argue with their soldiers about the state of the invasion, astonished and confused when told that Ukraine hasn't been overrun and denazified yet.

The only solution here is time. A year from now and 100,000 dead Russian solders will eventually start raising questions in the minds of these people. Until then any attempt to convey reality to them, via shortwave or otherwise, will be dismissed as enemy propaganda. They're that far gone.
Yes, our current total reliance on growth has this nasty self-perpetuating quality that will make the transistion to a post-growth economy rather tricky. Since infinite growth isn't possible, we're going to have to grapple with these issues eventually.
Love to see the open contempt even Nintendo has for Nintendo fans. Makes me secure in the decision never to partake in any of their childish products.
Most people never bother to change the default behavior of the software they use. This change will influence the behavior of billions of people around the world and meaningfully change our reality, so it's not as simple as just disabling the feature on your own computer.
> It seems that you consider employers keeping track of employee race, ethnicity, and gender data discriminatory.

That's not what I understood from their comment.

I think a lot of controversy on the topic stems from people defining racism differently. From how I remember - racism was initially about categorically treating people differently depending on their race. That still exists in some areas/workplaces etc but has been mostly solved from a societal viewpoint.

What were now arguing about as racism is no longer the categorical mistreatment/favoritism and instead what people end up with, while ignoring the way how we got there - and that issue is indeed incredibly hard to solve.

Fwiw, I agree with the initial statement by them: statistics around race are always inherently racism and don't really show issues unless you drill down into the localities (checking racial representation in localities, as there is where the initial racism continues to exist).

The other issues have to be solved differently, as they're not about race and more about how that person got into that position (which might be caused from the initial racism, but that's unlikely to be the reason limiting them today)
I'm really horrible at hardware, so...

> I've been meaning to write a tremendous header for compiler & compiler version identification.

I doubt whether a "OS zoo" would be of great help for this - many old OSes can run a modern gcc; it is the system calls and terminal/pty/streams behaviours that can be very different (QNX is a great example of this)

Moreover (cf. the great musl preprocessor debate (https://news.ycombinator.com/item?id=31067059) - for me as a "portable programmer" this kind of macro is rather less useful (though sometimes useful as a quick fix) than testing for individual features, as that will make the program compile and work on future, or unknown ancient architectures/compilers (at least in theory....)
These all sound like convenience factors. I don't see why my identity with one provider has to be tied with my identity from another provider at all. Having a crypto wallet (for this purpose) is just certificates with extra steps (quite literally, as it's cryptography).
I think one key aspect is lost here. A thing automation does is compartmentalise, abstract and remove the need for in-depth understanding by/for everyone involved.

It's the reason why container images are the latest form of packaging for certain types of applications: it streamlines the interfaces towards applications even more. Configuration is usually done with environment variables, or even abstracted further with something like helm charts to deploy on an even more abstracted platform like Kubernetes.

Things like configuration, temporary and persistent/temporary storage, health checks, services/ports, ... are all presented with a unified interface.
Unless there is an alternative, benchmarking the software that you are going to use seems pretty reasonable.
Engaging trolls gives them only more power. But for the sake of hope in good faith, I can try.

Evangelicals could resort to extreme measures (violence, unwanted proselytization, bad faith arguments, etc.) If you ask them to shut up, they'll just not do so or leave entirely.

This is just a feature you could turn off. The rest of Docs would still be usable.

Yall are really getting inflamed over nothing. There are better ways to use your energy. You can just turn the feature off or not use the product. Comparing this to evangelicism dilutes the harm actually caused by evangelicals.
They solve different problems.

Alpine is about defining in-browser behaviours in a nice, simple, declarative way.

HTMX is about defining data loading and brower-server interactions in a nice, simple, declarative way.

The author of HTMX have often suggested using HTMX and Alpine together for this very reason, they work very well together.
Doesn't this filter the submission itself, hiding the story completely? Rather than just hiding the "In Rust" part of the titles.
How on Earth does the blogger have only 1GB of iMessage data since 2009?

Mine gets bloated with images and videos to multi gigabytes in days, and it's unlikely that it's used only for text for 13 years. (I mean, it's either never used at all, or used for all sorts of media not just text, and since it has been used, it should be the latter)

Even if the actual media isn't stored in the database, all the metadata for all those messages should exceed 1GB IMO.
It is widely accepted that speech can be used to inflict emotional or psychological abuse.

You're very concentrated on people simply being "offended", as if the law can be used to prosecute you for once calling someone an idiot. It can't as far as I'm aware, and very few people want that.

Speech can be harmful if it deliberately and consciously exploits or invokes trauma, undermines identity, or inflicts significant anxiety, depression or PTSD. Intimidation and harassment are often carried out via speech. It is illegal in most states if carried out on the basis of race, religion, colour or sexual orientation.

Again, my point is that there is a grey area around the line where speech becomes harmful and ought to be censored. The problem is that we don't have a coherent definition to determine where exactly the lines is in that grey area, and John Stuart Mill didn't either.
I make a difference between website and webapp.

a website is a collection of webpages, where the maingoal is to display some mostly static information (i.e. an article)

a webapp has the main goal of managing and reacting to a complex, non trivial user state.

website, go server side all in, do not add the tax of client side rendering / hydration to the frontend. if necessary embed small enclosed client side webapps on the frontend.

webapp, go client side all in, screw server side rendering.

yes, you can marry website and webapp via server side rendering / hydration. but the cost to make this really really fast and spiralling complexity and edge cases, does not make it worth it.

choose the right tool for the job, and just because it has web** in its name, does not make it automatically a job for react/angularjs/newest-coolest-framework
Self host all your code
Nice to see the mechanical designs getting published.

Has anyone yet designed an adapter board for fitting rpi compute module 4 in the case?
A practice I've found valuable in the past is the script command.

SCRIPT(1) script - make typescript of terminal session

Manually run through a process over and over, checking the
intermediate outcomes until its right and tight. Then take the last
iteration from script and make that into a shell script. After testing
an tweaking few more times now make that portable in a system language
of your choice. A kludge I frequently used was just copy it to a Perl
file as back-quoted script lines, then replace each with a proper
statement, same thing works with python calling process/system/exec
things that return proper exit values.

Dirty, mechanical, industrial programming. No elegance in sight. But
it works reliably in most cases and leaves an understandable trail for
debug.
Something I've been kind of playing with the idea of is setting up an Low Power FM[1] station to reach my local community. Since around 2000 the FCC has let people get licenses for a non-commercial 1-100W FM radio station. Some of these have some really interesting formats; one lets listeners call in and leave a voicemail describing their dreams. If it's interesting, they'll air it.

[1]: https://www.fcc.gov/media/radio/lpfm
Robots and indoor farming can help save water and grow crops year round
If you're interested in H3, you might also be interested in S2: https://s2geometry.io/
Maybe the reason only noisy nerds pay for emulation is because for everyone else Nintendo's services are not as convenient as emulation but for free.
Regardless of backend, the majority of frontend tooling is in Node.
hmm, now I suspect Google may be purchasing carbon offsets and piping the extra C02 into people's houses.
One of the major benefits of Rust is that it isn't garbage collected. I'm not sure of the current status of GC support in WASM, but it used to mean that to compile something like Go to WASM also meant including a full GC implementation in the WASM code, not only bloating it but complicating implementation etc.
Better be true this time, because you have been forgiven before, haven't you?
Right?? People on this thread are blowing up this issue to hyperbolic proportions, while issues of those proportions actually exist.

Makes me sad.
Being used server side JS since before NodeJS came along on JVM. I would say your assessment is correct (input validation) around that time. However React, Vue, Preact, Svelt, SolidJS (not to mention web components) changed that. We now have a group of people ONLY associated html rendering with those type of frameworks and components. So HTML rendering on the server side is pivoted to cater to those type of front end developer with 'Hydration'. The EJS templating type of rendering has being phased out. It is not good or bad, it is catering to what developers are use to.
5. Quit and do something actually worthwhile for education with whatever sum you earned from this blend of entitlement, carelessness and greed.
This shows it pretty unequivocally: HackerRank are nothing but scoundrels. The CEO playing nice in this thread is laughable.
Just like in search, google thinks they know better what you need ;)
I'm not sure that figuring out who among them you chat most frequently with constitutes "surprising facts about the people you text along the way," I was expecting some lurid metadata leakage not exposed through the UI and left feeling disappointed and a bit clickbaited.
Did you ever consider ECC Memory support?
This would make SOHO workstations and storage appliances interesting to build with your board...
I think OP was pointing out that this was an apple to oranges comparison—in that the comparison ends up being of little use due to poor rigor configuring each test case.
https://webassembly.org/roadmap/

I fear they will run out of gas before the interesting features there are completed...
I agree that defaults matter, and I agree that this is an attempt to shape culture.

I don't agree that it's authoritarian, because if you don't like it you can turn it off. It's no more authoritarian than opt-in-by-default (aka opt-out) for organ donation that some countries do; i.e. not authoritarian.
These are interesting books on decision making under uncertainty. The author is very aggressive, but the books are interesting.

https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb#Incerto
Ask HN: What were your interview experiences like at big tech companies?
Working with Kubernetes API
It's easy to server-side render Next.js apps, but usually they still have to talk to a backend. I don't think Next.js' API routes are good for this, especially if you need messages queues, cron jobs, etc. Now you have three distinct parts, client-side rendering, server-side rendering and the API, usually all communicating via JSON.

Traditionaly with PHP, C#, Ruby, Elixir, etc, your backend and frontend was tightly coupled, your code has complete access to backend resources, and the view/template would map the state to a HTML document.

Now, for the sake of interactivity, the view has effectively moved from the backend to the frontend with the introduction of SSR/SPA, JSON everywhere and code duplication so that they can all talk and understand each other. It's cool when it works, but it is easily at least 3x the amount of work.

There is of course the argument of "just write both the client and server in JS/TS and use a monorepo", that brings its own challenges. Limiting the backend stack to what browsers support is not great, especially when Node.js is single-threaded with cooperative scheduling. No, lambda functions don't solve this entirely, and they're freaking expensive for CPU time. Honsetly, other ecosystems have it so much simpler IMO, even if it isn't as flashy.

I say all this as a svelte developer, guilty.
Surprised to see the prebuilt laptops come with windows. I was expecting Ubuntu or some other mainstream Linux distro.

I assume a large segment of users install Linux? How does the trackpad experience compare to macOS?