skysight-inc/HackerNews huggingface dataset:
I think there is one interesting angle to this problem.

I am someone who grew up with the technology, as the levels of abstractions were being added. I am now benefiting from all those accumulated decades of knowledge.

As the IT / development world was changing, I had enormous privilege and comfort to learn the things at the pace they were happening. Being able to assimilate changes over long decades. Be a witness to the problems and logic behind all those new solutions. Understand how we come to have JavaScript and the browser mess we are in and so many other curious features of todays digital world.

I understand pretty much all of the layers of the computing from how CPUs achieve some of the things they are doing to bus protocols, to instructions, physical memory, low level OS internals, high level OS internals, virtual memory, userspace platform communication with OS, programming language runtimes and linking, shared libraries, IPC, networking, virtualization, etc.

The issue, as with any automation, is that new players on the scene (younger devs, devops, etc.) simply have no chance to learn the same things and go trough the same path.

For them, spending a decade working with a low level programming language before you jump into high level programming language is simply not an option.

We, people who really understand the technology that the world runs on, are a slowly dying breed. We are still here as tech leads, managers, directors, business owners. But there will be a point in time when we will go on retirement and there will be only precious few people who had perseverance to really understand all those things by diving into obscure, historical manuals.
You can disable ALL notifications.

I have ZERO notifications on my iphone, and it works great for me.
Also not to be confused with ODE, the Open Dynamics Engine ;)
Whilst I agree with most of this:

> Replaced docker with VMs

This doesn't make sense to me, as Docker and VMs are not the same thing. Replace LXC with VMs, sure.
I think there is a fundamental issue with the article and that's the author stating devops or devsecops is someone taking care of both development and operations. That's just not true.
Humans can be scary!

not directly related, but reminded me of the recently released movie "Reality"
Absolutely powerful move.

How did this play out after that for you? Or him, for that matter, if you know.
My dad was absolutely saying the same things 25 years ago about integrated circuits in e.g. car engines.
I think not doing the proof exercises is problematic. Just understanding some concepts on how to vaguely go from A to B isn't really enough for math, need to be able to come up with how to do it. That is the hardest part in self-study, because skipping is easier than in some class or seminar setting (and if not in a group can also not discuss problems and see how other people approach them).
Increases in the levels of abstractions are necessary. The human brain doesn’t become much more capable over the years, but the number of available tools does so you need abstractions to allow for focus. I don’t see why this makes the future bleak per se. A programmer working on a business problem can be extremely productive in a high-level language even without understanding EUV, compilers, assembly, instruction sets, kernels, USB protocol, HTTP, dies, substrates, and much more. The same holds for pilots. They don’t need to know everything about aerodynamics, tensile strengths, aluminium, rubber, GPS, and much more.

However, a discussion over the misalignment of incentives in modern society can definitely be had. I would trust the pilot generally much more than a business software developer, researcher, or banker because the pilot will be the first to arrive in a crash.
I wonder if you could just send in another pig.
The same thing happened to me with OVH. They asked for a photo of myself holding government issued ID for verification.

I simply sent a short email reply saying that seemed excessive for just renting a VPS and their support allowed me to continue.

Since then, I've switched to Contabo hosting which seems to offer cheaper pricing. Would recommend to a friend .
This is an insightful article, although I don't necessarily agree with the view that "everyone" needs to know everything from first principles to be good at their job.

Talking about abstractions, during my past month, I was reading nand2tetris, and it's a compelling experience if you understand the exercise you are doing, which is not about building a computer from first principles; it's much more than that.

It makes you really understand what's going on behind the layers of abstracting that have been raised. Sometimes, understanding every layer of complexity is impossible, but depending on the area you are in, we need at least to try to understand the roots of it.

However, this is not for everyone; ask a musician if they are really in the weeds of why the instrument is producing music (the physics behind it!). They are probably aware that it's vibrating air, but, in general, they won't know the theory behind it.

Everything is built on abstractions, and that's OK, with time we will add even more on top of what we have; now, the issue is when those abstractions lock you in with a mindset that prevents you from creating something new without relying on those same abstractions that help you build stuff.

Many discoveries and inventions were made because they knew the layer of abstractions on top of it, and they just started again from scratch. Even Figma, the software, is built on a new core of concepts based on how the web was working back in the time [1]

