skysight-inc/HackerNews huggingface dataset:
Unfortunately, due to a lack of public data, these discussions always devolve into anecdote battles. I would love to see actual data that shows these huge salaries as average. It would really help my next salary negotiation! I’ve been in tech for over 20 years and so far, “Hacker News says we should make $400K” hasn’t really worked with recruiters yet.
The Tiobe index is not a reliable indicator of anything; their methodology is extremely noisy. A fractional percentage drop is meaningless.
I made a similar comment above. Somehow though, I don't think drowning your sorrows in alcohol will help with depression, even if it feels like you doing it for release and self-improvement.
I found this post really curious because he points to some competitors that have also been out-competed, but neglects to mention that and seems to act like they just beat KM and it was game over. Also uses funding raised as a proxy for success which I know he knows does not tell the full story.

However, there was something in here that I think a lot of companies struggle with: how do you keep evolving when you start to calcify around a product and use case, without throwing the company into disarray? Tech markets are brutal and the competing need to stay the course but also continuously evolve and even reinvent yourself is really hard to navigate for all but the most obvious of rocket ship companies.
The OP reads misanthropic to me, and that's a large stumbling block to what you suggest. Building good products generally requires quite a bit of talking to people. And the (personally, financially) valuable ones very often plug into all that "corporate bullshit", so understanding it--and understanding why it exists past the prima facie cynical explanation--is often important, too.
Hmmm, 100 hours of audible content would run me about 3 books. So around £18 when buying bulk credits. Or £24 when buying monthly.

But I was taught to buy books by weight. Which has turned out to be good advice.
This doesn't make sense. How much "stockpiling" is required for enough processors for partners to validate? Surely the amount required for validation is at least three orders of magnitude smaller than the amount you expect to sell once they're released.
Sure. But CPU manufacturers focus on where the money is, and today that's servers and laptops. While not everyone buys apple, an ever larger fraction of laptops are epoxying batteries and replacing socketed cables with hard wired parts. Just like cellphones where it's pretty common for battery life or USB failure to result in requiring a replacement.
I recently moved from a job that was onsite, had a management component, and was nearly 100% human-oriented to one something like what you're asking about. I'm now fully remote with few close co-workers on an essentially self-driven project.

It's wonderful for me, but I have to caution you that it is both a career limiting move and that you still have to do what corporate asks (and they will). That will include status updates, presentations, design review meetings, meetings with legal, required training, etc etc etc. I spend about 1 day out of 5 on this and still occasionally deal with "what have you done for us lately" style concerns.

Part of this is probably due to it being early days, but you should be aware that even in these very flexible, very remote jobs people still have to justify your headcount. And that means you will need to spend time telling those people how to do that.
I can't wait until Amazon launches genetically modified pets that try to sell you things.

Dog opens it's mouth and speaks pre-programmed phrase. "Show how much you love your pet and buy Amazon premium++ dog food, now half price!"
But sufficiency is observer-dependent.

"This is my (IMHO sufficiently simulated) love for you!"
"Test what you fly and fly what you test" is what we live by at SQLite. Testing is done three times:

(1) One test uses compiler and preprocessor options set up to measure coverage. This is not so much a test of SQLite itself as it is a test of the test logic, to verify that the testing provides 100% MC/DC.

(2) The second test runs with assert(), ALWAYS(), and NEVER() enabled. This is like a unit test. It verifies internal assumptions and state, at the expense of running 3x slower.

(3) Finally, we build as for delivery and test once again. This is the string test, where we "test what we fly".

All three test runs must give the same answer (modulo performance) before a release.

During day-to-day development work, we usually run (2), but occasionally toss in a (1) or (3) just to confirm that we haven't introduced any gaps in test coverage, or bugs that are masked by the debugging logic.

So you are correct that you should not do all your testing using one configuration and then deliver a different build. But that does not mean you can't have extra logic in your code that helps do unit testing and debugging during development and which is excluded from release builds. You just need to make sure that you rerun all tests in the release configuration.
How I beat an online scammer and made $2,100 in the process
People do Librivox recordings free of charge as volunteers. Those recordings are just as good as Audible recordings. I myself, with rudimentary gear and a free DAW, can create an Audible level recording for the mere cost of my time. I'm going to have to totally reject your list of expenses. Sounds like a bunch of superfluous positions and bloat.
I'm one of the founders of a company that fosters a network of coders and this was one of its main ideas when we founded it - minimize the amount of communication overhead and allow coders to focus just on coding. Practically, you're getting assigned with Asana tasks that you tackle one after the other. Naturally, you can't avoid communication at at all but if you want, you can limit it to communicating pull-requests/scoping/QA etc.

