skysight-inc/HackerNews huggingface dataset:
Delete your reddit account if you have one. Set up a redirect (using a browser extension, DNS, app, etc) from reddit to something you'd rather spend your time on. Replace your Reddit habit with something else: HN, RSS feeds, a good eBook, etc. Take a break from all internet entertainment, get offline, pick up another hobby, etc.

In general, it's easier to replace a bad habit with other habits rather than just trying to grit your teeth and abstain.

Every time you want to browse reddit and don't, give yourself a piece of chocolate.
I doubt willingness to pay would be a factor. To my knowledge, Gmail (or any other google services) didn't start off paid, bomb, and then they made free but paid for with privacy.

I think aside from having 20/20 hindsight to avoid their services and tell others to do the same (which you cant really blame people for not having), I doubt theres much we could do. I guess theres the whole "vote with your wallet" thing, but again, I think that argument is largely made with the benefit of hindsight
It's not solved in consumer headsets, but the technology does exist.
Set a goal to work on your personal project non-stop for 30 minutes.

If you need to google something, exercise personal restraint in not going to r/all instead. If you fail, sacrifice something in life you enjoy for a day.

If you succeed, increase by 10 minute increments.
Came here to address his part of the article.

My statement is that it was a terrible example, but the core principle stands. Yes, we should all definitely understand how the storage layer works (and anything else that could corrupt data) but no one needs to have the laundry list of acronyms memorized.
Metaverse. Social Dilemma 2.0?
We witnessed an extraordinarily exceptional event. The company with the most number of users, 2.89 billion to be exact, changed its name to Meta, introducing Metaverse where people will be immersed into the simulated reality to do anything and interact with anyone. Can Facebook really become a new company by creating a virtual world?
In my 58 years, I haven't seen a better market for changing jobs.
It is Basic Business and Market 101. Most continue to believe in good faith will continue to push Open Source. In reality it is the stark opposite.

The same people who believe Linux will take over Windows on Desktop for 20 years. I am still surprised human dont learn much from history.
Ad blockers often include paywall/regwall bypasses, which does somewhat fit the description.
Metal isn’t just a graphics api but also becoming a CUDA alternative. It’s a very important api for Apple.
It's actually a good practice. I think the intelligence community sort of do this too. On the other hand I think a more practical equivalent is to hire internal candidates who show some interests but didn't get the chance to work on real problems and train them.
Legal circumstances of giving away data of your previous employee aside (which might be very different here in EU), why would my new company rather trust my previous company's bad-mouthing HR than me? And if so, would I be willing to work for such a company?
This is the kind of observation that should be central to CS, but isn't.

While academic algorithm astronauts write papers which include Greek math symbols and can be proven correct, most people do... something else.

Optimising the something else would be a huge benefit to the industry. But no one even looks at it. It's just a thing that happens, and there's no research into fixing it or making it better.
It was always a great part of Apple’s playbook, back in the day. Train the kids.
Not a monopoly. They are dominant. Start using duckduckgo and other similar sevices. The internet is still a free market. If you continue to use their products you are just whining. Become the change you wish to see in the world.
I think your comment is basically just reacting to the title or a snippet of the article and not really giving the OP due respect. For example transactions are clearly a part of the api for a SQL database so not having deep knowledge and not using transactions are not equivalent things.

I think the article also touches on the fact that when you look up the definition of ACID you get a rough description of the acronym and then a description of how it is mostly a marketing term and all the ways real systems can deviate from it. So really the deep knowledge is not so much what ACID means as what it doesn’t.

The article is basically complaining that knowing what ACID stands for is not really a fundamental and that knowing how to use a database is. So I don’t think you really disagree with the OP much either.
1) does not apply since Zillow is not going to be buying the houses with taxpayer funded mortgages from FannieMae or such

2) it is true that people may not be able to afford to move, but people will keep dying and their houses will keep opening up.

But the biggest thing is developed (buildings) real estate is very expensive to just hold empty, so there is incentive to keep it moving.

I am not talking about foreign millionaire and billionaire apartments in tier 1 cities, those are obviously bought and sold under a different set of constraints and goals. But your general purpose houses in 99% of communities across the US need to be lived in and property taxes paid.

I do agree with you that housing prices will not go substantially down nominally. Politically, all voters like to see their position improve, which means land and public stock market prices need to go up. But that does not mean Zillow will earn any decent risk adjusted return on buying and selling suburban tract built houses at scale.
Pax South Has Been Canceled for the Forseeable Future
My Misogi Nightmare
It’s actually fairly rare that you get to choose what language and language features are used in the code base that you’re responsible for. Sure, if you’re the tech lead at a startup, or working on a personal project, but for all my day jobs, I’ve not once gotten to choose anything that fundamental about the code base.

