skysight-inc/HackerNews huggingface dataset:
Slightly related anecdote: I was making $33K in 1997. I was in graduate school working on an MBA and I went to a career fair and was in awe at the “high $80K” salaries I could get at consulting companies.

Then I got distracted, dropped out of graduate school and didn’t think about consulting companies anymore.

Fast forward to 2020 (and a decade of letting my career stagnate until 2010), I was looking at the same companies because I was interested in cloud consulting.

I found out that consulting companies haven’t kept up with inflation…

https://managementconsulted.com/consultant-salary/
Solution: Steal two bikes, cutting the post on one, the frame on the other.

You now have one working bike.
The joke’s on you: there is no standard seat post size!
Yes...

It's not too common, but it's doable.

Most programers make between 120-160 as you said.

Honestly, it's a matter of diminishing returns. Your lifestyle is probably not going to change between making 150, and making 200.

The tax rates are so absurdly high at that level, you might keep about half of that additional income.

Then again, I'm a single person so I imagine if I had a family to support the extra money would matter.
When you say non-FAANG how do you define it? Technically, the initials each stand for one company so do you mean are there jobs at any company besides those five which fit said criterion?

The only true way to find out is to start talking to recruiters or getting offers.
Dumb question: Shouldn't he be wearing headphones? Otherwise, how would he know what the band hears?

Dumb question 2: I thought each band member typically gets their own mix emphasizing their instruments so they can adjust better?

Dumb question 3: How many of these knobs would actually be touched over the course of a performance? I'm assuming the overall process is something like:

* Phase 1: Initial default calibration for the specific genre/band

* Phase 2: Fine-tuning during practice/sound-check

* Phase 3: Some additional adjustments during the first song to account for...i dunno last minute changes?

* Phase 4: Changes during every song?? This is the part that I'm curious about.
For me, it is a feature.

Coming from languages with exceptions, where you have no idea if a function call is going to explode without praying that the library has its exceptions documented or reading the source code, having error values that you cannot (easily) ignore is a blessing. It's not as good as something like Rust's Result sum type, but it's pretty close. It makes you explicitly handle, or bubble up, every error in your program which in my experience is a huge cause of unexpected exits in other languages.
This is one of the best beginner books on DSP. Many “reference” textbook authors can learn a lot from the quality of writing and presentation in here.
> large portion of the population in unnecessary debt.

thereby increasing the money supply and velocity of money. Waiting until you have money to spend it slows everything down.
qt-creator is a nice open-source IDE:

https://github.com/qt-creator/qt-creator

They offer binary releases, but it's also possible to compile from source without too much trouble. Written in C++, it's pretty snappy. Supports meson.
If you haven’t tried FAANG, it might be worth considering. I took a FAANG job on a lark, intending to stay a short time just to have it on my resume, and ended up liking the job way more than I expected and stuck around much longer than planned. In particular, my expectations about the job were completely inaccurate. The office politics, corporate bureaucracy, interpersonal dynamics, and overall stress level are all way better than I ever experienced at small companies. You cite a lack of small teams as your reason for avoiding FAANG (and I know there are probably others), but I’m generally working with 1–4 people at a time.
Early last century Lenin and friends were also getting jailed, yet they kept protesting and at the end took the power. If they could do it so can you.
Very exciting topics, can't wait digging into the book.

