skysight-inc/HackerNews huggingface dataset:
I actually think this is part of the problem- there is excellent tooling for making programming much, much easier, but many programmers are unaware of how to use them.

When I was an undergrad, I wrote code in a text editor without syntax highlighting, I debugged using log statements, and I manually tested every change by running my program manually with different inputs.

Of course those are all fixed by pretty basic things, but you would be surprised how many programmers literally don’t know how to use the tools they have, or are unaware of them. And some tools are downright hard to grok- git is definitely one of those.
What I am really getting out all of this is that at some point we will hit the human population limit that earth can sustain, even with renewable energy sources.

Whether or not that limit is actually reachable and something we should actually worry about I don't know. i.e: is there enough physical space for that many people on earth where each person uses X amount of renewable energy where the sum of X is greater than the amount of energy the earth can actually capture without being negatively affected.
Featured News Break Stories – Flipboard
Having a role based system also makes it easier to move those tasks into a ticketing system.
One of my favorite qualities of the Haskell community is how honest they are about the weaknesses of the ecosystem (we often discuss issues like these, e.g., on r/haskell or in mailing lists). These are legitimate concerns, but the fact that the author is happy with their decision despite these drawbacks is a testament to the language itself.
Mistakes to Avoid If You Work with Scala Futures
I disagree; not using ORMs isn't going to magically make developers write better queries, why not spend those few days training them to use the ORM better? Would you rather have raw SQL strewn about the codebase and have to worry about input validation and data (de)serialization every single place? Maybe it's ok for toy apps, but I wouldn't want developers bringing their own different styles of writing SQL all over a project. An ORM helps standardise this stuff
Remove source path from Go’s panic stack trace
Good article, but I can't help but notice a gaping hole in the benchmark -- why was there no attempt to run gunicorn in multi-threaded mode?

The article has a link to https://techspot.zzzeek.org/2015/02/15/asynchronous-python-a..., but failed to mention the key takeaway from the article:

> threaded code got the job done much faster than asyncio in every case
The main problem here is how Animats refers on his post, 90% politics, and many organizations are too ingrained into C culture.

It might not matter at all for what is being developed, but in no way are you going to spend those extra 5ms required for safer code.
Covid-19: First 'real world' data shows vaccines cut two thirds of infections
> There is no built-in fairness

Wage equilibrium around the world is inevitable with the rapid increase in integrated markets and improvement in telephony technology.

What this means for workers is far less important that what it means for capitalists.

We talk about race to the bottom for workers, completely ignoring race to the bottom for landlords / corporations and governments.

landlords around the world have to now compete on a much more even footing.

Rise of the corporate sector in China / Russia / Africa puts deflationary pressure on developed countries.

Governments that do not offer much, would watch the young and skilled flee to live under better government structure.
Yes. Maybe Unreal will deliver a glorious gallery of British gnashers.
The only system I think should completely go is Exceptions except in the case of termination or absolutely catastrophic failure - this isn't really about programming but rather that the implementation is a total pain, the compiler struggles to optimize them, and even better they make quite a few safety analyses like borrow checking very difficult because the control flow graph basically explodes when you start considering exceptional control flow - even on a basic block
Agreed, but that also requires throwing away UNIX clones and I don't see that happening on my lifetime.
I'm not a native speaker but the problem I have with it is that it has the wrong numerus. Although I have done so in papers recently, because it seems to be a trend, sentences like "If a person chose option B, they were categorized as a cautious assessor" seem ungrammatical to me. (In this case it's easy to reformulate the sentence in plural and simpler, but that's not always the case and I hope you get the point.)
Yes, hopefully SpaceX can do it quicker than 10 years! Considering 15 years ago they started with their first rocket and how far they've come in that time I have high hopes.

I think Elon was hoping for a manned mission to Mars in 2024 back in 2017 but his latest projection is 2026. He's certainly optimistic :)
I haven't done DB stuff in a while as I've mostly been frontend, but I reckon the way I'd lay it out is in the same way that I have a "clients" or "services" folder (or repo) which contains things that return Promise<Data> (and I don't have to care whether their source is HTTP, Firebase, or anything really). I would probably do the same with my back-end application (or lambda). Directories (or repo) full of services which are sets of high level calls (e.g. getPotatoes()) which are async functions that return data. Inside would be (probably) SQL.

> I think there is a fairly high performance cost to doing so many string concatenations every time the code runs