Normally I wouldn't solicit people to sign up on HN, but since you asked for sources I figured I'll take the opportunity to help fulfill your search: https://www.codersclan.com/, if you sign up, mention you are the poster from HN and I'll make sure to speed the process up for you. Do note that the hourly rates start from $30/hour and that right now we're mostly looking for WordPress or front-end devs.

Another source you might want to look at is https://remote.co/ I think we even advertised there in the past, but naturally the type of work you'll get will depend on the contract you land.
> Do you write a separate serialization function for every single struct and sub-struct you send over a network? And then continue maintaining every single one to keep it consistent whenever a field is added/removed/modified in any struct?

Yes? Of course you do that? Or pick one of a hundred libraries that do that for you - protobuf, cap'n proto, flatbuffers, etc...
The analogy of programming vs cooking is common, but thanks for really developing and writing out the idea.

> Unlike a human cook leafing through a book, computers don’t mind lots of cross-referencing. (page 6)

Not really relevant to the target audience, but computers do mind excessive cross referencing. Having many function calls in a hot loop will hurt performance compared to if they were inlined.

I think the analogy of cookbooks and how much cross-referencing they do probably works well to explain optimally inlining at the compiler level (balance of program size versus speed).
If you don’t have much data parallelism or have heavy conditional logic, you won't come close to 1GFlops on that CPU either. These 2 FLOPs/cycle are for SSE i.e. 4-wide vector math without any conditions or branches.

Update: also, for other tasks, GPU flops are of higher quality than CPU.

VRAM bandwidth is ridiculous, much higher than system RAM, computations that are bound by RAM bandwidth will be much faster.

GPUs mask RAM latency with hardware multithreading, if your code is parallel and needs to access large amount of data randomly, a GPU will saturate these flops, a CPU will sleep most of the time waiting for data to arrive.
[edit] Replying to myself:

I'll go a little further. Past few years have been extremely hard for me, haven't been able to concentrate for ~6 months to the point of not mentally being able to work (had to sign off sick (am in the UK)) and just starting to get back to work next week 1 day a week, unpaid.