If you like this, you might also enjoy reading about optimisation tips by Mike Acton (data oriented programming,https://dataorientedprogramming.wordpress.com/tag/mike-acton... ) and Pierre Terdiman (on collision detection and physics
optimizations, for example http://www.codercorner.com/blog/?p=1978)

We wrote some book (and SIGGRAPH courses) a few years ago, Multithreading for Visual Effects (http://www.multithreadingandvfx.org). The audience for this kind of books turned out to be pretty small.
In many cases, people voted for it.
The site wants a credit card number to continue reading. That's a hard no.
Given the number of children in foster care or worse, the choice isn't between being in a home where you're wanted and one where you're not wanted, it's being in a home where you're not wanted or not in a home. Which do you think is worse for a child?
I tried on multiple occasions to pay my rent using Zelle. Every time except one, the transactions failed with a "cancelled by recipient" or "cancelled by recipient's bank" message. My landlord verified that neither he nor his bank ever cancelled any of the payments, and I haven't bothered with Zelle since.

How can a payment system that a) misrepresents basic transaction history, and b) alters time-sensitive, in-process payments based on that misrepresentation, be trusted?
Ask HN: Is It Likely That Most of Our World Leaders Have Lead Poisoning?
Leaded gas was predominant in the US until the 1970s. Does this mean that all children in the United States were lead poisoned until it was phased out?
Are we being lead by a bunch of Caligulas?
I can only speak to gasoline specifics in the US, but I know that it was used all over the world.
I was hoping for some discussion in the article of why the broader gauge was better than 4'8" standard gauge (it's odd to see that referred to as a "narrow" gauge when in the US, that is usually reserved for track widths narrower than 4'8", most commonly 3' which was used in some mountain and mining railways. Apparently the narrower gauge somehow makes it easier to manage tighter turns (I think? I've never really understood the benefits of that either).
At various times in my life, I've spent way too much time on Twitter. I've been using Twitterrific for a couple months, which does not have the Explore tab and does not include things in your TL that you don't explicitly follow. The UI also makes it a bit less easy to read replies than the official Twitter app does. I find myself spending almost no time on Twitter now, and it's great.
> No function overloading

In my experience, non-type-specific function/operator overloads ultimately end up being a pain point. They’re generally wonderful —- until they’re abused, for which there’s a tendency. That’s certainly true of C++, and likely true in other languages which support overloading to varying degrees. With generics, the potential value of overloading in Go should now almost always be (hopefully) close to zero, so I think this criticism may be less notable than it was before.

> Smug, snotty community (mostly #go-nuts on freenode/libera)

I wonder if that’s not specific to those communities rather than the Go community as a whole. My general pulse on things is that the community Go isn’t less inclusive than others, but that may be a biased viewpoint.
I almost never run the code locally unless I see something questionable and can’t reason about what it will do because I’m unfamiliar with something in it. For that, I tend to use a REPL for just the snippet of questionable code.

However, if the code is a large enough change, and it needs testing anyways, I will run it.
Linus Torvalds?
Guido Van Rossum?
etc
The US has about as many cars as China and India combined, so that would make sense. I was very surprised how few cars there are in India, about 30M, US has 285M or so.
Elon Musk asked by Twitter users to deactivate all Teslas in Russia
TikTok suspends live-streaming and posting new content in Russia
So, because of a deal worked out 80 years ago between America and USSR, the Eastern Europeans including the Ukrainian people should be blocked from determining their own destiny?
All of the cited examples of "memory-holed" American provocations are well known and understood by large groups of people in the US (although not always voting majorities). I think perhaps this author is also guilty of fundamental attribution error.
I don't see an answer to the question in the title other than self-reflection.
Thanks very good suggestion! I'll take a look if Hugo has a feature for that otherwise I 'll edit the templates :D
This does not "yield a pointer to an object disjoint from any other object". So it only works if the implementation is not visible to callers and they can pretend it's compliant.
Well, that is a fine movie.

Your point falls flat, not because we do need to be able to deal with a scenario like that.

However, we also need to quit creating extremist groups, who use weapons we will often sell them to use!

Case in point is a number of governments we did not like, and to help them out of power, we armed their extreme factions, and guess who ends up bigger, often in power after the carnage? Yeah.

At this point, there are generations of people who do not like us that much. Iraq was a war for choice over oil, just as one easy example.

And sanctions!

Helping those undesirable governments out of power by starving their people does tend to make those people enemies.

My point here is we are creating potentials that we then need to defend against! That's in addition to the ones we would see anyway.

Like I said, the piece is an insult.
Out of curiosity (I mostly use old languages so I'm definitely missing something), why does migrating require support from Xcode? It's just text, right? I mean fundamentally you could just copy the files over and then fix them to be compatible with the changes in the language, right? (Does Xcode have some automagic tool to convert between different version of the language?)
Requiring screen recording isn't about lack of trust or lack of competence. Rather it's a way of eliminating information asymmetry between the author and the reviewer:

- The author might have checked that the code works fine (A) or haven't done it (B).

- The reviewer might decide to run the code locally (1) or not (2).

Combination A1 results in duplicate effort. Combinations A2 and B1 are perfect. Combination B2 results in potential bugs.

The MR standard merely eliminating the combinatorial possibilities by sharing information between the author and the reviewer automatically. The end result is that both parties know A2 is the process that the other person follows.
According to various accounts I have read, both sides had plans to use poison gas in case the invasion proceeded.
Haskell is the Mercedes Benz of modern PL. There are more advanced/esoteric languages, and there are less advanced/esoteric languages, but in general features developed, explored, and tinkered with in Haskell trickle down to other languages.

It offers less and less practical benefits over other languages because other languages evolve to where Haskell has been.

Haskell is correct, and it forces you to be correct and enforces a kind of clarity of thought that is seldom required from other languages. I think it's something you have to discover for yourself. If you don't see Typescript as strictly better than Javascript, you're probably not going to see the benefits of Haskell over any other language.

All that said, we have to ask ourselves which areas of computing Haskell can be profitably used in to gain the kind of critical mass that other languages have:

- Early programming, analysis, data science, etc -> Python is a better fit because it's easier to pick up, easier to understand, even though it's less correct. People discover libraries about checking types at runtime before they discover then can check them at compile time. Python has long since started it's evolution w/ the typing module.

- Web -> JS, because it's basically the only option. Projects like Elm and Purescript have made small dents, but the most successful cultural descendant of Haskell (if you can call it that) is Typescript.

- Startups -> Ruby/Rails, Django, NestJS, etc. win over Haskell here because you don't need to be right to have a successful startup, you need to find customers and after that product-market fit. Your startup could be airflow+google sheets with all-manual validation and still succeed over the most carefully crafted and bullet proof Haskell code.

- Safety critical systems -> Often are required to be realtime and it's easier to get to the safety requirements in other low level languages with strict procedure/process/standards and guaranteed realtime-capable OSes and tooling rather than using Haskell.

I've written about Haskell in the past (excuse the title):

https://vadosware.io/post/how-and-why-haskell-is-better/
I don't have the emotional resevoir to find the hard numbers, but it is estimated that hundreds of doctors and aid workers have been killed because of this specific CIA action. And it turns it, from the article below, it was to possibly confirm that the compound had Bin Laden, not to actually find him.

https://slate.com/human-interest/2011/07/the-cia-s-fake-vacc...
Twitter's market share has only shrunk, and their user base has been flat since about 2015. It is "popular" with a very specific group of people but I don't think they've ever topped 350 million human users at any point in their existence, which while not small, but they're not growing, either.
Weighing Up Risks of Stagflation and Armageddon
Anyone else think that this segment of the tech Twitterati constantly pontificating and humblebragging about their great comp is incredibly cringe?
A few points:

1. You’re not supposed to quit Finder.app. Unless you customise macOS somehow, the ability to do so is carefully hidden. There’s no menu item to quit it, Cmd-Q does nothing, and even the Force Quit menu has “Relaunch” for Finder rather than Force Quit. Any weirdness you might encounter from quitting Finder is entirely your own fault.

2. There’s a long history behind some of these things. macOS UI conventions stretch all the way back to macOS 1.0, released in 1984. Apple has preserved much of the behaviour of older versions of macOS, like keyboard short cuts and (some) of the spatial behaviour of the Finder. It might not be to your taste, but other long-time Mac users enjoy them. If you don’t like the spatial-ness, the Finder’s column view might be more to your liking.

3. Speaking of taste, many of these gripes are just complaining that macOS doesn’t work like other operating systems. If you want your OS to work like Windows, maybe just use Windows?
You think the Enter key should open things in Finder? Long time Mac users would be incensed if Apple changed this, because we’re used to using Enter to rename things, and Cmd-O if we want to open them.
Window zoom not making sense to you doesn’t mean it doesn’t make sense to other people.

There certainly are some valid points in there, but I certainly hope Apple doesn’t “fix” your other complaints, because that would break conventions we’ve spent decades getting used to.
Where to begin? First, let's start with the most specific. Patrick claims to have written almost 3,000,000 words, which is almost 3 times the entire Harry Potter series. I'm not passing judgement on him. It's great that Patrick can write so prolifically, but such an undertaking can only be described as Herculean. Success in writing for the public typically follows a power distribution. Using words written as a proxy for popularity, it can likely be assumed that impact will be exponentially lower for someone who writes less.

Next, let's get a little more general by talking about opportunity cost. Assuming Patrick's writing really is responsible for 7% of Stripe's engineering team (which is a huge assumption), what would happen if Patrick had never written anything? Maybe the company would flounder and die, or, more likely, engineers would still be attracted to a high growth startup and Stripe would largely be in the same position.

Finally, I'd like to make a statement about writing in general. The goal of writing is to convey an idea. What constitutes an acceptable conveyance of an idea is context-dependent, but generally you want to convey an idea for a reason, e.g. you may want to convey the design of a system you're building. In these cases, creating the idea to convey (e.g. designing the system) is so much more important than the actual conveyance of the idea (e.g. explaining the system), unless you're so bad at explaining that people are hopelessly lost after reading your writing. Most people know when they understand something and know when they need clarification. Humans are consensus builders by default, which makes ok writing and great writing equally good in many contexts. The person who started this discussion may have been offended at the insinuation that they can't program, but I largely agree with such an assumption. Writing is a tool ultimately used in our profession to aid in the building of things. To focus only on writing means you're not focusing on building.
Ads aren't just annoying, they're often malicious and downright dangerous. Linking to apps with 0 click subscriptions, illegal porn or with recurring card payments and banking trojans. God forbid you're in the crypto space, every fucking ad is a scam or malicious, people lose their whole life savings to scams pushed through Google ads every day and there is no easy way to stop them. I run an ad blocker because Google is useless at stopping illegal scams and has been for a very long time. Google should have a policy to ban any crypto services name from adwords unless the ad is from verified from the service the word is about. It's not rocket science, but it'd hit the bottom line so until then eat adblock.

I've been a victim of google's vastly inadequate ad vetting on at least three occasions and I'm pretty savvy.
I mean things can be addictive. I used to smoke hella weed and was dependent on it to function. Basically I was addicted to wake and bake and just be high all day. I was still “functional” to others but to myself I was miserable and a husk. I was going to the dispensary every couple days and spending forty bucks. I’m not saying weed is bad, but like anything else moderation and control are required. Now I just smoke on very special occasions like my bday or getting a promotion/raise. But let’s be real while accepting that some people (like me) can get addicted to some things.

I never got hooked on nicotine or alcohol. Nor on video games. But I’m sure some people do get sucked in and feel like crap.
> Does that differ substantially from the real exchange rate?

Official rate is 105.8124 RUB/USD (per Bank of Russia website right now)

Current market quotes i’m seeing are 138.501, so the official rate seems to be about 30% below market.
C, C++, Tcl, Python, Ruby, ES6, Common Lisp, Go, Rust. Go's my favorite of all of these, though not the best tool for every job.

I'd be unlikely to use a library like this in my Go code.
False dichotomy. The unwanting family could seek a willing party to adopt the child.
An unmentioned subcategory is words that that sound or look like taboo words, but are actually unrelated: "niggardly", "Gaylord", "fag" as in cigarette (from "fag end", unrelated to "faggot"), etc.
It does not make sense if you think you have to learn every single function in a language's standard library. And if you think you have to, you are thinking wrong of a language like C++. This sheets are just a summary of what a language is capable of, you don't have to memorize every library function just look up what you need.
Except for all the doordash.
Japan urges nationals not to travel to Russia
> I wonder why didn't he raise a Series A for a recruiting startup yet though.

If you know about some of his pre-stripe past, this is a very funny comment on multiple levels.
>I wonder if that’s not specific to those communities rather than the Go community as a whole.

Maybe. My experience with IRC communities, especially tech-focused ones, is that they tend to be pretty welcoming and friendly. For example #lisp and its sibling channels, on libera, are some of the nicest places around.

By contrast everyone I interacted with on #go-nuts seemed to have a huge chip on their shoulder and a quick snarky answer always at the ready for why Go is always better than $language in every way, no matter what.
Protests never work under a dictatorship. See the Belarus experience and how much people was protesting. I believe that fleeing of IT guys will hurt Russian's economic more than being tortured in the jail.

Any possibilities of protest in Russia are suppressed. Putin has been doing this for decades. We don't have that much support. Visa/MS blocking affects ~1% of the population who want to flee.
Coming back to this a bit late, so I'm not sure who will read this, but here goes.

Arc tries very hard to be a minimal language. This is good for the implementation (which is short, and therefore easy to read and hack). It was also an expression of pg's thinking about language power, which if I recall he defined as how concise programs in the language can be. The intuition being that a minimal language would naturally be powerful because finding the smallest set of primitives to define the language itself forces them to be orthogonal and expressive enough that you can build anything else on top of that. But I'm not sure this is true; instead I think what actually seems to have happened with Arc is that pg retreaded much of the same ground that Lisp had already covered, just with shorter names and some minor syntax sugar. In short, for a PL PhD, not very interesting.

In general I'd say during my PhD I learned that there's a non-trivial tradeoff between minimality, expressiveness, and static analysis (which is related to both safety (via type systems) and performance (via compiler optimizations)). The static analysis problem for nearly any non-trivial property is very hard in most general purpose languages. In fact it's so hard that we've basically given up trying to do aggressive static analyses (for things like whole-program parallel and distributed code generation). And yet, if you're willing to introduce non-minimal features, it turns out that some of these problems are actually tractable. Here are some examples of the sort of thing I'm talking about from my own work: [0][1][2][3].

I'd also add that some of the things I thought were great about Lisps have actually been replicated in more syntax-ful languages (e.g., Terra [4] has metaprogramming with very similar power to Lisp, and also many advantages I haven't seen in any Lisp implementation). And meanwhile, some things that Lisps have traditionally included, like a self-contained, owns-the-world, garbage collected implementation, aren't necessarily all they're cracked up to be, as we've seen with e.g., Rust's approach to safety and performance without a GC. So in general, I think we've seen a lot of interesting developments in the PL world in the last 10-ish years, and most of them have not come from the Lisp community.

[0]: https://legion.stanford.edu/pdfs/dpl2016.pdf

[1]: https://legion.stanford.edu/pdfs/cr2017.pdf

[2]: https://legion.stanford.edu/pdfs/parallelizer2019.pdf

[3]: https://legion.stanford.edu/pdfs/idx2021.pdf

[4]: https://terralang.org/
Wish and do are different things. This is definitely one of those things you don't start unless your willing to finish it, no matter what.
I wouldn't say infinite, there are definitely finitely many
While I agree, I have to say it's sad that personal integrity has become so rare that seeing someone exercise it is a notable occurrence rather than the baseline expected of every functioning adult.
Early in my career I did some bouncing between tech writing and programming gigs (my undergrad degree, after all, was in English and I have close to no formal education in c.s.), and a big part of why I ended up staying on the programming side was that it paid way better than the tech writing did.