String concatenation is extremely cheap compared to any sort of IO or computation.
This is why Domain Driven Design should be mandatory reading for all anyone making decisions on Software Architecture.
I don't know how people read anymore. I just mentioned that saying "This privileged crypto-colonialism almost exclusively benefits white men" does not contradict with saying Bitcoin is mined in China, like the parent comment was hinting.
German Physicist professor says evidence points to Covid escaped from lab
Completely agree. I used to create my own error type(s) manually and implement the various conversions for 3rd party crates and it was quite a lot of boilerplate but with anyhow (for applications where you don't really care about strict error types) and thiserror (when you need to be a little more thorough).

Actually that's effectively TFA's solution, if they had used thiserror/anyhow from the start there might not have been an issue to begin with. Admittedly it took me a while to find these crates since they're not part of std.

Maybe the community should come together to create a curated list of third party crates that should probably be known by all Rust devs? Crates like thiserror, anyhow, rand, serde, clap and other "de-facto standard" crates?
If anyone from Microsoft is listening:

I'm a very experienced C programmer and what I would like, much more then a new language version, are some basic OS functions where I can query the status of a pointer. Is it readable? Is it writable? Where does the memory allocation start and end? Is the memory in the heap or stack, or a memory mapped file?

All the information is available inside the OS, but I cant get at it. If it was available it would be possible to write all kinds of instrumentation. If it was possible (in debug mode) to get the layout of the stack, that would also be super useful. Buffer overruns are really mostly a problem when they are on the stack.

By warping malloc and free, you can easily find buffer over runs, memory leaks and double frees. They become a none issue. But with stack memory you have very little control. I avoid using the stack for operations where this might be an issue, just because its so much harder to debug.

I would love to be able to write APIs that have built in tests (in debug mode) where all pointers are checked, and if anything is broken the API can fail gracefully and give out precise errors.
There is nothing lifetime-related here, right? I.e. nothing to help prevent use-after-free errors.
I do the same, even in languages without a preprocessor.

You can just use a life if-else, most compilers will optimize the test-on-a-constant away. Even when the code is kept in, I doubt it will have a major performance impact during testing in most cases.
Sure, you can pick even numbers in either scale that are awkward decimals in the other. I just prefer the ten degree bands of the Fahrenheit scale for these ranges.
At last year's UCI worlds one of the riders(I forget who) had a dropper post failure, and it was depressing watching them slowly lose rank simply because of that.

Part of me wants to see all the new advancements, but I also hate it when it ruins an otherwise good spectacle or personal ride.

We also saw it with e-shifting in road, but that seems to have largely been solved. So, perhaps any problems that should arise with this could be shaken out in a couple of seasons too? </fence>

Maybe there is a market for racing and events where you're only allowed steel-framed, canti brakes, SiS index shift monstrosities? Like one of those sub-$1k car rallies or something.
But is linking the right way to couple business logic from two different organisational units?

That is the question being discussed.
The fact that we talk about it raises some questions. Surely it depends on the problem at hand. There are multiple companies solving various issues and those are either global or local, well defined or ambiguous. There is no one approach as it depends on where you stand at the moment as well.
Another problem is developers themselves as they are incentivized to push for "over-engineering" as it'll make their CVs look better.
Uber drivers are workers not self employed, Supreme Court rules
How to Transform Machine Learning Models into Native Code with Zero Dependencies
The author specifically discusses that topic, toward the end of the article. You don't need to guess about the author's experience there. Just read the rest of the article.
English paper: https://www.researchgate.net/publication/349302406_Studie_zu...
A black-footed ferret has been cloned, a first for a U.S. endangered species
Not so sure about this, I think it depends on how frequently you have to do that task. If you're doing it every day or even every week you could potentially be saving a huge amount of time and effort by using a tool that does the job well. It's sort of like using a random heavy object as a hammer, sure it's fine in a pinch if you need to occasionally hang a picture but if you're working as a carpenter it's counter productive. Comparing it to the notorious abuse of excel spreadsheets in finance is not doing the argument any favours.
He can write all the posts about software engineering practices he wants his server is still down right now :)
The most obvious answer is oil&gas despite its best efforts isn’t all that powerful.

I mean, everyone loves the stories of how car companies single handedly ripped up all the street car tracks but apparently they couldn’t stop Tesla from eating their lunch despite teetering on the brink of insolvency for years.
You can encode it to a shorter string if you use larger alphabet. Still, it's 16 bytes of information, so not as short as sequential IDs.

See for example https://pypi.org/project/shortuuid/

>>> shortuuid.uuid()
'vytxeTZskVKR7C7WgdSP3d'
I used to ride a lot in a rough woods quite far away (10+km of asphalt roads) from home, making on average about 70+km per riding episode. The most convenient generic setup was "inflate the wide and grippy tires up to the limit (4 to 5 bars depending on vendor)" and off you go. It's much easier to ride with overinflated tires over asphalt and their grippiness was mostly sufficient for the most conditions in a woods. Regarding the stiffness - anyway you never ride on rough terrain sitting in a saddle, you just have to stay on peddles to maintain stability. As an added but valuable bonus - overinflated tires are much stronger to withstand puncture attemps (in fact, I can't even remember I had one for a few years back then).