[1] https://madebyevan.com/figma/introducing-vector-networks/
While I agree with the sentiment, I also struggle to find the right approach of peeling back abstractions and understanding the lower levels. Learning how something works under the hood takes time and can be a big commitment. How to do decide when to look below the abstraction? I’m most often interested in how things work under the hood, but I can’t always dig deep, which does bother me.
> It was clear, just by looking at how bad everything was performing, that something was wrong.

Meh, zoomers didn’t invent incompetence and slow, ugly software. Not everyone is cut out to write aerospace grade software and, thankfully for those people, not everyone needs it.
Sometime i just want to use old school copy code build binary to server and run it :).
We can only control ourselves and alas, we are the minority. So blaming everyone else is pointless.

Blaming a system that we can regulate and allows companies to get away with shady practices sounds way more reasonable to me.
A planning and execution engine for GraphQL
Do we live in a computer simulation? Proposed law of physics backs up the idea
The most hacked software is on-prem Wordpress.

Running the same software as everyone else on-prem doesn’t make it more secure — it might even do the opposite unless you’re quick to do security updates.
"Physical separation between different fluids flowing through the pipeline"

oh, so THAT is how they switch fuels.
Asking yourself: “Is the abstraction I’m using optimal for what I’m currently doing or could another type of abstraction be even better?”

Forces you to at least admit to yourself that you probably lack a lot of knowledge. Makes you humble and hopefully qurious.
In 1980s Los Angeles, a bank was robbed every hour
I think a good first step towards improvement in this space is by separating the terms 'abstraction' and 'indirection'.

Programmers too often add indirections which don't provide abstraction:

* The programmer wants to POST an object to a web server.
* The programmer also wants to think about it at the level of POSTing an object to a web server.
* And yet the programmer creates an HttpClient.java and an AbstractClientManager.java an ClientManager.java.
* These extra classes are just pointless indirection - not only do they not prevent the programmer from needing to reason about POSTs, but they actively make it harder to do so.

In contrast, if you have a collection type (Set, History, Permissions) and want to treat it as a monoid, that's a huge leap in abstraction, with only one level of indirection.
Management has to push for lower estimates because developers have an incentive to overestimate to make life easier. The only situation where this isn't a problem is with eager junior devs, and devs that have direct skin in the game, such as at startups or a department about to be cut for being unprofitable.
If you’re a security company you gotta be…… secure.
At least generate some sizeable mock data before showing the query plans. The optimisations applied can be very different depending on the number of rows in each table.
Or extension of the POSIX terminal control flags could result in gaining a mode, which the curls and tars of this world would use, to express to a terminal "ignore any terminal control code I write out; I don't actually mean it".

But this would require coordination in POSIX, in the terminals, and in programs using the terminal :-/

But the advantage would be that then you'd be able to put your terminal into this safe mode by default. And the terminal can alert you when a program is writing out control codes that are being ignored, and then you can whitelist them and/or get those programs fixed to fence off their sections of "I'm going to output data from god-knows-where now" with this new terminal mode.

It's not going to happen but we can dream ;-)
It's not quite true. Many features can be in a very bare bones way or in a fully gold plated way, and several shades in between.

Sometimes I see colleague developers estimate two weeks for a feature I consider one day at most, because they assume lots of extra functionality that wasn't actually asked for, or that I didn't realize would be necessary.

If you are asked to change your estimate, see it as an invitation to discuss the requirements and proposed implementation a bit more. Maybe something much simpler that brings you 90% of the way there is both possible and a acceptable. Meteorologists don't have that option.
Solar energy set to eclipse fossil fuels as world passes 'tipping point'
He has entered the Find Out stage of the process.
It's a unique form of American subsidies: You don't have to directly pay your businesses to get a competitive edge. You just don't require companies and individuals to pay any way near enough tax to keep basic government functions like education and healthcare going. Then you solve it by printing more money.

