skysight-inc/HackerNews huggingface dataset:
The current state of Perl 5 for Python fans:

----

Perl 5: I'm not dead!

TIOBE: 'Ere! 'E says 'e's not dead!

Internet: Yes he is.

Perl 5: I'm not!

TIOBE: 'E isn't?

Internet: Well... he will be soon-- he's very ill...

Perl 5: I'm getting better!

Internet: No you're not, you'll be stone dead in a moment.

TIOBE: I can't take 'im off like that! It's against regulations!

Perl 5: I don't want to go off the chart....

Internet: Oh, don't be such a baby.

TIOBE: I can't take 'im off....

Perl 5: I feel fine!

Internet: Well, do us a favor...

TIOBE: I can't!

Internet: Can you hang around a couple of minutes? He won't be long...

TIOBE: No, gotta get to Reddit, they lost nine today.

Internet: Well, when's your next round?

TIOBE: Next year.

Perl 5: I think I'll go for a walk....

Internet: You're not fooling anyone, you know--
(to TIOBE) Look, isn't there something you can do...?

Perl 5: I feel happy! I feel happy!

----

But seriously, Perl 5.30 just came out in May. It's not dead yet.
It's my understanding that the EINE (v1) → ZWEI (v2) rename happened in the '80s, but that EINE was just slightly before Multics Emacs.
It's not necessarily a build tool - it's commonly used for that, but it's a useful DSL. rake in the Ruby world is used for all sorts of tasks for web apps and more, even though it was originally designed as the Ruby version of make. Look at npm - the NODE package manager, but it quickly grew to be used for more than server-side applications. A title is a description, not a constraint.
1000 days of uptime means the server never rebooted for 3 years, since you need to reboot to apply kernel update / firmware update. ( and plz don't mention ksplice ect .. those are not intended for that )
Because the Saudis have a ton of money to spend; more than they can spend locally.
How is managing a
new multibillion dollar multimillion account holder
fraud-friendly market
zero-maintenance?
shrug

This is standard practice for "the news." You're probably keying into it this time because of goodwill towards Google and/or a "one of us" connection to the subject of unflattering news.
I've started learning Erlang recently and I'm enjoying it. Ada and Forth have also intrigued me too, but idk if either of those are obscure
It's a pragmatic approach to this problem. Usually tracking state means that you write some version number or similar to a file, but than if for some reason that goes out of sync with the actual state, for example because you put it in /etc and someone accidentally restores an older version of it, hilarity ensues, because it's guaranteed the devs never expected this to happen and don't handle it in any way.

For the case of a setup script you'd need to update your state file after every step and in turn when running it again see what the file says and resume at whatever point it says. But then you risk running into above problem.

I try to write idempotent scripts whenever possible, combined with general sanity checks specific to whatever environment the script expects.
The page shows a much more clear and readable alternative, F# pipelines:

let newScore = fetch(url)
|> await
|> r => r.json()
|> await
|> obj => obj.ID;
The flagship is the X1. The T4x0s is the budget version of the same form factor.
It’s good to know which command line tools are idempotent, but I think once you start running automated scripts repeatedly you’re better off with something like Chef where you declaratively define the end state and let chef figure out how to converge upon that state. Taking the “create a directory” example, you would say “I want to end up in a state where this directory is created and has these permissions” and chef will determine if the directory already exists.

There are of some downsides to that approach which stem from the fact that you can’t possibly declare every possible thing. For instance, if you were to run the above declaration and then later remove the declaration, chef wouldn’t know to delete the directory; at that point chef wouldn’t know anything about the directory at all. So ideally you can build infrastructure from scratch each time (Docker, etc) rather than having to converge an existing machine.
I think those solar+battery ones are a top-up solution, or enough to make an emergency call.

I'm thinking of no-battery panels, like this camping-gear-priced one: 7W for $150 (AUD) https://goalzero.com.au/shop/solar-panels/nomad-7-plus/

eBay prices are $15-25, much cheaper than last time - maybe it's trickling down already? https://www.ebay.com.au/p/10W%2D5V%2DPortable%2DSolar%2DPowe...

"solar usb charger" may be better search terms: https://www.amazon.com/s?k=solar+usb+charger
Spurred by Amazon, Supermarkets Try Swapping Cashiers for Cameras
There are no life sentences; this does not mean that individuals can’t be detained indefinitely. If a prisoner is not judged fit for release, their sentence can be extended by up to I think four or five years at a time. The Norwegian prison system isn’t releasing flocks of “serial killers and paedophile rapists” as a result of not imposing life sentences at conviction.
personally, I think people who are interested in hurd should take a look at redox. Its a new microkernel with similar design goals that uses rust as its implementation language.
The hundreds of thousands of peaceful protesters had no masks. The small group who vandalized the Legislative Council wore masks because they knew they were breaking HK laws. Indeed, they would be arrested and charged for such actions in any country, including colonial HK, UK, or US.

While there are plenty of reasons you may dislike the behavior of the Chinese government, I don't think this is one of them.

On another note, I'm not sure why you would admire one of the very few violent extremists who embarrassed the otherwise peaceful HK democracy movement. Just because an extremist is willing to risk jail sentence by revealing his face, he becomes a hero?
I'd say no (but you might need to clarify what you consider a core to be and whether you're confusing it with a thread).
The way that SIMD processors work is fundamentally different from the way that a CPU works.