So, I'm quite sceptical about that thing perspectives... I would prefer they invent more durable but cheap main components, btw, b/c that's just not right when a normal bike costs about as much as a car.
I also notice I spend less time thinking "how do I do X in this language" with Python and just do it. Maybe not the best implementation of X, but that doesn't really matter because I implemented X, Y and Z while someone else got bogged down in their "better" language and barely got X across the finish line.
Uber loses ruling on worker rights in U.K. high court
At least for mountain bikes, that's well out of the entry-level tier. Trek's MSRPs start in the $500-$600 US range for decent hardtail mountain bikes (aluminum frame, disc brakes) that are reliable and worth repairing when something breaks, unlike department store crap. $700 US is when they start giving you fancier features like hydraulic disc brakes and suspension lockout. Full-suspension bikes that are worth the trouble are definitely more expensive than that, but I don't think it's fair to say that hardtails are necessarily entry-level.
Well, in a balanced article that'd be something relevant to mention.

I think too that transaction fees will dominate the block subsidy, but the effect of an eventually successful level 2 solution remain to be evaluated.

Part of the fee pressure would be taken off by level 2 transactions. Whether that amounts to 0.01% (which should be close to the current amount) or to 99.99% (which would be the goal/opinion of a bitcoin maximalist) remains to be seen.

There's also the argument that relieving fee pressure will boost adoption, and fees would remain the same.

Anyway, back to my point: it should have been mentioned, and it never is. IMHO the goal of these articles is not to inform, but to modify or confirm the readers' opinion.
Couldn't this "inverse if let" be provided with a simple macro? Is that where you encountered bugs in the borrow checker?
>The coming migrant crisis at the confluence of India, Pakistan and China, three nuclear power with an uneasy relationship, would be cause for serious concern alone.

This is what really keeps me up at night. Nevermind the direct effects of 4+ degrees of warming if we fail to stop it - we'll start WW3 long before the temperatures hit that.

So that's why the key here is strong international organisations. We need to co-operate both to have any chance of making the changes that need to be made to keep warming within survival bounds, and to keep discussions open so when conflicts do arise, they are less likely to result in war.
> Also, due to the ill view of patents on this forum, I imagine people here are simply put off from using the law

I'm not talking about HackerNews in particular here. There's a deep divide in the Linux kernel community, for instance, about GPL enforcement. Some people, often represented by the Software Freedom Conservancy, believe in "speak softly but carry a big stick": i.e., try by negotiation to get violators into compliance, but sue when negotiation fails. Other people (including, IIRC people like Greg KH) have at some point openly stated that they would never consider a lawsuit an appropriate course of action.

I'm not sure where the Leela Zero and Stockfish people stand on this; I just sort of assumed from the tone of the article that they were in the "never sue" camp. Maybe they're in the "I didn't realize we could do that" camp, in which case I'd strongly recommend they get in touch with SFC.
Try methods "is_err", "is_ok"; or for Option: "is_some", "is_none".
This would mean that whatever the level of the contributors, it would be harder to ship bugs in production.
We have exactly the same construct in .Net: a solution file which can contain multiple projects. All of the code is in one place, so you're working with a monolith^. Services are separate and dependencies are checked by the compiler/toolchain - so you design as microservices. Finally deployment is up to you - you can deploy as Microservices, or as one big Monolith.

^ Compile times are fast so this isn't an issue like it can be in other languages.
You can assign a custom shortcut to it via Settings > Keymap and then the action "Main Menu > File > Local History".
I myself have assigned the shortcut control+shift+=
This is just a Hollywood actor generator. I want a human generator that has an age slider that melts faces like aging does in real life. I want to control fat, folds, swollen skin, grease, bald patches, moles and skin conditions. Very few people have perfect teeth. In my dream human generator you should be able to remove, rotate and reposition every single tooth.
All the marketing material of MetaHumans focuses on the head. There is probably not as much control over the rest of the body. We are probably decades away from a true human generator.
It's not a formal distinction, but in C++ code where all the ordinary comments use //, it can be handy to use /* ... */ to comment out a block.

