skysight-inc/HackerNews huggingface dataset:
I won't comment too much on the politics of this as it's almost certainly going to incite a flame war, but I'd like to acknowledge that regardless of whether you think this was the right decision or not, we are now living with the consequences of that, which includes the grim reality that people that helped the United States are stranded in a hostile environment as a result of our policies. Some will survive/escape, many will die.

The Hazara will be persecuted. Women will be delegated back to being second class citizens. Some of these women who've never known what that was like, where they've gone to university and held real jobs and weren't just objects for child bearing, will go back to being derided and having no rights. Afghan men perhaps didn't do enough to fight for this, but the women certainly can't be held accountable here, but they'll be the ones to suffer the most.

I'm deeply saddened by what's happened and I can only hope that anyone that wants to get out can.
I get it. I’ve done enough systems program and reversed many more embedded systems, bug hunting for customers. There are still a lot of bad practices in the embedded world. It often exists outside of normal best practices. Many choices embedded devs make are just plain bad. Using outdated libraries and binaries from a decade or more ago, etc. it doesn’t have to be so bad. I haven’t found many embedded systems that weren’t really bad from a security perspective.

The way these systems get developed is a huge part of the problem. One team building hardware, another building the software no one communicating. Everyone hoping for the best. Frantic cleanup in software to make it all work on top of hardware thet can no longer change. I am sympathetic to the embedded developers position, but they still seem to exist in a different universe from modern software dev.

As a security practitioner I don’t blame the devs. I like to ask questions about how things got to be this way. How we can make it better. But make no mistake. A decade will pass and some embedded developer will still be linking some ancient binary or throwing together a bunch of sketchy CGI files that let an attacker scribble everywhere in memory. Embedded is like, the final frontier of software security :)

That’s my lens anyway :)
Incredible, but I don’t see a way to quickly figure out what the safe spot would be given any configuration of a room.
I disagree strongly with the authors assessment of the state of software development a few decades ago.

By the late 1960s, we had realised software development was hard. We put some good brains on the problem. Discussions between leading experts brought up several very important points, that we struggle with to this day:

- Naming things,

- Low coupling and high cohesion,

- Communication between developers,

- Communication with customers,

- Evolving prototypes,

- Avoiding the planning fallacy,

- Estimation,

- Support and understanding from upper management,

- and much, much more.

These are problems we struggle with today, but it's also the problems identified by and worked on by the experts of the late '60s into the mid '70s. We can learn a lot from what they discovered. (I sure have -- and I keep learning more!)

In fact, if I'm being a bit uncharitable, only three things truly seem to have changed since the late '60s:

- We have faster computers.

- We have virtual computers.

- We have higher level languages.

- We have version control.

Other than those four things, all advances in how to build software I've seen the last few decades are, in some sense, a rehash of what they found out early on.
CPI for the year is already past 4% and we still have 5 months to go.
Oh yeah? What are you going to do? Complain that you can’t run the root nameservers and try to blackhole my traffic but fail since I am DHCP configured by my ISP?

Sounds like a toothless threat.
Professional Chess is going along fine 20+ years after DeepBlue achievement, Kasparov hardly retired after that because "AI" could do better.

While Alpha's success was a surprise at the time, it was always known that it was just a matter of time before there was a unbeatable engine.

Achievements as a human has not diminished because a machine can do it better. Body building, weightlifting , running or shooting or pretty much any sport really as has not diminished despite there being better machines and even other biological species which can do better than us.

Every sport has classes for competition, male/female, seniors, under-XX, heavy weight etc. Serena loosing badly against 203rd ranked smoking male player ( albeit at 16th not yet at her peak ) did not reduce her pride in her game or reduces her achievements in anyway.
False. Not even the goverment can snoop on comms unless a judge orders it.
getting downvoted is no reason to keep to yourself :/ its people moderating the overall discussion, not trying to punish you or silence you or something (getting flagged is another matter ofc...)
A tiny color scheme generator
palette is a tiny color scheme generator that is very quick and simple to use.