GPU cores run the same operations across a large number of "threads" (32, 64, etc) - they're no really threads.

When you have branching code running on a GPU, the threads are split into the branches, and each branch gets executed separately.

CPU threads run independently of each other (there's often locking for access of shared data, but that's not what I'm talking about).

Even when multiple threads on a single CPU core are running (SMT) they're still not performing the same operation.

Per thread (it's not quite what they are, but a more appropriate terminology escapes me) there is and (unless it's a very stripped down CPU) will always be a far greater silicon overhead for CPUs compared with GPUs.

That wasn't the best description of the way things work, but I'm rather tired and not a hardware guy.
From comments on the article:

"
They are with Spectre and Meltdown mitigations. They are not new enough results to include anything for Fallout/ZombieLoad."

Not sure if including the latter mitigations would make AMD beat Intel in single threaded.
Scott Aaronson on the Extended Wigner's Friend thought experiment: https://www.scottaaronson.com/blog/?p=3975
Chef does have an action on their primitives, so it is possible in the directory example to set the action to :delete instead of only implying :create
A weekly digest for new digital entrepreneurs
The problem as I see it is that good applicants don't bother with job boards. When you have recruiters banging on your door and begging to handle all the details for you (and provide proper communication) it's no wonder candidates don't bother applying. That, however, means the expectation is that job board candidates are bad and desperate. So companies will filter them more aggressively than recruiter candidates. So candidates now have even more incentive to go with recruiters since it actually gives them a better chance to get hired.
Having spent some serious time in TECO while writing a compiler in Bliss 36, I could not agree more with It was our text editor, and was an extremely ugly programming language, as ugly as could possibly be.
Probably because the average Japanese person experiences a lot more earthquakes than the average American even those in the highest risk areas. It's much harder to get a feeling for a value on a particular earthquake scale if you only experience 2 in your lifetime.
It's very poorly written satire if so. You can't point out the absurdity of something by repeatedly arguing that it's not absurd. The point about Chinese characters being unfamiliar to readers of Latin alphabets is a good one, for instance. It would be like Dilbert having a week where the pointy-haired boss's apparent nonsense is actually good management practice that Dilbert has been misunderstanding: it would neither be funny nor effectively educational.
Something something wouldn't work in other countries something something small population something something ethnically homogeneous blah blah.
Meli: Terminal email client written in Rust
I'm wondering if you could generate pictures in that style using signed distance fields as your primitives.
It might be useful for a massive scale gravitational lens in some post-scarcity future :)