(Of course, if there's a stray /* ... */ comment already in the area to be commented out, this will fail. But an editor with appropriate syntax colouring can make that immediately apparent.)
Electric Vehicle (EV) Market Size, Share and Global Forecast to 2026
I live in a small and wonderful city-town in Western EU. Unsurprisingly, much of the atmosphere is in doldrums. As a long-time remotee, I'm often used to working from the library or a pleasant coffee shop. It's tough not to have this access to the gentle human buzz around me, or a stranger's smile, much as I'm used to long stretches of solitude. And this extended lockdown has aggravated the ability to deal with a recent personal setback.

It helps that I built a healthy lifestyle, and have no problems giving structure to my attention. Long walks in nature, hours of dedicated reading of offline books (the medicine of the mind) help immensely. And my studies in areas like ancient Greek philosophy, psychology, neuroscience all help, and continue to provide some relief. But it's strenuous to keep grinding through it, without access to much of humanity, in the normal sense. So far, it's been a potent stress-test of resilience.
I don't think this should have a warning by default (or even in -Wall -Wextra). The code is not unreasonable - spamming warnings for such code will only get people to ignore warnings.

It is something that a static analyzer should warn though since only having one implementation of Do indicates that there might be an opportunity to remove the abstraction in the code.
I find this article hard to read. But I believe its point stands. In Rust:

- You bubble up errors using `?` operator,
- then you get a nice error message.
- However the location of the error is lost, the more complex the program, the harder it is to figure out where "permission denied" for example comes from.
Microservices for Greenfield?
IOHK are, and have some fairly team members in the Haskell community :)

https://apply.workable.com/io-global/
https://iohk.io/en/team/
Not to mention the operational overhead, which grows exponentially with the number of services, languages, frameworks and the sum of all their quirks.
I'm in between the two groups. I live with my partner in a mid-sized house in the centre of a small city.

Financially I'm doing great, I've worked throughout and there's literally nothing to spend the money on. My mental health is starting to deteriorate though. I'm not sleeping well most nights, I've turned very much inwards, I feel angry and despairing a lot.

Part of the current problem is that we don't have a timetable. There is no plan. There isn't even a set of criteria around which a plan could be built.

I don't agree that this is "a risk aversion play" here in the UK though - we have well over 100k people dead from this disease, hospitals beyond capacity and all sorts. Cancer treatments being pushed out, causing more death down the line. I don't think you can say that trying to control the spread is unwarranted.

Poorly communicated, yes. Mishandled, screwed up, too little, too late every time, yes. But unfortunately necessary to stop it just getting worse.
Can confirm this as a Safari user: old tabs are reloaded sometimes. I guess it's related to memory pressure on the system, seems to be a lot more common on iOS (which of course runs on more RAM-constrained devices).
I used to use the history function in NetBeans to do this. Has been around for several years apparently. Many other editors seems to have this function too.
> I frequently just comment out the code and rewrite it anew

That still doesn't give you easy access to the state of the code _halfway through the rewrite_, which is what the article mentions.
"Last time I checked France was a democratic nation. So was Belgium. Both of those have achieve majority nuclear power generation, and France over 70%."

That was the past. The dynamics have changed, and renewables are much more competitive now. Nobody is building more nuclear right now. True, there's paranoia, but there's also economics.

And I'm not talking about fossil fuels either.

Here's what I expect to happen today with a carbon tax: it'll kill fossil fuels, and give a huge boost to renewables. Nuclear won't benefit nearly as much, because renewables can sell each GW/h cheaper and are much faster and easier to build. We'll get a grid full of solar panels and wind, and probably serious instability. This is because the people that build powerplants don't care about the system as a whole, but about making profit within it.

At that point you can subsidize nuclear, heavily tax renewables, or subsidize storage. My view is that the last one is the long term solution because nuclear won't outcompete renewables long term.
I was lucky that I got into it when it first went open, 4.03 was unusable I think, 4.05 was getting good. Anything over 4.10 became rock solid and the complexity grew.

I agree I imagine it would be very confusing for someone to pick up today. The cinema stuff wasn't in it really at the start, neither was really terrain, or VR. Everything was simpler. In a lot of ways, it's still all there, but there are layers of new stuff on top and some stuff completely new as "the new standard".

It's one of those "you had to be there" and it's tough to get into it today. But given enough time, you will find your way and selectively ignore the stuff you won't touch.
My s/o is Estonian. The thing is - yes, rates are high - but ... that's about it. There is not much going on beyond incidence rates being high. Which makes me question the panic.
Thank you, Martin.
I’m familiar with play buttons.

Adjusting the sliders does nothing, such as changing the playlist. What am I missing?
Ada has made a pretty mess with strings. In the same family of languages, Pascal reached a similar mess. Early decisions which seemed nice and clever, but quickly turned out to be way too limitative, so they piled a series of other strings types upon it, each of them introducing small incompatibilities with others, or being somewhat clunky in a different way. That's something you often meet in the Pascal and Ada worlds (strings being archetypal of the phenomenon): stuff that was thought to be clean/nice/smooth/safe/practical but turned out differently, and various extensions not very well thought which don't integrate very well or destroy the cleanness of the original design.

C strings, no matter how much people have complained about along decades (often quoting Pascal as a good counter-example!), were simple and versatile and thus could stand all usages without a change in the base principle (so other string types never took off).