So just in general, I do think it’s fair criticism of a language for offering crappy features, even if it is “optional” to use them. (Not arguing either way for coroutines specifically, as I’m not a c++ dev).
Kyoto: First Alpha Release
Exciting. The tutorial says download the compiler, somehow cannot find it, do you have a link?
I wonder how much is causation versus correlation of obesity and vegetable oil. The same time also coincided with a huge increase in sugary drinks and increases in caloric amount. It also coincided with an increase in cellphone usage and commercial jet travel.
Further to the point above, when this happens the GDP drops. These metrics need to be looked at in combination with each other, not in isolation. There is no "one metric", its a series of metrics that tell a story.
And American news isn't owned by a Monopoly group that owns the government? Haha fakenews.
Leaving after 6 months is not unprofessional at all. Heck, leaving after 2 weeks can be fine as well. Sometimes you get into a situation and discover it's not what was sold to you, at all. In that case, it's better for all parties, to end it quickly instead of allowing it to drag on.

As an analogy, imagine dating someone who you initially liked, but quickly discover you are incompatible. Better to end it ASAP than to let it drag on, which will only lead to more bitterness in the end.
What about writing that in ancillary to the actual entry of code into the computer?

In the modern workplace there is often quite a bit of communication via a text chat system. A chat where everyone types at 120 WPM is about as fast as the low end of normal conversation speed (120-150 WPM). A chat with several people only doing 40 WPM is much less pleasant.

Email doesn't have the quick back and forth of chat, so slow typing usually won't be directly noticeable to your colleagues, but it can take up a lot of your time.

Someone else already mentioned documentation.
Well hopefully there's some layering in the question if it matters to the job. If you have an engineering position in which a high degree of CS competence is required and the candidate can't even make it past the initial layer of "regurgitating binary tree operations" then you have the wrong candidate.
This is an arrogant comment. You are right that the general algorithm of a binary tree is not complicated. But coding it under pressure, for anyone who is not writing that kind of code on a daily basis, which is most people, and especially for a job where you’re not required to write that kind of code, is ridiculous.

If you audition for the New York City ballet, they don’t expect you to ice skate.
Sure, I guess there are cases where O(n²) is okay and sometimes even faster, but in my experiences with those runtimes I've usually typically regretted it. It tends to come back and bite as your original comment made clear. I prefer O(n) to O(n²)!

Yes, definitely agreed about big-O complexity analysis vs mechanical sympathy.

In fact, I'm currently pair-programming on an Eytzinger layout-based binary search at work for TigerBeetleDB.

Eytzinger layouts are a case in point where big-O fails nicely, since you have exactly the same log2(n) number of comparisons as per binary search, but you're getting better memory locality by grouping the first few nodes of the binary tree together into a single cache line.

At first this looks like less cache misses, but then we actually exploit this even further by telling the memory subsystem to prefetch all 16 great-great grandchildren of a node (whether we need them later or not), so now we're also doing more cache misses (!) but to achieve lower memory latency, by trading off against memory bandwidth, and thus something that's way faster than binary search.

The paper on which this is based is "Array Layouts for Comparison-Based Searching".
Mailvelope: Encrypted Email via Webmail
Can you name any one that isn't? Even "different" ones like Chia that don't use proof of work have bad externalities ( it eats hard drives).

If one day Ethereum moves to proof of stake, that might change, but as of today there isn't a single one that's even remotely popular which doesn't do serious environmental damage.
Welcome in appstore land, where the system is merely a collection of independent applications with no relationship with each other.

Makes it indeed easier to build, deploy and sell software, compared to the former world of one big distribution where thousands of software packages were designed to work together.

I do believe the driving force in this trend is not coming from the users but from the producers desire to assert property of the software. Think the enclosure trend, for software.
A binary tree is just a tree data structure where each node has at most two children. And that's dead simple and every programmer should be able to implement that when aksed. Note that it doesn't even have the search (i.e. sorted) requirement and much less the self-balancing one. You can work your way towards that with the right questions and that would be an acceptable way to structure an interview. Start with something simple everyone should be able to do and then work your way up the requirements and discuss potential problems/pitfalls and their solutions.

Nobody talked about implementing a specific variant of a red-black tree when the general topic of self-balancing binary search tree hasn't even be mentioned.
> it is important to know the thing and not as important to know it's name