It's still incredibly cool that there are solvable problems of this sort still put there.
As a newbie, a long time ago, I had been exposed to vi and emacs about at the same time. I couldn't find a way to get out of vi. In emacs, there was a small text message that explained how to get help, and how to do a tutorial. I've worked through this, and have been using emacs ever since.
I got hung up on the claim "Touch is by default idempotent. ... A second call won’t have any effects". The whole point of touch is to have an effect every single time you run it. It updates the file atime and mtime. That may seem harmless in your application, but it's definitely not no effect. Also promiscuous touching is the source of a bunch of bogus last modified dates in source code bundles.
I only had it once. It was awful, but I could tell that if I ate it again I would develop a taste for it. That's why I haven't had it since.
One trick I've learned is to browse through recent commits. Aside from recent activity, it's also a shortcut to where the source files are located. Some larger projects turn into a jungle of directories.
"Be kind. Don't be snarky. Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

I reject the idea that I started a flame war. I felt I followed the guideline above and did it in the face of pjmlp being personal, dismissive and non-substantiative while pointing out that this was happening. I did my best but if you say I failed because he hit his mark and got a rise out of me then I accept that and apologise unreservedly. If you feel the need to ban me for this infraction then you must of course do so and I will be at peace with that decision. I am completely aware of making points with evidence that are extremely unfashionable in certain tech communities. HN at its best works well doing this as it has for me in the past. Not point scoring but actual discussion, substantiated with evidence where one can learn something. A million "+1" messages aren't worth reading after all. I'd say the same for "you're wrong" messages and "you've obviously got a personal issue" messages as we saw here.

I'm assuming pjmlp got a similar message from you, possibly a stronger one? It would seem odd to me otherwise but I suppose it isn't really of any consequence.
It does seem like it at a first glance - these are Cortex-M microcontrollers which are really not suitable for running a full-fledged OS. They don't even have an MMU, and they usually only have ~10-100KB of RAM on the chip. Plus, only some packages with >144 pins are able to memory-map external RAM chips like these evaluation boards do.

It's a very cool and impressive project, but I wouldn't use it to write an application. Besides cost, the biggest reasons to use these instead of Cortex-A chips are power efficiency and simplicity, and implementing things like process isolation in software seems like throwing all that out the window.

But on the other hand, if your device will be plugged in and power consumption isn't a huge concern, I could definitely see the appeal to having things like a Ruby interpreter or an X server running on your MCU. You could compile and deploy existing code, ideally. But I bet it would take more time to get all of that working well than it would to just write your application with an SDK and an RTOS.

Also, I'm guessing this project predates the STM32MP1: https://www.st.com/en/microcontrollers-microprocessors/stm32...
I asked an HR rep about this and she told me there is a massive influx of new grads demanding very high salaries. You and I might be from a generation where a CS degree was not an obvious choice and the supply was not as high for organizations. Unfortunately years of experience don’t count for much in this industry, especially with how fast technologies change.
I’m helping out with Corporate IT procurement and the first thing we are asking OEM’s is how we can get these chips in new models.

Buying 600 a year minimum gives you some pull. Hopefully more companies are asking these questions.
Let's first establish: how are you measuring hiring success?
I miss Jon Stewart.

What you need is someone who can present real news as entertainment instead of presenting entertainment as real news, which is what he did in a way that none of his acolytes have faithfully replicated (not even when they were on the same show in the same episode). Because you have to be willing to make fun of anyone for being wrong instead of just making fun of The Other Team for being The Other Team.

But in general it feels like there is an answer in that format. Because people want to be entertained. If they're not being entertained then you've lost them. But you can entertain them and inform them at the same time, if you actually take that as a goal and consciously work toward it. A good professor doesn't bore the students yet they still learn the material.

But there is a difference between that and just making partisan propaganda humorous enough to get people to watch it.
nah i don't know much about LSTM but this looks like a fine tutorial

