skysight-inc/HackerNews huggingface dataset:
You can make a tagged union in any language, and that can often be useful, but when it is a standard part of the language you prevent any accidental cases of:

1. failing to check for sigils, because nobody uses a sigil when you have sum types. This would have prevented a famous exploit in SUDO a couple years back where someone forgot to check for the special negative value on an input parameter.

2. Eliminating null pointer exceptions or anything similar. You can't forget to check, you can still choose to have this kind of error, but you have to do it explicitly.

Consider something like a function to open and give you back a file handle. In many languages such a function will return a pointer to a file, or null if there is a failure, or perhaps throw an exception if there is a failure. If you neglect to check for null, or forget to handle the exception, you have a problem. With sum types, the natural thing is to return something like a Result type, which is EITHER a file, or an error. And you have to check which it is, to get the File out.
Tell HN: Cannot Login to Heroku
The Heroku dashboard is down for my project and team.
Scanning and tracking networks sounds like a fun thing, I wonder why I hadn't considered it before. I can't find any app for doing this in Android, does anyone have something like this they know of?
> The compiler helps a lot with its useful error messages.

As someone trying very hard to love Rust this is just simply not the case. It takes the shortest path to most answers. The most trivial example where the compiler becomes less helpful is a self-balancing binary tree. It will constantly suggest explicit lifetimes and other magic when in reality you probably want `Box<Rc<..>>`. It will suggest Boxing for recursive types...but that's about the end of it. In many cases you're better off knowing what to do. But the problem is knowing what to do requires you to have done what you need...and hence the Rust Ouroboros is born.

The nice thing about unsafe code (C, for example) is the cognitive overhead is initially very low. That allows you to get an idea down and then worry about stuff later. Of course, if you have a gun to your head from management you never get to the "worry about stuff later" stage and introduce all sorts of nasty bugs. Rust frontloads all of this making it sometimes very difficult to use without having everything already thought out way ahead of time. Both a benefit and a curse.
2023 Global Cloud Threat Cloud Attacks Are Fast
Sysdig’s 2nd annual Global Cloud Threat Report distills the research efforts of the Threat Research Team into insights and advice about the rapidly evolving cloud threat landscape.

This year’s key takeaways:

1. Cloud attacks are lightning fast, averaging 10 minutes from access to impact.

2. Attackers are “living off the air” by weaponizing cloud automation and native services.

3. 10% of advanced supply chain threats are undetectable without runtime analysis.
Python is one of my least favorite languages and I avoid it wherever I can. I agree with several of the criticisms here, but I disagree with this part:

> The problem with Python is of course that it is an interpreted language with lazy evaluation

That isn't "the problem" with Python. There's nothing wrong with these sorts of languages. However, it does limit the sorts of problems the language is suited for, and I do see places where Python was used where another language would have produced far better results.

Perhaps using Python inappropriately leads to some thinking that the fault is with the language?
I have developed insanely complicated software with Python that works pretty well.

If you expect to find Java or C in Python you are looking at the wrong place.
I switched to https://controld.com/free-dns

Can also do DNS adblock! :)
Two different questions.

> Is Prompt Engineering a Thing?

Yes, it's a dumb name for the skill of modifying your prompts and questions to the LLM in a way that produces better results than if you just asked for what you wanted plainly. As language models get better, this might become obsolete.

> I'm trying to research the subject but I don't see much evidence that companies are racing to hire prompt engineers.

Because it's not really a job. Think of it like using the Google search engine - being able to search well is something you can get better at but being a "Google search-er" isn't a career or a job you'll see openings for.
OneDrive hijacking your file system

Cortana interrupting

Ads for Games on the start menu

Rage Bait news in the start menu.

Insistence on using Edge

---