website: https://palette.sany.one

source code: https://github.com/often/palette

hope you like it!
While not incompatible with ECS, the DOM and this renderer go all-in on the javascript event-loop. You would have to write your own run loop, which executes the systems on every frame (ideally creating a DAG and executing in parallel while possible), and leave the event loop behind, with all the niceties like `onClick`, to go full ECS. Otherwise you'll create some Frankenstein monster of part ECS, part event-loop, part declarative React.

Additionally, you can throw OOP in that mix as well, because Three.js has it's own whole OOP-style framework, that you're strapping declarative React on top of with this renderer. Reminds me of Jonathan Blow's talk on the end of civilization via endless layers of abstraction[1].

I really think, when it's ready, a Bevy[2]-style system either native or compiled to WASM with WebGPU will be ideal.

And while I'm airing opinions (forgive me), I think writing shaders now is like SQL 30 years ago. Developers left optimizing difficult--according to them--SQL to database administrators by abstracting it away into ORMs. If history is any indicator, I think we'll be having the same arguments on Hacker News 30 years from now about 3D frameworks vs writing shaders directly as we're having now about ORMs vs writing SQL directly.

[1] https://www.youtube.com/watch?v=pW-SOdj4Kkk

[2] https://bevyengine.org/
I don't think there's any day to day problem that needs more threads than you can get ahold of. This is especially true when you consider you can tune the JVM accordingly for the special cases.

That said, Loom is a neat tool and I expect new, more convenient patterns will pop up from Loom.

I'll be interested to see how Java tackles OS thread problems after Loom. We'll still live in a world where most(all?) GUIs frameworks revolve around single thread concurrency and GPU access is still single threaded. I don't see how the implicit threading of loom is going to work for that, and it also seems like a line in the sand has been drawn in the face of async/await. We'll just have to see what comes of it.
Couldn't Apache httpd just do all of that for you? mod_buffer provides request buffering, and mod_proxy_balancer provides load balancing capabilities.
One history book I read spent like an entire chapter on the topic of how to define The South.

Some people include Texas in their definition of The South and some don't. There are multiple states that people have this argument about. Humorously, Florida is another such state.
Or are a young adult who is saving for a house.
This seems alarmist and exaggerated. It doesn’t seem likely that the financial system is going to melt down due to the current capital gains tax and mild inflation.

To the extent that the current capital gains tax amounts to a wealth tax, it doesn’t seem like that big a deal.
Hey photojosh. I don't see your email. I think email is only for admins, can put in the about though. :)
Why is Afghanistan falling to the Taliban so fast
What Do Engineers Think About Technical Debt?
Its cool meeting you btw
Ask HN: Why Shadow DOM Instead of Canvas?
I’m curious why client-side Single Page Application frameworks like React & Angular use HTML & CSS for rendering instead of using the Canvas or WebGL APIs. It’s always seemed like Canvas is underutilized. And it seems like React/Angular style frameworks want to do everything in Typescript anyway.

Canvas - https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API

WebGL - https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API
No mention of .internal

https://datatracker.ietf.org/doc/html/draft-wkumari-dnsop-in...