When a less powerful country does that, it bears most or all of the cost itself. When the US does it, much of the inflationary cost is borne by all other countries that use the dollar as a reserve currency. Other countries don't have a reserve currency like the dollar.
I think you might've missed the point a little bit. It doesn't read to me like "abstractions bad", it's saying if you're going to use an abstraction you should learn how it works (and that we've built so many that nobody bothers to learn them, which is true).

I know Javascript, React and Express like the back of my hand. I can solve absolutely any problem I've run into with that stack, I can't even remember the last time I was stuck on something. But I've ended up on like 5 projects in a row with stuff like Typescript, NextJS and NestJS because they are red hot on the fad scale right now. Despite that, I still don't feel like I know much about them because I set that bar reasonably high, and out of all the people forcing me to use tech I don't want to use, none of them even come close to reaching that bar.

I'm sick of asking fairly basic questions about frameworks and libraries I'm not as familiar with, and getting back "oh, I dunno, have you tried...?" 15 times in a row before solving the problem. That's not an efficient way to work, no matter what 90% of the industry seems to think.
There will always be hyper-nerds and just super smart people who will study all of the low level stuff. Granted, they will be vastly outnumbered by high level programmers.
A valuable discussion to have is about how to change the scope so that the cost/return tradeoff is right for your stakeholders.

I've definitely seen devs assume too much needs to be done, just like I've seen non-devs ignore key parts of the problem that push up the time. Sometimes it's trying to make a general solution when actually what's needed is someone to sit down with a spreadsheet for a day.

> There is back-and-forth as the estimates are questioned for being too high, almost never for being too low.

I'm sure people will have flashbacks when I say this so sorry to those, but this is the issue addressed with planning poker. The idea being that you all say how hard the task is, without being affected by each other, and discuss when expectations aren't aligned. Someone is probably missing something.

I might think something is simple because I've not realised a complex part of the problem, or because I can see a nicer neater solution.
Yeah, it’s pretty obvious that when launching thousands of ghetto rockets made from dug-up water pipes and stolen fertiliser, a few of them won’t go a hundred percent to plan.
Geany does in fact open in milliseconds. By visual comparison, I can't measure a difference in startup speed compared to sublime text.
If it was that clear, then I wouldn't have asked.
That's what I mean by "precious few".

I am continuously hiring new people, mostly senior devs and tech leads. Maybe one in a hundred has any understanding of what virtual memory is. Or why one process can't access memory of another process and, if you really want it, how to set it up.

Two decades ago that was common knowledge.

It went away just as the knowledge of how networking works. Currently, if they try to open a connection and it does not work they are pretty much at a complete loss to what happened, where and how to fix it. Aside maybe from a simple problem like DNS resolution error (and not even that -- most devs don't understand how DNS propagation works, for example).

So if those problems happen, they are mostly deferring to me as a guy who can solve every problem. I see no clear path to achieving a goal of having someone else to learn to do the same.
--reuse-key When renewing, use the same private key as the
existing certificate. (default: False)

From the docs: https://eff-certbot.readthedocs.io/en/latest/using.html#cert...
Michelin Guide: About Us
https://archive.ph/gTMoh
If you can't read the article, here is the release it was taken from https://newsbase.com/story/world-may-have-crossed-solar-powe...
It's true that stacktraces don't work out so well in many languages. But ironically in go they do seem to work fine in my experience. Adding a stacktrace to custom go errors do show me correct and useful traces across goroutines. I guess it's the fact that async is built into the language as a primitive or something.

Regarding wrapping errors, if you don't provide a stacktrace or at least file:line, how do you actually map the error to source code? Do you just grep and pray that the message is unique enough?
> The SEC originally sought a punishment of $22 million but then downgraded that to $111,000 when it realized the defunct firm couldn’t pay.

Lol. But, serious question, punishment for what? The article oddly omitted that.
Sadly, most people using "privilege" word see "being better than half of the world" as privilege, thus devaluing the word to almost nothing.
The Second Life of String Theory (2016)
I think if I had to use cloud dev, my complaint would be whatever code that was such a hassle I needed a cloud solution just to deal with it.
Nobody studying will read this advice.
A young colleague of mine who has also started "framework first" with Vue + Django was recently confused about what a "serializer" was. They have "written some" within Django REST framework, but he was confused about their purpose.

I had to explain the problem with a single wire signalling bits in a series, recipient having to de-serialize them into some data structure. Then I had to explain that TCP emulates such a single wire using small packets.

I think that they have understood, but it was a funny feeling explaining this to someone who routinely deserializes form and JSON data, then serializes them into SQL queries, then deserializes query results in order to serialize them into templates or JSON.
I had a similar starting point (spring web apps), but reached a different conclusion.

The layers and layers of indirection obscured what HTTP is for me, and it took me too long to understand it.

Have a look at https://learnbchs.org/easy.html for a real "oh that's what HTTP is?" moment.
I'm definitely in the market for this, as my current favourite App, Intermission, hasn't been updated in two years. I already prefer the wording and visual design of your App. I also prefer that pre-break reminders are visually distinct from notifications, as this made me eventually ignore regular notifications. The difficulty with these apps, is that you must interrupt the user in just the right way so that they don't get annoyed or ignore you after the 100th time.

However, there are two things that I'm missing from Intermission:

1. Show the remaining time directly in the menu bar.

2. Pause the app for a few hours or until the end of the day - this is useful for meetings. I usually forget to re-enable the timer afterwards.

I also liked how Intermission has all options in a single non-hierarchical menu. Again, the use case for this is when I realise that I forgot to turn it off during a meeting and quickly need to snooze it.
EasyGraph: A Guide to Computing Classic Structural Hole Indicators
EasyGraph is an open-source toolbox for network analysis based on the Python language, developed by DataNet team at Fudan University. It is the first open-source library that includes a comprehensive set of methods for detecting structural hole spanners, while also covering network embedding and various traditional network analysis techniques. EasyGraph supports multiple types of network data with excellent compatibility. Additionally, it leverages hybrid programming and parallel computing to enhance the efficiency of most classic network analysis algorithms.
As an image search for the latter term shows, that seems to be a common occurrence, or perhaps it's even deliberate.
An Apple Library Primer
Mental Models AI Coach – a webapp that uses AI to help you in making decisions
I would imagine not as Flight Simulator uses its own game launcher to download most of the game assets.
The names do not matter, the real communist societies are the societies where a communist party has the political power, not the societies described by communists under the name "communist society".

Almost everything in the Communist propaganda corresponds to a Christian concept, which has been renamed and twisted. There are exact Communist correspondents for prophets, saints, martyrs, priests, the Holy Bible, heretics, the Vatican and so on.

The "Communist state" is the Communist correspondent of the Christian Heaven. While the Christians have always been taught that they must be obedient and that they must work diligently, because despite the fact that in this life their good deeds are not rewarded as they should, they will be rewarded in their afterlife, in Heaven, the citizens of the states where the Communists have the power have always been taught that they must be obedient and that they must work diligently, because despite the fact that in this life their good deeds are not rewarded as they should, their children will receive the reward, when living in a "Communist state".

Having been born and raised in a country occupied by Communists, I certainly know the facts about them better than any outsider.

Therefore the "Communist state" has always been nothing more than a propaganda instrument and none of those using this instrument have really believed that it is something that could ever exist in reality.
Also any estimate providedwill be pushed downwards, not to mention unforeseen curveballs, so there is an incentive to estimate higher to preserve your own sanity. Some don't learn to estimate higher until they get burnt.

Another common pitfall is to estimate each task in isolation, and the people receiving the estimates considering them timelines. Effort estimates and delivery timelines are wildly different beasts and great care has to be taken to avoid miscommunications.
They could always punish the internal person who chose Okta. But I guess they're now big enough to be into "no one was ever fired for choosing [Okta]" territory?
I was around 10 years old when I played this game for the first time.

There's a Knight puzzle that was, in retrospect, my introduction to state machines. I got frustrated with it and mapped out every possible move of the pieces from the wonky shaped board into a 'linear' board on graph paper. Looking at it that way, the solution was so simple it was obvious.

Mostly played with a friend, it was such a fun game at that age.
> Question everything. Especially things that don't make any sense to you. Don't just assume that someone else knows better - that's how you quickly turn into a blind follower.

That’s what I do by default since I was a kid, and I can tell you the social pressure not to is significant. I recall an interview I did once, and one reason I failed it was "questioning everything". It didn’t even felt like it, I was just asking questions about their system, it’s supposed to be basic curiosity. At my current job there’s this architect that explicitly asked me for continuous feedback, but now shows subtle signs that maybe I went a little too far.

Questioning everything gets results, not friends.
As mentioned in my comment I was looking for my old program I uploaded to OS/2 BBS and not a REXX implementation.
No, this is the kind of thing you say during an interview, get rejected, and then realise you were probably not going to like the work environment anyway.
This article will introduce the process of measuring classic indicators of structural holes, such as effective size, efficiency, constraint, and hierarchy through EasyGraph.
Geary is a similar app from Gnome project.
“How did you go bankrupt?” Bill asked.

“Two ways,” Mike said. Gradually and then suddenly.”

– Ernest Hemingway,
The Sun Also Rises
One thing to keep in mind is that software for a dialysis machine requires a different approach from some overly generic CRUD app exposing how many mansions you have or something.

There is a lot of asinine software in the world and that’s fine. Lots of “real problems” are pretty asinine and don’t require heroic engineering feats.

Just slapping some bullshit together is good enough in a frightening number of cases.

Hate it too myself, but I have come to accept I can either prove them wrong by building my own business and outcompeting them through my supposed superior engineering or just swallow that I’m yelling at the clouds.