https://towardsdatascience.com/intuitive-understanding-of-at...
While they may be cheaper for performance if you compare just cpu, but if you include a GPU then it isn't that clear. The fastest ryzen with integrated graphics card is 2400g and it's only 4 cores. That's an extra $75-100 for the you.

I had 2400g and it isn't cutting it anymore. And I don't need a gaming video card to work with visual studio at 4k@60.

The 3rd gen Ryzen with iGPU aren't out yet
Wouldn't this be a lot easier to understand and work with?

let newScore = await fetch(url)
.then(r => r.json())
.then(obj => obj.ID)

I think another problem is that these are just examples that aren't necessarily representative of real-life use cases but more just try to show all the different ways of using the syntax in one small chunk.
> This is an easy one. Touch is by default idempotent. This means you can call it multiple times without any issues. A second call won’t have any effects

Every call to touch will alter the modification time of the file (example.txt in this case).
Look for the original Graphics Gems I and II books (circa 1991)

https://www.glassner.com/portfolio/graphics-gems/
The Pie Fallacy

A surprising number of people retain from childhood the idea that there is a fixed amount of wealth in the world.

http://paulgraham.com/wealth.html
Don't know where you live but in most of Europe firing someone is pretty trivial.

For a newly hired, you have a probation period, before your contract becomes permanent, usually between a month and a year, where you can be fired on the spot. After that, your contract becomes permanent and you can get fired, no questions asked, with a notice period of usually between one and 3 months.

In theory, before letting you go, the company has to set up a performance improvement plan for you but companies never bother as it's considered wasted effort to invest in under performers so they just warn you at your performance review that your performance is lacking and that this is strike one. After 3 months of performance monitoring you are let go because your performance hasn't improved so that was strike two and you're out.

Sure, you can sue them if you know you've been wronged, and win a few thousand euros, but nobody's gonna hire you knowing you're in a lawsuit with your ex-employer so nobody bothers to sue and prefers to just find another job instead.

So unless you're a protected category, usually over 50 years old, woman or not, doesn't matter or part of some big-corp with strong unions, the hard-to-fire is not an argument that holds water here.
The new Ryzens perform very well, it's even more impressive considering that the Intel chips did not have the Fallout/Zombieload mitigations applied[1], that come with significant performance degradations.

LinusTechTips, that used to somewhat favor Intel, did their benchmarks with current patches to everything: https://www.youtube.com/watch?v=z3aEv3EzMyQ

[1] https://twitter.com/RyanSmithAT/status/1147867180282699782
I don't see the point worrying about things outside of your control. Solar storms, nuclear war, infectious diseases, asteroids, any number of other unknown natural phenomena we know nothing about. Mitigate what you can, try to help others, but accept that at the end of the day, you (and the rest of humanity) are most likely inconsequential in the story of the universe.
Seems good until Carbon Credits are pulled or altered at some point in the near future due to abuse
Yes, in this particular case `then` works better. Pipes are a very generic pattern though, and are quite useful when you have a chain of operations (whether those operations are async or not).
I'm sure you're right. Thank you for that.
What I find funny is how little time and effort is put in writing the job description. The interview process is mostly very generic and the questions hardly in alignment to the role. As a profession we try hard to be correct about creating clear specs that can be translated to unambiguous steps for a machine to execute, but when it comes to hiring - we write ambiguous specs, toss it over to recruiters who are poorly equipped.

Here are some thoughts:
- When the new position opens, the team (say the scrum team) collaboratively writes a job description based on the current backlog. Let's not leave it to a manager or recruiter who is writing the job description. Use the company/team's mission and values as guidance to see who an ideal candidate would be. This is like writing your stories.

- Then write the filtering criteria based on the typical day to day skills - what are must haves, what are good to have, what is ok to not have. This is like write your test cases.