I can just about keep my clothes clean, and mostly keep my flat clean. I'm mentally very unwell to the point of being unable to go to the pub and socialise as I used to. I was unwell to the point of being a danger to other people (am over that now, thank god. Yes, I did talk to the doc). I am coping, barely. I have no current interest in life, music, little interest in other people etc.
I'm abusing drugs and alcohol as a way of coping, though in the long term I know that's a bad idea (and I draw a clear distinction between drug use/drug abuse, entirely independent from what's legal/illegal).

Point is, I feel justifiably terrible but I'm not clinically depressed. For sure I'm down, but I'm nowhere near the utter destructive blackness that is real depression, and I'm bloody grateful for it.

So I can't see what you describe as depression in any way that I can comprehend.

(NB, life sucks but any sympathy you can shove up your arse. I'd much prefer you took the piss, at least in a nice way. At least I'd get a laugh out of it).
A solution seeking a problem has little chance of becoming a billion dollar solution.
Google used to have a phonebook search feature, but it was retired years ago. I don't know the reasons, but it might have had something to do with privacy or legal actions.
If you have a binary blob that works only in conjunction with the specific kernel version 3.14.69 with a specific patch set, is that then a driver for Linux? It comes down to what information you are trying to convey and what the receiver understands. If you say something is a "driver for Linux", then that unqualified statements implies that you can grab Linux and combine them with the driver and make it work, which is not true.

There are drivers for Linux which work on virtually any kernel version. In contrast, the blobs that are in Android are binary blobs that happen to work with one specific kernel binary, they are not drivers for Linux.
Many cheap gps trackers support "vibration wake up", they go to sleep after a while they've been still and wake up when you start the car. They run in sleep mode at least a week on an internal battery so charging them only whole the car is on is not a problem.

Traccar supports many protocols so you are usually able to buy a random tracker and reconfigure it to work with your traccar instance.
Yeah, firmware is another issue. You read and flash firmware or parameters often directly over that CAN bus. There is nothing to validate that, for one manufacturer, I needed passwords (casually handed out to every supplier, the same for every unit), for one, the "encryption" was a XOR with the same number that had been used for every model for years. I didn't know why they even bothered. One of the manufacturers at least stopped you from flashing new software to an ECU more than 3 times.

Did I mention that we had incredibly high fluctuation (at least production line test benches - brutal deadlines and 2am deployments, working in loud production halls, lots of travel, no technical innovation,..). We basically hired anyone who was alive and somewhat skilled. I don't think anybody ever talked to me about security - ever.

What these articles are showing, is amateurs' work. I'm terrified by the idea of what a disgruntled / crazy / .. person with experience in the field could do.
Agreed, but having said that there are a lot of people developing for iOS who never made the switch due to past language instability and continued poor quality tooling.

Outside of iOS I don’t think it’s made a dent and I would be surprised if things like Swift for Tensorflow make a difference there (if only because the number of ML devs is very small and the appeal of Swift for ML is also pretty small).
I broadly agree with you on the weakness of the evidence, but I'd strongly recommend exercise to everyone anyway. The overall health benefits are immense, even if it turns out that it doesn't do much for depression.

Higher physical activity in the general population is likely to have a significant preventative effect on depression, because chronic physical illness is one of the most significant risk factors for developing a depressive illness and exercise has a strong preventative effect on chronic physical illness.
I did that work for a while. Basically, they were outsourcing to me because they can't fill their local position. I did charge higher than the local rate though (London). But you'll need to go through the client acquisition first and there will be emails, payments, etc... You know: freelance bullshit.

There are ways to avoid corporate bullshit:

- Start your own product. But you might face some government bullshit.

- Trading. Probably the best if you want to avoid any human interaction. While you are at it, move to a tax-friendly jurisdiction and pay 0 in taxes.
Well-paying jobs like this exist (I have one), but you need to be lucky to get one. You need to find a remote-friendly/first workplace with a good manager who knows you and trusts you, and then you need to push some more for those additional freedoms you desire. Simply say you're not doing stand-ups anymore. Chances are if they're already remote-friendly, then they can be nudged to give up even more control as long as you deliver.

Good luck and don't give up, it's worth it.
Cannon Lake-U is definitely not OK, the GPU is disabled in all shipping parts, and aside from AVX-512 really isn't much better than the equivalent 14nm part.

Ice Lake-U sounds better on paper - at the very least it's a 4C die.
If people are underpaid that also contributes to income inequality and poverty, no?
When writing code, you don't want to context switch to writing doc comments while holding the problem in your head. So you do it after the fact, if at all.
Good point. Muddy beaches near ports that were active when these types of ships needed ballast. There's a port at San Antonio west of Santiago. Maybe ask someone around there?
I would suspect it’s because even many of the core libraries are still written in Obj-C. Swift is neat and I really like it, but the ecosystem is such that even when using it on a new project you end up writing ~25% of your project in Obj-C.
Audible alone did over $3 billion last year.

"Major publishers have confirmed to Good e-Reader that 1 out of every 10 books sold is in the audio format ...

HarperCollins stated that downloadable audio accounted for about 25% of all digital revenue in the recent first three months of 201"

https://goodereader.com/blog/audiobooks/good-e-reader-global...

Hardly tiny.
Damn straight! That's why I exclusively use punch cards, for that good ol' reliability. Don't need no new fangled language crap! Sugar is for eating, not for syntax!

If you're actually stuck with C89 you have my sympathy, like all the people stuck still maintaining FORTRAN and COBOL. But that's obviously a niche case with extreme limitations, it doesn't really need to be brought up every time someone mentions C99. Or C++11 for that matter.
It can do that. It will when adults do not participate with kids.

One of the big battles we have as parents is relevancy. Tech augments that struggle, when it is not part of the conversation.

Surf with your kids. Build, do, play, learn with them too.
But isn't that just the result of lack of hardware gains limiting new software application areas? If single threaded performance had been doubling every two years for the past 10 years like it did historically, then there would likely be new applications available that made use of that 30x performance gains to deliver functionality that would be popular enough that it would reinvigorate the upgrade process.

It seems unlikely that hardware improvements have stalled out right at the point where the performance level was just good enough.
I've recently been stuck with a react native project and I was surprised to learn that objective-c is still the language of choice for interop.
If exercise is making you vomit, I think you're doing it wrong. What did you have to do to get that reaction? Did you try backing off the intensity to a level where you could simply cope and enjoy it?
I think the issues you describe are a function of company size. If you find one that is under 50 (or even under 20) people, there will be basically zero corporate fluff.
My own experience tells me of things being quite opposite of this. Big hosting providers care little for what runs in their servers for as long as it's fast (they always can pass costs onto their clients without loosing much, especially bigger ones)

In OEM, things are dominated by much more complex dynamics in between supply chain, factories, and clients.

Intel had no problem with Taiwanese, as a lot of TW companies had relationship with Intel since the "Desktop First" era, but in mainland, Intel had to fight a bloody battle for the fresh and juicy laptop and tablet markets for the last decade, with kickbacks, blackjack, and hookers. Their position here was never strong to begin with.
This is the impression I get as well. VB.NET > JavaScript?

Here's what they say about their methodology:

> The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
It's not about size, it's about predictability and explicitness. Rust has features, though it also won't do anything you don't tell it to do, and its guarantees hold throughout. You don't have to know and understand how something works to be effective, just the languages guarantees. All the abstractions have zero cost anyways. If you want to write "like C but with guarantees" that's totally fine, and you can safely and predictably interface with anyone elses libraries.

tl;dr: while big, it reduces your cognitive load through strong guarantees. Think of it more as progressive disclosure of complexity.
Ask HN: Amazon WorkMail as an alternative to Gmail?
I want to switch from Gmail and I'm considering the Amazon WorkMail. I know Proton and Fastmail exist but I'm curious if anyone has experience with WorkMail as a personal email?

https://aws.amazon.com/workmail/features/
Nope. ECUs have something called a "fault memory" where the last n detected errors are stored, and that can be recovered. This is actually what workshops use for diagnosing a car.

This can give lots of information about what happened (faults could be "didn't receive message xyz" "sensor xyz gave signal out of tolerance").
But there is definitely no system trace for the communication - too many messages to really store them I guess.
John Derbyshire has become a controversial figure:

https://www.google.com/amp/s/amp.theguardian.com/world/2012/...
FWIW the least political job I ever had was at... Microsoft, in the dev tools division. Seriously, less politics there than at the tiny tech company of about 15 people where I met my wife. That was almost 25 years ago, but I’m still amazed at how meritocratic it was.
i can imagine that you're right. however i was there for business twice, and saw some very depressing things. the seeming ubiquity is hard to shake.
I really like Swift as a language. To me it feels more elegant and less verbose than Objective C. However, the tooling around Swift is worse, so you have to live with longer compile times and other random bugs. This drawback is still not enough to make me go back to Objective C. Also, I am not sure I get the argument about ecosystem - you can easily include Objective C dependencies into Swift projects.
I got on board with Slackware[0] 3 for 80386. Tried Minix a couple of times, also FreeBSD, OpenBSD, NetBSD, etc. Linux killed them due to community. Among other luminaries I met with Jon 'Maddog' Hall[1] a couple of times around 2000-2001, once in Sydney and once in Taiwan. We had various discussions, and I recall he said Linux was going to be "huge" in embedded. In 2008, Android happened. Fast forward another 10 years and now I am in China running a hardware company, and we're yet to see an open mobile offering. Even as my company have migrated from Linux to smaller microcontrollers for most tasks, and as computing and electronics at all layers continue to seep in to the rest of society causing massive changes (social networking, consumer-first walled garden devices, connected TV, mobile payment, everything-aaS etc.) on unsuspecting, status-quo industries, it's interesting to reflect on the continued significance of Linux's culture in shaping the technical community.

I don't in any way miss the hardware and bandwidth limitations of those days... but sometimes not having a billion examples on tap forced you to engage more deeply or distinctly with system fundamentals.

[0] Today I am a supporter of Gentoo (IMHO the 'spiritual successor' to Slackware) and NixOS.

[1] https://en.wikipedia.org/wiki/Jon_Hall_(programmer)
> If you are paid to perform a service based on the terms of a contract you are, by definition, a contractor.

1. "Contractor" means something specific in the Defense industry. Every employee, including members of the armed forces and employees of DHS, are "paid to perform a service based on the terms of a contract" (the employment contract). But, of course, literally everyone knows that when I say "contractor" I definitely do not mean "someone who has signed an employment contract with the federal government".

2. The expectations associated with grants are different enough from most other contracts that there's a useful distinction between "grant work" and "contract work".
you have to learn office politics
With respect, are you sure you're in the right industry? You like to code however you don't enjoy the human issues associated with the job. Every job has those in tech and many outside of tech do too.
“If you can’t explain it simply, you don’t understand it well enough,” followed by “For example, we write Lagrange’s equations in functional notation as follows:
D(∂2L ∘ Γ[q]) − ∂1L ∘ Γ[q] = 0”
Whoa Nellie! Gonna get bumpy.
Well, you could take that literally, or you could take that as a marketing draft, where every idea written in the PDF would later be used as part of advertising.

Bullshit is what makes good video adverts rememberable. It just has to be unique bullshit.
How to build a passive IMSI catcher
Oh, and it appears that Smalltalk has at least re-entered the top 50 after a 5 year absence:

https://medium.com/@richardeng/smalltalk-and-tiobe-5409afb19...