(Though maybe it's not a great name for this particular application, it seems to make a lot of sense for enterprise level infrastructure)
> on the margins - the sort of people who might have 1-6 month's salary saved up for emergencies

TIL I'm on the margin.
You've clearly got some sort of axe to grind, but I suggest you take it somewhere else. We can debate whether this is the best use of the money or merely a good use of the money, but I'm amazed you've somehow managed to frame it as a bad thing.
Holding a diversified U.S. stock portfolio would have “helped” in every major market crash since 1929. (Perhaps at some point US stocks will end their 100 year run of success though.)

This is easily demonstrated by visiting https://www.portfoliovisualizer.com/ and observing that an investment in US stocks has always grown in value over sufficient time.
The uWSGI docs also say, in the section called "uWSGI developers are fu*!ing cowards": "why --thunder-lock is not the default when multiprocess + multithread is requested? This is a good question with a simple answer: we are cowards who only care about money."

Strange read.
I can't help but think of this scene in Westworld (spoiler S1) whenever GPT 3 (or earlier text prediction models) and this topic come up together: https://www.youtube.com/watch?v=ZnxJRYit44k
To me that would just make the news like a casino slot machine that mixes some dopamine spiking wins in with some cutting losses. The most dangerous kind of bullshit, is bullshit mixed with factual, respectable reporting since it makes the bullshit all the more believable.
It seems a bit weird to try to fight inequality by reducing regulations on banks and make it easier for them to blame consumers for the banks mistakes.

That argument would only make sense in the U.S.
I wished they announced this before their 50% off sale ended. I gave the trial a try and Photo Affinity Photo could not handle my RAW files with a few edits on it. It would crash on the default sample images after hiding and unhiding the layers a few times.
Although I agree with equal rights for men and women, I think that she is disregarding the fact that all types of people are being hurt by this.
I get a 'post can't be found'
If corporations have challenges keeping private data private, data should belong to the individual.

If corporations ”own” private data, they should be
held liable for breaches.
There are quite a few reasons:

1) Speed - it's possible that the money is needed ASAP (for instance, to put into a disappearing business opportunity or help pay for the house they are moving into.)

2) Simplicity - A lot of people hate complexity. They're willing to pay a premium for simplicity.

3) Lack of work/investment - A lot of pocket sales don't involve the same amount of fixing up the house as you would have to do to put it on the wider market. Less investment of cash and effort.

4) Ignorance - Their agent tells them they have an offer above asking. They say yes not knowing whether it was ever one the MLS.

That's just a few, there are others.
> In the few companies that do, the employees still move higher up the income tax brackets.

U.S. Tax brackets are adjusted upward every year to account for inflation.
They use just seven words out of ten so if you rearrange words properly you could get much better results.
That's essentially a DAG, isn't it?
Nope. It would have been bad faith if signups were restricted to one per person and his program generated alternate identities to sign up with.

> Bad Faith. The fraudulent deception of another person; the intentional or malicious refusal to perform some duty or contractual obligation.

He was not obligated not to apply as many times as he could. He was explicitly allowed to do so. He defrauded no one
I could not afford a Sony Walkman so I bought a broken one from a garage sale for $5 and it had a loose belt on the cassette gears. I had friends who had Stereo systems with a turn table record player and cassette recorders. They made me mix tapes.
Yes, that’s exactly what I meant. Thanks!
I was watching the Stuff Made Here Youtube channel (amazing channel btw) and was getting tempted by Shane's (guy running said channel) shop tour ([1]). Surely I could get tool X and operate it safely? But yeah .. I'd likely get myself maimed or worse. YouTube makes this sort of stuff seem so accessible, this is a reminder of the obvious .. power tools and moving parts can kill. As software people, we sometimes don't realize this. Stay safe y'all!

I'm also curious how one builds up strong manufacturing skills safely? I thought high school shop class no longer exists. Makerspaces sometimes have kind souls willing to help but I have seen people do dangerous things happen.

[1] just to be clear, the channel's author does talk about the importance of safety and doesn't promote recklessness. It is just me getting tempted to replicate.
If the attacker has direct access to the system, there is not a lot you can do to stop them getting in to that particular system. The main problem imo is that people would use the same password on secure and non secure services so some random forum login ends up with their icloud details exposed. Which 2FA solved.
Stop Using –./../../ While Importing Components, Instead Use This Method
TCO works if you write it properly:

fib(0) -> 0;
fib(1) -> 1;
fib(N) when is_integer(N), N >= 2
-> fib(N, 2, fib(0) + fib(1), fib(1)).
fib(N, N, Current, _Last) -> Current;
fib(N, I, Current, Last) ->
fib(N, I + 1, Current + Last, Current).