Yes and no. For years I did little computer programming projects on my own. Built some neat things, for my purposes at least. But because I didn't have the words to describe things I wasn't able to build a concrete image in my head. When I finally took a CS course and had the words to describe concepts I'd used for so long it was like a switch had been flipped, allowing me to think about problems in a much better way. I knew what many things were but because I didn't have the concepts mapped to concrete terms they remained fuzzy.
This issue has been raised before, such as at https://github.com/golang/go/issues/20209 (I was reminded of that by https://twitter.com/peter_szilagyi/status/145515080347229798...). There is some other interesting discussion there.
The author’s point still stands.

If you’re implementing interactions with a fairly new database (let’s face it. 10 years ago MongoDB was basically experimental) then it is indeed incumbent on you to understand in greater details what you’re doing.

But if you’re building a CRUD web app, that’s maybe only used internally by your company and backed by SQL Server you probably have to never give it a thought.

Either way, lack of knowledge of a particular acronym, one which is described as basically meaningless in texts that describe it, is not a deal breaker of any sort. And it doesn’t apply just to ACID but most acronyms in tech today, such as REST/SOLID, etc like the author points out.
I've found bad interview questions fall into one of three camps:

1. The interviewers aren't subject matter experts themselves but are hiring managers, so they've taken their questions from someone else.

2. The company gets far more good candidates apply than they can hire, so the process is less about removing bad candidates and more about having some arbitrary way of whittling down good candidates.

3. The interviewer is trying to prove how clever they are or the company is. Sometimes for their own ego but more often because they think it might make the company more attractive to work at.

If there is a theoretical question I'd normally Google / DDG instead of memorise then I'd usually be honest in the interview and say "it's something like xyz but in truth this is something I double check these days as, pragmatically speaking, it is not a problem that comes up frequently. However it is something I have done before [cite example]".

If the questions is asked because of reason 1 or 3 from above, then usually they're happy with that answer. If they ask it because of 2, well as much as I might disagree with their interview process, I'm still not the candidate they're looking for. So we still part of good terms.
> warning: identifier pair considered confusable

Note that the lint you mention is about identifiers, while "user" is a literal. The lint does not fire for literals. String literals have always supported non ascii characters since 1.0.0, and there has never been a lint for them, until now with the 1.56.1 release.
People will Surely shit on my suggestion, but I found the book “Ego is the Enemy” very illuminating of my own flaws. And recently I read/watched Postive intelligence https://youtu.be/ta5IkSsc8qk which also helped me see some of my deeply ingrained defective thinking patterns. One of those might help.
Best thing managers can do in these situations is deal with internal politics - be the gateway for information going higher up the chair. The last thing the actual engineering team needs is direct calls from C-level execs.
See overload in the example[1] at cpp reference. overload is an extremely useful helper that it should be in any c++ programmer toolbox.

[1] https://en.cppreference.com/w/cpp/utility/variant/visit
> The only institution on the planet that has granted itself the right to legally steal, plunder, and murder you...

Rights that, legally, only have validity if people want them to. (In theory, in some countries.) In principle, Google is allowed to ignore the will of the people; in principle, the government is not.
I mean, that's also what the article we're discussing proposes:

> Data trading for ad revenue must be regulated like finance, aviation, medicine, and power.

Regulation by the government is absolutely one tool towards stopping a gigantic monopoly bending the world to its interests.
I omitted this to keep it simple (this is why I wrote non-English rather than non-ASCII, I actually am a proponent of active usage of proper Unicode symbols like ⇒, ≠, etc, and also TUIs) but yes, I would prefer a rather extended English char-set including Greek letters, mathematical symbols, pseudographics etc. These can be useful and are not much trickier than English letters. But I would certainly like to see at least a warning (I would even prefer an Error actually) if my code file includes anything related to RTL, complex character composition or non-Latin letters other than Greek.
I share the sentiment of your post but as an academic, I think you are wrong and the OP is right.

The older academic generations have literally built this system and then no point to it as inherent and unable to be changed. They point to socially constructed parts of our faculty experience and claim that it 'is'. It is the truest example of stupid smart people I have ever experienced. it is fundamentally, laziness and self-interest. They complain about the system that they built - they complain about administrators, who are all either faculty or people brought in to do things faculty complained about doing or turned out to be wildly bad at.

I'll give a couple specific examples:

1) Faculty development offices - faculty complain ENDLESSLY about faculty development offices and programs and staff. They feel they are interfering with The reality is they were created for a bunch of reasons - largely because the many faculty had stopped investing time in mentoring their peers, and when that did happen it was often wildly sexist and racist. So it got replaced with people trained to do the job well, overseen by faculty. Much of there work is on teaching faculty to teach - because faculty doing the hiring don't bother to evaluate candidates on that core competency. Now the faculty complain about 'bloat' and about the documentation that is generated.