- What are the areas where the team is lacking. Try to get skills/qualities that will, for lack of a better expression, raise the bar of the team. This is like your retrospectives - and if you have notes from your recent retrospectives, they should help you identify what you are looking for.

- This better spec should help the recruiters, and also give the candidates an honest look into the team.

- For the interview, go back to your previous sprints etc. and build questions that are simplified models of what a typical story would look like. Instead of asking to invert a tree, may be it would be better to talk about how a particular problem you solved and see the approach the candidate would take. Give the candidate all the tools - their favorite editor/ide or whiteboard, whatever they prefer.
As appealing as the title of the article is, I basically came away from this piece feeling like I had just read a snarkier, less useful version of Paul Graham's essay on moral fashion [0] back from 2004.

The problem with following fashion, as far as I understand, is that you accept the tacit assumption that the value of an idea is correlated with its popularity, and I'm all in favor of smiting the very dangerous contrapositive to that assumption: that unpopular ideas therefore must also lack value. I support this author as far as he is attempting to raise awareness of this trap -- lest someone else have to go through the same fate as Ignaz Semmelweis, Guglielmo Marconi, or James Allison.

But I felt like this article did little to present valid mechanisms to mitigate the risks of fashion, and instead spent most of the text attacking fashionable ideas simply for being fashionable, operating under the assumption that fashion itself necessarily lacks substance and causes problems on its own. I think this sort of hipster approach is as big of a risk as blindly following fashion -- both premises assume that popularity is necessary and sufficient to determine the value, or lack of value, of an idea.

But maybe I'm just a blind fashion follower myself, since I felt so personally attacked when the author criticized MOOCs as just another fashionable fad -- despite the valid criticisms he linked to, I felt like I got a lot of value out of them, after all.

[0]: http://www.paulgraham.com/say.html
The issues are there from the 80's (NLU). The only advancements made in this field are speech recognition (which reached human level, and thus help in reducing error rates at the input to the NLU component), and maybe deep RF, to find the most optimal conversation response, however the machine still do not have a semantic understanding of users utterance, and will likely never have. I.e. if you solve the NLU issues, you are likely very close to AGI.
> The lack of even a dynamic array

Are go slices not dynamic arrays? They grow automatically when necessary.
I don't understand the protests. I would expect educating Saudi youth in exceptionally liberal institutions like universities in the Northeast to have a net liberalizing effect on the Saudi government and culture long term. Is this not a better use of Saudi funds then e.g. buying more weapons?
> From the kind of community and values that Perl advocates has always had, arguably Perl 6 is a natural evolution from Perl 5.

I think it's fair to say that Perl 6 represents the values of some very prominent Perl advocates, but not necessarily all of the community.

Perl 5 was (is) both a rather eclectic and an eminently practical language. In my view, Perl 6 doubled down on the eclecticism when many users had expected it to double down on the practicality.
I agree. Just answering the question in the thread!
I’m excited to see an animal corridor turn into a reality. Highway 17 is twisty and narrow, with poor visibility. Smaller animal like raccoons stand no chance, and larger animals like deer get hit regularly. The traffic is also a hazard for mountain lions, and there have been reported deaths (see http://www.santacruzpumas.org/ ).

An animal corridor helps the critters and drivers.
That's true. Recruiters provide the initial screening, which is lacking in a job board.

But the hiring process is broken beyond the initial screening as well, biggest reason being lack of incentives for the involved parties to close a position quickly.
And worth noting that enabling Bluetooth is as simple as installing the firmware-atheros non-free package.
Didn't try it until I moved to Bangkok in my early 30s. First time I had it I gagged - - not because I found it disgusting, but rather, it was just so different to my American palate.

Second time it tasted of a onion based custard that I could stomach, but live without.

Third and all subsequent times, it tasted like ice cream with a slight pungent background that I needed every night. I was hunting for the good stuff as well as any local.

You don't have to grow up on the fruit to enjoy it, but it is definitely an acquired taste that can be gained in the adult years as well.