But if you write the same thing in C, it'll still blow your stack (of course, you can transform it into a loop), and you'll need to use bigints somehow, these numbers get big fast. It does use a lot of cpu though; takes not quite 10 seconds to run fib(1000000) on my Pentium G2020. Closed form is certainly faster, although I didn't benchmark it :D
Clojure is strongly, dynamically (as opposed to statically) typed.
It is quite easy, the original owner/ responsible PoC left long ago, or the email goes to an barely read inbox/ group or bounces completely.

If a task only recurs less frequently like say every 3-5 years, it is more likely to be forgotten it is the same whether it is individual or companies.
The article notes “ Inflation-adjusted compensation is down in most industries, but there is one notable exception: Leisure and hospitality. That industry's employers are scrambling to find workers, resulting in a 1.6% bump in pay and benefits since December 2019, according to Furman's analysis.”

So it really depends on your industry, there are plenty of poor working class who have hospitality jobs.
Those are compilers, then. Just like traditional C compilers emit intermediate files in assembly.
Maybe the GP meant "missed" as in "was wrong about".

[EDIT:] (I'm not saying it is; just that GP may think so.) [/EDIT]
3 Questions You Want to Know the Answer to in Your Market
Yeah, that example seems like not-very-good naming. The standard library uses a lot of terse names, but that's often because in a lot of cases the types could be almost anything. Might as well just call them a, b, and c.

There's another general principle that the length of the names of variables should scale with the size of the context in which they're meaningful. So, a 10,000 line program might use a four-or-five syllable name, whereas a one-line function that takes two arbitrary arguments can just call them "x" and "y".

I do agree that points-free style and terse code can be problematic. Haskell lets you use very high levels of abstraction, but if the next person to look at your code doesn't understand those abstractions it'll tend to look like gibberish. I think my own preference tends to be not to go out of my way to make the program extra terse unless there's some compelling reason, like avoiding a lot of repetition.

I think plain old low-level C code is (sometimes) easy to read just because it has a lot of visual cues like "for" loops that your brain can pattern match on to tell you what the general control flow is. In higher level code, you often end up with fewer visual cues. Which is good in the sense that it eliminates redundancy, but bad in the sense that it can take longer to understand what unfamiliar code actually does.

Something that seems to happen in Haskell more than other languages I've used is that sometimes you can kind of forget how the lower layers of abstraction actually work, and it sort of just does what you want as if by magic. For example, the Lens library let's you update data structures using a syntax similar to imperative languages, but behind the scenes it's actually constructing a new data structure from the root on down to the "edited" leaf, and (unlike in imperative languages generally) if something goes wrong you can just throw up your hands and error out, and the old data structure is still there. It's like the convenience of imperative languages, but with transactions practically for free. But the type signatures that the Lens library uses are fantastically complicated. Though I sort of understand what the Lens library does, I really have no idea how it works internally. And I've decided that that's actually fine.
Definitely has types.
Indeed,

but you wouldn't be thinking about instance sizes,

how many processes per instance and

wondering if you're hitting kernel limits with all the issues coming up
Remember the whole "power devoted to desalination" thing? all you need is the starting freshwater and then it can process its own from sea water.
Name is pretty good. But I suggest "cloudburst" -- both for the rain association, the obvious overlap with your business, and (I think) in some Asian languages it's associated or with or a euphemism for orgasm.
The model you are describing (incoming requests wait on a queue until a thread is ready to work on them) is a very simple form of async processing. Essentially, you are saving your context in some (relatively) small objects on the heap and waiting for the right time for that context to get picked up and processed. It's only a slight logical extension to allow you to suspend and resume multiple times in handling a single request.

As far as using a fixed pool goes: others have replied similarly but by doing that you are completely letting your CPU cores go to waste whenever you are waiting for any underlying IO. For many classes of applications, they will end up topping out at only a few percent CPU usage.
I'm with ya.

I use `.zz`.

It's short, easy to type, and in order for that to be assigned out, we'd need an entirely new country to be created (one that decided the other bazillion free CCTLDs are not to their liking). And like you say, I only run into a problem if I decide I want to access things from said country.

Would I do this in any professional setting? Absolutely not. For my own stuff at home? The risk is pretty minimal and the work involved in updating if I ever have to is not too bad.

DHCP automatically registers everything under <hostname>.zz, and I cname well-known things from <thing>.svc.zz to the appropriate hostname so I can hit, e.g., `blueiris.svc.zz` or `homeassistant.svc.zz`.

For SSL I just run my own CA.
>The inventor taught himself the basics of aeronautical engineering using YouTube and over two years built a single-seater helicopter using a car engine and scrap metal.

I am speaking without enough knowledge. But I have to wonder if this serves as a harsh criticism of Youtube. I do understand Youtube is a mixed bag of resources. More structured learning might have resulted in better understanding of material strengths, testing, and safety.

Inspite of the failure, I admire his pursuit and find the article inspirational.
You're going to have a lot of replies that simply say yes but they're different tools and they have different use cases.

The implicit threading of Loom works well for things like transparently dealing with IO without blocking an OS thread.

For things like posting back to a UI thread, you'll still need explicit handling not unlike async/await. It seems like Java is taking a scoped approach. https://wiki.openjdk.java.net/display/loom/Structured+Concur...
Same in parts of New England. It's not too unusual to lose power during storms (especially ice storms), but it's typically restored within a few hours.
that doesn't mean anything if you typo on ".arpa".

No DNS hardware is smart enough to know that you meant ".arpa" not ".apra" you actually typed in.

Typos are not really a valid argument, it can happen for any type of domain.
70% of the countries GDP were in counties Biden won. 90% of counties that voted for Trumps population shrunk since 2010.
Ask HN: Reflection questions for career / programming / life?
Strange question, but I attended a workshop where the facilitator asked the participants to think about "What's the best place you ever worked and why?". It struck me as something I've only implicitly pondered, and never explicitly. I was wondering if people had other questions that helped them reflect on their careers.

"What do you think makes a good programmer?"
"Who is the strongest engineer you know and what makes them that way?"
"What thing or things are stopping you from achieving the thing you want to achieve?"
It works the other way, the shooter position is fixed as well as your position. Your are allowed to place a finite amount of blockers to make your position safe. The video comment say that it is always possible to make your place safe with at most 16 blockers.
There is a link to the actual code used.
hey there! this is my project of close to two years. happy to answer any questions anyone might have!

if you haven't seen it, you might enjoy the Notcurses III hype video: https://www.youtube.com/watch?v=dcjkezf1ARY
Just ran into this. I had the video app motion running for a few weeks and had accumuluated several million small jpegs and wasn't paying attention to the updater which had stopped pushing images. Basically my webserver was timing out because of how I was searching for new files because there were too many files and I was using a bash script in a cron job that used ls. I found a workaround but it is cool to see this discussion.

Kinda reminds me of MS Excel when it first started defaulting to 1048576 rows. You could ctrl-downArrow to the bottom row, but if you ever tried to fill 1M rows it would hang.
The main issue I have seen with people that work in the medical field is when they value anecdote over data. Inevitably, some that work in the field are going to have a disproportionate outcome of some type that doesn't fit the data. So if several of your patients had a bad reaction to a vaccine, you might incorrectly assume that there is an issue.
I tried to get my company's IT department to put my latest project on a .internal domain. They wouldn't go for it, even though it can and will only be used by people internally.

They bound it to a sub domain of the company's main web site claiming that Microsoft (maybe something with Active Directory? Or Azure?) doesn't support any domains that you don't actually own.

I wouldn't be surprised if this is false because the people in charge of the domains think GoDaddy is awesome. Would love to hear an HN expert tell me if they're full of crap or not.
Crop_your_image, a customizable and handy Flutter package for “crop images” UI
Why is this downvoted? "Official" news may not be perfect but it is without doubt that most alternatives are way worse.