2) IT - I worked at an institution where the faculty senate basically called a meeting to lambast the head of IT because the laptop specification suggested for students couldn't do [thing]. The head of IT shared the history of his office...it had been a faculty member's job (they had a teaching release to do the work) and no one wanted to do it, so they hired someone and setup a faculty oversight board, then they couldn't get any faculty to participate, so then they stopped the oversight board and just sent a survey of needs to all the faculty, they got almost no responses. So the IT person did their best. Faculty had control, complained about the work, and then complained that they weren't consulted.

In prior generations, tenure and academic freedom were tools that enabled faculty to work collaboratively and collegially to run a good university. Several generations of faculty have transformed tenure into a reward for doing lots of research. Unsurprisingly, once it became a reward rather than a tool it gets abused...and faculty fight so hard for things that serve themselves at the expense of the university that they find themselves standing on the outside, in the cold, with their trophy, and presume someone is out to get them.
Binance Halts All Crypto Withdrawals
Installing a package to build some code is just fundamentally wrong, though. Why am I making unspecified, permanent changes to my underlying operating system in order to build a random piece of code?

That just make no sense, and it is insane that this is the standard way of doing things.
I'm personally very skeptical about an Apple Car appearing any time soon, although people like Kara Swisher and Scott Galloway treat it as a certainty.

If Apple were to sell a car they'd need a whole network of authorized repair centers and part distribution. Even if they do a slow rollout starting in the US, that's a whole lot of country to cover. They could start by selling it in just a few cities... but they can't limit where people will drive to, and people stranded with a bricked car, many hundreds of miles away from a service center would be a bad look.

Also, with iPhones and Macs a lot of their ability to provide worldwide repairs is based on entirely replacing whole parts (screen, logic board, battery) which I don't imagine is as easy with a car for multiple reasons.

When Apple created the Apple stores it was a mean feat of entering a new space (retail)... but they already designed and built the product, and did repair and distribution... so entering retail was just reaching vertically a bit more. An Apple car is a whole new "stack" where they only have a minimal part (software / user experience)... so risks / unknowns are much much bigger.

... All of this would not be the case if Apple were to partner with a car manufacturer that already has a network for sales, parts and repairs, and they just add their "UX magic". But I understand they tried and failed at this... maybe because car companies either don't want the rug being pulled from beneath their feet, operate at low margins, or think they can do user experience better than Apple.
Social media companies increasingly super apps, encompass more of what we do
I've been in similar situations to yours. I left immediately both times and don't regret it. The truth is in this field most employers don't care about resume gaps as long as you have a halfway decent explanation. You can even say you just wanted to take an extended vacation.

No, it's not unprofessional. Would they be unprofessional by firing you on the spot? That's essentially the answer to your question. Businesses don't have feelings, and you're not going to hurt them by handing in your resignation. Better businesses won't hold it against you that previous employment opportunities didn't work out.

Also, life's too short to work at some software chop shop. Contrary to what some here are saying, there are enough decent dev jobs out there that it's just not worth dealing with the weight an employer hasn't been carrying. If they aren't carrying their weight and you're feeling crushed under it, you're feeling that way for a reason.
Exactly. If someone does know what ACID compliance is that's great. We share a common language and that makes things easier. But if they don't, no big deal, but they should still know the concepts. There are people out there who don't know the difference between mongo and postgres. That's lacking the fundamentals.
As a person who also uses mobile Firefox, I don't feel like I personally have issues with recaptcha.
Here's an interesting experiment I recommend for anyone believing ShadowStats as anything but nonsense. You can prove it yourself quite easily.

1. Take ShadowStasts claimed inflation (dig, you'll find their historical graph), which they generally have much higher than BLS rates, and take BLS rates, and compute the compounded inflation over say 20-30 years.

2. Pick a decent batch of things you buy: housing, rent, food, gas, cars, etc. (making your basket of goods - scale according to what you spend on them, like a normal basket of goods would do)

3. Find ads from now and from the start of the timeframe. Gather prices. Put in Excel or Google Docs

4. See which is more accurate: BLS or ShadowStats.

5. Conclude ShadowStats is absolute nonsense, and ban it from your thinking, since you just proved to yourself it is nonsense. Reading it makes one significantly less connected to demonstrable reality.

The first time I did this it was amazing how far ShadowStats was from reality. I've been recommending this to friends for years - most realized what nonsense it is and learned to see if there's simple ways to check things themselves. And this is an easy test anyone can do with a little effort.
You could be describing my organization. As things progress, our problems are getting worse. I have people under me and around me that I know are leaving an I'm offering them glowing recommendations because their feelings are valid. I'm distancing myself from the company too. You should leave. You've been there long enough to have given it a solid try. One six month stint on your resume isn't a problem and any associations you've made with people you like are likely to feel the same way anyway.