No you can't uninstall these and make the problem go away. It requires linux tier skills to figure out how to uninstall edge. But worse than linux tier, you must keep disabling things in the registry since the updates reenable.
Depends what you are doing, you might have 0.0 lines of unsafe, or you might be doing some custom SIMD string parsing code and its 100% unsafe. Or anywhere in between.
Attestation lumped in with their MiTM attacks does make Cloudflare a large threat to user freedom.
This is honestly such a tone-deaf answer. At the end of the day, users don't care about the purity of adherence to some far-down technical principles or details. As a product leader, you should task your team to solve real user problems and not spend literal years arguing about EDNS.

Truly, just imagine the user story:

"I can't access this website."

"No worries! That is by design, because the protocol response returned to CF is illegal, and the server simply propagates the error back to you. It would be impure for CF to modify the response in-flight to fix this for you."

"?? I do not care. I am talking to CF, why can't CF just fix the issue?"
What can I do with this being open source if I cant use it for a competing service?
Run an inhouse instance?
I wonder how RHEL will handle this in the future.
Did NVIDIA's ascent to a 1T company result primarily from their substantial software investments, or is there another element that AMD needs to focus on to achieve similar recognition and adoption in the realm of GPU compute?
It's a shame that circuit simulators, especially those derived from SPICE, have tended toward closed-source. It's nice that there are several free-as-in-beer options available, but a good lesson in the consequences of permissive open-source licenses. SPICE predates copyleft licensing, so software that was once open has disappeared into proprietary versions.

LTspice (sponsored by Analog Devices) is closed-source.
The recently-released QSpice (sponsored by Qorvo) also closed-source.
QucsStudio was taken closed-source by Qucs' original author, and he's not commented on his intentions in this decision.

Big companies typically open-source software when it's not part of their strategic business value, and offers community engagement benefits and good press. LTspice is kind of an advertisement for AD's chips. AD and Qorvo aren't remotely in the software and EDA business, so their decision to keep them closed is even more puzzling, but I guess the instinct of hardware companies is guard everything.
In at least my bubble of the US (Republican ~40yr old family members), there's starting to be some grumbling along the same lines, too.

Although I don't usually think of the U.S. as particularly generous to the elderly, social security and Medicare spend ~$2 trillion of the $6.3 trillion federal budget. I've heard complaints that it's squeezing the young too hard to pay for (increasingly longer & sicker) retirement for the old.

I don't understand the alternatives well enough to have a strong personal opinion, though.
I'm curious if a linter + the new C23 annotation syntax could be used for a similar purpose in C?

EDIT: I'm rate limited. If we assume an `[[unsafe]]` attribute would only apply to things like pointer arithmetic and unchecked array access (not lifetimes), could such a linter exist?
Hikikomori is a japanese expression of "acute social withdrawal", which is a global phenomenon. The US is encountering it, as well as europe. It is also a mostly male phenomenon, with young men finding their roles in society increasingly unnecessary. Without the motivation to provide for a family that they don't have, men become depressed and withdraw from society. There is a direct relationship between acute social withdrawal and falling birth rates in the developed world
That's just std::optional<> vs std::string, isn't it?
Shut-in would be more accurate, NEET is basically unemployed. There's overlap sure but someone on a job hunt is a bit different than someone who doesn't leave their home.
The article is about a Mac Mini. Those machines are mains powered, not battery powered.
Considering computer users, in the modern sense, have only been around for around 60 years, this is plausibly not hyperbole.
Yeah, I'm imagining trying to push that sort of thing out into the Javascript world, and maybe your model of Javascript programmers is a lot different than mine, but I don't see this going terribly well.

In the Javascript world's defense, I don't see this as a practical solution in very many languages at all. I don't think I can name any language that doesn't have a compiler-level enforced definition of "pure function" somehow where its programmers will across-the-board reliably know what a "pure function" is.

Much as I hate to lick HN's boots and inflate the already substantial ego we can have here sometimes, do remember that HN is generally populated by the upper echelon of programmers and there's plenty of people out there who would have no idea what this means. I can think of several coworkers over the years. This isn't even an insult in the sense you might think; not everyone programming is necessarily a "programmer" I expect to be super knowledgable about programming. I'm having a major issue right now at work where I've got a data scientist sort of pushed into doing even just a bit of "programming work" interacting with an engineering organization and it has been a freaking nightmare, and I can't even really complain because while they are wielding Python, programming is really just a side task in the world of data analysis. They may be able to program in Python but they have no idea about performance, super focused understandings of optimizations (at best, sometimes it's just zippo), an incredibly surface level understanding of Python syntax, etc. And why not? It's not actually what we're paying them for.
A dating app is not a delivery service, it’s lead generation. The divide in behavior along the gender line is explained as actors behaving rationally in a free market. If you have many options available to you (and you don’t see who you are competing against), you will naturally only select the top X%. Conversely, if you have a low number of potential matches, you will cast a wider net because your are just trying to maximize options available to you.

In a heterosexual dating scene, there are also safety issues that women face which I am not qualified to comment on, but it should be acknowledged. It is silly to assume that this has no effect on who she chooses to match with. I’m sure there are signals that she recognizes, consciously or otherwise, that influence her decision to swipe right in the first place.

The biggest elephant in the room relates to the fact that people who are objectively poor partners will be overrepresented on these platforms. People who are violent, unstable, hair-triggered, poor communicators, serial liars, or anyone who exhibits anti-social tendencies will likely keep coming back to the app after their previous matches inevitably decide they are undesirable. Because they often lack the introspection to identify that they themselves might be the problem (or are just exceptionally shitty and know this but don’t care), they will continue to poison this market and ruin it for everyone. The app provider doesn’t care to solve this because their job is to serve matches (in fact there exists a perverse incentive to not match people well so they keep coming back, but I have no evidence they are acting on this). This brings up ethical questions if we wanted to de-platform toxic people. Who decides this? Do we survey matches that did not work out and ban them if they meet enough poor feedback? How long do we ban them? Do we weight toxicity ratings given as a function of how toxic the rater has been rated themselves? As callous as it is, I partially understand why dating apps do not tackle this.

Trying to solve a social problem with a technical solution is always doomed to fail, with mate choice about as social of a problem as it gets. At the end of the day, we need to create systems that augment our social capabilities, not replace them. Any technological solution can and will be gamed in both directions where people will inappropriately be labeled as poor partners and people who get labeled that will circumvent the label regardless of whether they deserve it or not. Unless we identify an objectively verifiable, directly measurable, desirable behavior, we can’t possibly solve this with technology alone.

All this is to say that the real solution probably won’t scale, but this means there is likely an opportunity here, as the conventional wisdom states. The problem is the barrier to entry is too high which means more nuanced solutions are likely to be killed before they even get off the ground. I don’t envy those in this business, it really just seems like a losing battle as you grow as a company.
Sum types are fantastic and I’ll join you singing their praises all day long. But this article is about rust’s memory model & memory safety - which is independent of sum types.

Unsafe blocks in rust are the only place you can dereference pointers. There are whole classes of memory bugs which are impossible to code up in safe rust code because of this.

As an example of how this helps, a couple years ago I was working on a complex & clever rope data structure. My code segfaulted - and I can count on one hand the number of times my rust code has ever done that. A segfault like that can only come from memory corruption or dereferencing invalid memory - both of which are only possible in unsafe code. And the bottom of the stack trace was a safe function, so I knew I’d corrupted memory somehow. These bugs are really hard to find in C - basically the worst case for debugging because the problem could be literally anywhere. But in rust I knew the bug was in one of only two unsafe blocks in the ~thousand or so lines of my library. And one of those blocks was executed not long before the crash.

5 minutes later I had found and fixed the bug. In C, I’ve had similar problems take hours to days to fix.

Bugs like this aren’t possible at all in Go or C# because of their memory model. But in those languages you pay for safety by sacrificing performance. The rust I’ve written & benchmarked so far somehow faster than the equivalent C code. Which is pretty wild!
I didn't know this Vienna website. I scrolled through the author's profile, and it seems very cool - here's another blog from him about nurses - https://vienna.earth/plate/russell/nurse-shaddowing
Also, that was the second bomb, so it was a very credible threat.
The chart shows the temperature anomaly, i.e. how much the temperature differs from the temperatures observed in the reference period. I can't say anything about the website that generated the chart, but ECMWF is legit and when I look at the ECMWF models, I can see similar anomalies for South America right now, so the chart is correct.

The claim about the 39°C in the Andes doesn't seem right however. They are having large anomalies, but since the temperatures should be below or near zero there, a +10°C anomaly only causes sweatshirt weather and not summer heat.
it's good advice. it's what i'd direct my tribe with. that's what it is. the tribe leaders writing what is what for the ordinary people. that becomes their truth. it is a brainwashing, and i think, is basically what cult means.
If you're using a Pi-hole for your DNS (or anything else using dnsmasq I suppose), I worked around the issue by creating /etc/dnsmasq.d/02-archive.is.conf (with a Docker bind mount in my case) with the following content:

server=/archive.today/8.8.8.8
server=/archive.today/8.8.4.4
server=/archive.ph/8.8.8.8
server=/archive.ph/8.8.4.4
server=/archive.is/8.8.8.8
server=/archive.is/8.8.4.4
server=/archive.li/8.8.8.8
server=/archive.li/8.8.4.4
server=/archive.vn/8.8.8.8
server=/archive.vn/8.8.4.4
server=/archive.fo/8.8.8.8
server=/archive.fo/8.8.4.4
server=/archive.md/8.8.8.8
server=/archive.md/8.8.4.4
server=/archive.to/8.8.8.8
server=/archive.to/8.8.4.4

This way you use 1.1.1.1 for everything, except the domains listed above where it uses Google DNS instead.
Is it possible that the claims of the critic are not opinion but truly false? Why file a law suit that's just going to draw more attention and give oxygen to the critics unless you have at least some chance of winning?
This metric _does not _ divide ecological impact by population. Quoting the first line of the page: “Earth overshoot day marks the date when humanity’s demands for ecological resources and services … exceeds what earth can generate in that year”

Having more population does not improve your score on this metric.The world would be much better in terms of ecological resources if we all lived like Bangladesh.
Looking at the 'most' in the comment I replied to initially, my comment isn't well phrased. I agree with that entirely.
I am in India, using 1.1.1.1 over DoT and it appears to be working okay.

I am served IP addresses with relatively short TTLs (1-5minutes) that are in Moscow and North Holland.
Years ago, back in like 2011, I worked for pricedoc.com, this was our primary goal as well. Doctors wouldn't talk to us. Legally they're bound to not due to their insurance contracts. The only doctors we gained some traction with were plastic surgery, and dental. Because these doctors tend to deal more with cash patients. We didn't survive long. Maybe 14 months. Then sold our IP to some other startup called greatvets.com and we struggled like crazy to get exposure by vets to want to use our product. Same goal to provide cash prices. Good luck.
Trying to create a monopolistic cartel where only a select few corporations can make devices or browsers, as described in my other comment[1] is seen as evil by most countries out there[2].

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

[2] https://en.wikipedia.org/wiki/Competition_law
But how does that compare to SonarQube's code coverage?
At some point it's either going to be using tech to try to directly solve the issue or accept dying and people will never take dying as an option, regardless of the morals behind the other option.
No, we are talking about having a high shame-based culture as an effective and positive societal tool. As OP said, “cultures have unfortunately devalued shame to the point where it holds nearly no cultural power”. If shame is highly effective in a culture, then it is highly effective against more than just the one thing you would like it to be used for. In the recent past, shame was a very valued cultural norm and it was used overwhelmingly to enforce ridged ideas of cultural norms that included racial segregation, anti gay, anti empowered women, strict gender roles, etc. It isn’t a strawman to say that revaluing shame has broader implications than this right in front of your face problem.
Ask HN: What overlap is there between VP of Marketing and CTO/VP of Eng?
If any, that is.

Essentially, when do these roles collaborate.
Who is the core part of team America? Because the anglosphere doesn’t even it out I don’t think and Western Europe is not unequivocally on our side in US-China industry competition.
I normally use en_US but I want dates formatted as DD-MM-YYYY (or using dots, slashes etc ) and I want a 24-hour clock.

LC_TIME does not work very well with most apps.

And there is a big difference between just throwing an error if a date-time cannot be parsed because of a nonextent date, and communicating it to the user in a nice way, especially without using JS.
> If all countries were like Bangladesh, it would cause massive issues in addition to what we have now.

Isn't that exactly what they're representing by a country's overshoot day? FTA:

> A country’s overshoot day is the date on which Earth Overshoot Day would fall if all of humanity consumed like the people in that country.
Salami Slicing Tactics
You guys literally say “Get in before the pump”.

It’s not errant to call your entire business a pump and dump scheme, even if it is “AI powered”.
No. PODs that are initialized with no side-effects can be optimized away into compile-time initialization. E.g. if you have an integer that is static inside a function, it can just be initialized old-school.
It’s Time to Rethink Digital Ownership
I understand that. It is working for me. And I am happy with my system as you are with yours.
It appears that you can get an https certificate (TLS cert) for a webserver, that could be on a random vps or home connection, without needing your own domain, using this and lets encrypt. Though there is a risk of it failing due to rate limiting at Lets Encrypt if lots of people do that.

There is always the risk that whoever is running this service will switch it off one day. There was a similar service called xio.io that stopped working then the man running it got a new job.

There is also http://traefik.me/ and sslip.io which offer more-or-less the same service.

There is https://ipq.co/ and https://fdns.uk/ which will give you a name pointing at an ip of your choice.
Maybe this also helps explain part of the reason the problem is prevalent in the US as well? Corporate culture in some places can be utterly soul crushing, and the rewards are rarely worth it.

Some people are able to survive, while others get crushed and give up.
It doesn't bode well when an article starts with such a gross misuse of a technical term.

Far from me to defend Python, but this rant didn't start well.
Ask HN: Are there any good T9 keyboards for Android?
i use a small android phone and want to use T9 keyboard again. i tried this app called Tappy https://play.google.com/store/apps/details?id=app.minibytes.keyboard&pli=1 , but the customization options are limited. it is not open source, and the developer is unwilling to open-source it (i emailed him).

i swear i remember using a good one on my htc hero like 12 years ago. does anyone know of any?
> And, not to put too fine a point on it, but if you can code Python but not Go (or another decent programming language), you probably have no business writing software for a living. I know it sounds harsh and I apologize for that, but writing software is a profession and hence you should have the knowledge, skill, and experience to use professional tools.

Part of the profession of software engineering is maintaining software that's already written. Should the people who maintain python code, not be paid for their work?

Another part is choosing the right tool for the job. Python has its flaws, but it is better than Go in some ways. For example, it has a richer ecosystem of libraries.
It seems like this exact situation stands for much more:
When failing a entrance exam and having a person tell you, that there is no point in living from now on drives you into such a despair, where you cut yourself from really basic needs like socializing then I think there is something fundamentally wrong. In my opinion this symbolizes an immense pressure to conform to standards of society, and at a smaller scale, standards of the closer social circle. If society displays little compassion for individual hardships and failures, does not show softness, it's soon to be overwhelmed by mental health issues.
> In the case of high temperature superconductors, I imagine this new discovery will overturn the old terminology.

Nah, it'll stick around and you'll just have people talking about very high temperature superconductors.
I think it's rather more than a 'sentiment', at least in the UK.