skysight-inc/HackerNews huggingface dataset:
First, the practical answer: you sound like you have been unlucky enough to work only in pretty awful corporate environments. Stand reassured: all companies are not like that. Simple rules to vastly increase your chances of working within better environments:

Rule #1:Avoid big companies.

Big companies seem to attract and promote more sociopaths. Or maybe they are just more visible because of the larger population? Possible explanations include: sociopaths are focused on their carrier path within an organisation rather than on accomplishing something, which attitude is only possible within a big organisation where many layers of hierarchy and processes offer shelter from the hard realities of customer (dis)satisfaction and competition.

Rule #2: Avoid the web.

The technical culture is just too bad there. Ideally you should look for a development job in a company that also employs other kind of engineers (telcos, construction, industrial equipment...) The culture will be more grounded in science (and the economy), and the objectives less vaguely defined.

Rule #3: As a last resort, consider leaving the USA and emigrate to Europe, where the corporate culture encourages less openly hypocrisy. Note, though, that this "fake it until you make it" attitude that tends to make American coworkers creepy to us Europeans has been shown to have a positive influence.

Now, I also wanted to address you depiction of the ideal engineering work as closing well defined tickets.

You are certainly already aware that explaining to a computer how to solve a well understood problem is a very simple task, compared to the work required to explain to a bug tracker what a problem actually is and what its solution should be.

The first task consists merely of translating a specification into a program, while the other task requires to understand a complex system, what it does, how and why, its history and to anticipate its possible futures, plan its evolutions, etc. This is so much harder, especially because to reach this point where you understand enough the problem that you can write the specifications (or directly the program) you have to collect information and ideas from many human sources and to also fight human incompetence, lazyness, malevolence and conflicting interests.
To do this efficiently you need a lot of knowledge, not only technical but also about the industry, the internal working of the social organisations you are part of, etc. That's being an engineer in IT here and now, and very few jobs will match what you are looking for.

And if you ever find one, chances are that you will then just play a role in some managerial intrigue and nobody will actually care about what you are doing.
Lets Build a ClojureScript Chatroom
I was also confused at first glance. But Megametre would be Mm, not Mk.
C11 6.7.9.19 says "all subobjects [of an object initialized with a initializer list] that are not initialized explicitly shall be initialized implicitly the same as objects that have static storage duration."
Sounds like another ’Boeing software bug’ is likely to hit the smart cars business.

From working with military computer security I know that nothing directly connected to the Internet should be considered safe. Sounds like a bad design decision
Julia Angwin Is Out as Editor of New Tech Watchdog Site the Markup
DNS over Tor
I get that feeling a little, too, but noise-cancelling headphones have an added bonus for me that makes it all worthwhile: they completely negate my tinnitus.
> medical diagnosis

OP’s post is pretty level-headed, they say they like coding and people but dislike office politics, and all you have to do is to recommend them to go to a doctor? Maybe you’re the one with the mental problem?
Isn't this the equivalent of "I can do Dropbox in one weekend"?
ES File Manager Vanishes from Play Store, Possibly Part of Do Global Scandal
https://www2.rgzm.de/Navis/Ships/Ship118/Image/118F3005.jpg

Photo of a reconstructed Roman rudder. Doesn't look so bad?
If you can't tell the difference between the average LibriVox recording and the average commercial audio book, there is no way you can produce an Audible level of recording.

Even if half the volunteering recorders and their gear were as good as those of the commercial offerings, just sitting and selecting those that are not good enough for publishing and those that require some re-recording is a massive extra work.
Elon Musk made a baseless accusation that an experienced cave diver who criticized Musk's rescue plans was a pedophile. In public, and with millions of followers hanging on Elon's every word.

Now you're here with rustled jimmies acting like there's something wrong with society, and with me, for thinking that no, he should not be able to make such baseless statements without consequences.

You are what is wrong with society. Your pretend-utopia where anyone can say anything doesn't exist. In reality, when someone like Musk calls a man a pedophile, some people go ahead and believe it.

The cave diver faces consequences: He may lose his job, his friends, even his life if a vigilante takes matters into their own hands.

And especially so if there is no pushback against Musk. And if you leave the pushback up to the victims of Musk's rhetoric, realize that they are outgunned by millions of dollars and millions of followers. What value is truth in today's social media?

Let's move on from Musk. In your world, people can launch conspiracy theories about sex rings in pizza parlours, without consequence of any kind. For them.

But the pizza parlour has a consequence if people stop going there. The pizza parlour has a consequence if armed vigilantes show up to "investigate."

This happened. Speech has consequences whether you pretend it doesn't or not.

It's not enough to imagine a nice world where everything works perfectly provided all of the people in that world act in good faith.

You have to think about what happens when people don't act in good faith. In your world, other people get thrown under the bus, and you either haven't considered that, or don't care about their consequences.
I maintain a port to Clojure https://github.com/littleredcomputer/sicmutils

I haven't done much with it recently but have plans in the back of my mind for when I have more free time.
Ok, if you must know, that week was at the end of the Oregon winter, my first time north of 40 degrees after years of California living. In addition I had just moved away from all my friends to a new city, had started remote work and felt isolated from my coworkers. I also had some other deep conflicts that were difficult for me.

In other words it was not just one bad week, I was fucking depressed. It was one bad week after months of being down. But thanks for making me play "more depressed than thou", I hope I won this round.
Open-Registry – JavaScript Registry Funded+developed by the Community
Thanks. You missed the point. Good job.
The memsetting code is more obvious for older programmers and probably more compatible too. I don't want to start a flame or something, but if you want shiny new programming features and initialisation you should probably look away from C and try javascript ot something similar. One of the reasons we love C is that the same code compiles and works cleanly on the latest linux, a freebsd 4.11. or PIC16.
I know this is a duplicate post [0], but I felt it deserved another chance at getting some discussion going about a community-supported package manager, as an alternative to NPM. Here is the repo: https://github.com/open-services/open-registry

[0] https://news.ycombinator.com/item?id=19739872
20 years ago, I did embedded computing with systems that would scale to about 360 processors (PowerPC "G4" MPC7410 @ 500 MHz) and about 70 gigabytes of RAM.

Yes, it really was embedded. It fit in 9U (15.75 inches) and was rugged enough to fly in a military aircraft. The OS would let users turn off interrupts in order to squeeze out every bit of performance.

We could also run the OS on the SHARC DSP, which is a word-addressed Harvard-architecture chip without an MMU. Running on that would allow 3x the CPU density. One system got up over 1000 cores.

IO would typically come in via DMA, over a 32-bit link running at 40 MHz. There could be many of these.

The end result was generally something like a radar. The end-user sees a radar, buys a radar, and uses a radar. They don't see a computer. The computer is just a component embedded in the radar.
>Amazon, is to book publishing what Facebook and Google are to magazines

Unfortunately, this is a very accurate analogy.

I like listening to audio books and Audible is definitely very convenient, but I am 100% sure that in the not so distant future Amazon will completely destroy the whole publishing ecosystem in US and that will have horrendous effect on the quality of what is being written and on the availability of things to read.

Audible is good, because it's not sustainable. It's good, because it benefits from the infrastructure that would not exist if books were created for audio instead of paper.

If Audible get really popular, it will just become a centralized long-form podcast service. They're already edging that way with "originals".

It's amazing that after seeing this process repeated again and again in the lat couple decades, people still can't predict when it starts to take pace in yet another industry.

Technically, no one stops any book author from hiring a voice actor and then selling the result from their website directly. This doesn't require a middleman. Yet, how many authors do you know that actually do it?
In fact many embedded requirements are not as complicated as a 3D printer and essentially consist of basic logic and state, sensors and effectors, potentially with some external communication. It may surprise you but 8 bit micros are absolutely fine for this and can serve HTTP at well over a hundred requests per second without breaking a sweat.

If you read the Stepper code for Marlin @ https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/s... you will see it's nontrivial... bunch of PhDs implementing nontrivial maths in a highly constrained environment. That's cute but not demonstrative of real world concerns. In such cases, you would absolutely throw more hardware at the problem, eg. for motion systems maybe dedicating one 'dumb' MCU per axis and outsourcing planning to a more rational/powerful environment.
The one thing I wish that NOTIFY had as a feature would be the ability to do NOTIFY [N], or at least NOTIFY 1. I was writing a very very basic job pool previously and had to try to overcome the thundering herd problem but at the end of it couldn't. I know it's a niche case and maybe there is a clever way of dealing with it, but the only way that I could find to avoid re-doing work and/or trying to select jobs that weren't taken was to allow each listener to be notified and lock the row, where each query for a job would be roughly SELECT * FROM jobs WHERE .... FOR UPDATE SKIP LOCKED and then bail out if I couldn't find any jobs. I could have been using NOWAIT instead, it's been a few years. We weren't looking at a huge number of async jobs to occur but needed reliability and auditing. Ultimately I believe that we scrapped this whole idea so it's all moot but it definitely would have made prototyping a bit easier
US Foreign Service Institute's ranking of language learning difficulty
I do not find this. My problem is that my headphones press the upper-half of my ear into my head. After a couple of hours it gets sore. Simply taking the headphones off for a few minutes usually relieves the pain, and I can continue. I think I've got used to it: when I first started using my headphones, my ears would begin to hurt after ~20 minutes.
That's the world we live in... but I'd do it anyway... or even when there's no one else around :)
How many are stuck in relationships with no love of any kind? At least simulated love exists.
This article has taken the thoughts right out of my mind. I struggle, as an achiever type, to "waste" time and therefore fill my mind with audiobooks from the library as well as audible.

The need to unplug is real.
Nixon Got Pushed Out by Republicans. Trump Might, Too
I'm an extreme outlier, but I'm about to start an Objective-C codebase (a 2D renderer on top of Metal), because I suspect interop with Rust will be a lot easier. In particular, it looks like you can just build .m files from a build.rs, and I'm pretty sure that's not true with Swift. It's also possible to invoke Obj-C from Rust using the dynamic features, but I think that's both code bloat and a runtime cost. [I'm interested in exploring these issues further, but it's probably outside the scope of this HN thread, get in touch if you want to discuss.]

Example build.rs: https://github.com/emoon/rust_minifb/blob/master/build.rs
Heavily depends on your target market, neither does it just hurt to say "This browser is unsupported for being too outdated" we do it for <noscript> why not <nopropercss> :/
If you are processing data from the network, any uninitialized read gets attacked. My experience is padding (both inside a struct, and outside - array alignment for instance) gets attacked.

The only safe option is to initialize everything.

I say this having spent more than a decade working on software that is always being attacked.
I'm ready for when I can have my books read to me with machine learning à la WaveNet or similar, effectively cutting out the middleman and making a very cheap audiobook version. Google Books can already do this with epubs but it's not at the same level as a professional audiobook however.
> But will Africa and other low wage, low infrastructure economies be caught in an automation trap?

This is a good question, one that I'm wondering about myself. I'm hoping to read "How Asia Works" in the near future, to better understand what specific factors were relevant in the early economic success of East Asia.
I don't know how it was in your country but where I live I think PE is supposed to be about more than exercise. It should develop proprioception, hand-eye coordination, multiple moving bodies awareness, etc.

What kind of PE lessons do you think would have been suitable for your 11 year old self ?
That would be a long and difficult vacation I mean job.
"If you want a better quality of life, choose companies that don't rely on software as their main source of income and have been in business at least 5 years. I usually only choose companies that utilize software, but the main product is not the software itself.

My motive is that I have side businesses that I also run during the day."

This post really resonates with me.

People on here always tout the idea that you don't want to work for a company where software isn't the main product because then you're in a 'cost center' so it drove me into a job at a faang company. Now that' I've been at one for a few years I see that it's just full of people chasing clout so they'll work themselves into the ground.

Trying to work on side projects is futile when you're expected to work lots of unpaid overtime so if you have any ambitions outside of work you won't fit in well. I wish I had known this earlier on.
...pull a respectably specified ticket with clear acceptance criteria.

1) respectably specified
2) clear acceptance criteria

That's where 95% of the work is. That's what generates all of the interpersonal crap. I hate to be quite so blunt, but you're asking something like "why can't I just do the easy part?"

You can but you'll likely collect proportional pay. (ie the below mentioned $5/hour overseas outsourcing).

On a completely unrelated note, most outsourcing projects fail because they hope they can magically skip 1 & 2 and the outsourced labor will just genie up a working product.
Yes, I suppose so. There’s also the support side of things, which is likely to involve quite a lot of “bullshit”.
> Swift is worse, so you have to live with longer compile times

Is this truly a factor? Aren't the vast majority of mobile apps relatively modest in scope due to the very nature of the platform? How long does it take to compile an average Swift app?
> Maybe you’re the one with the mental problem?

I don't think this is helpful.

Being able to either ignore or put up with office politics might be a pathology, but it's a pathology that is required in most well-paying work environments. Passing subjective judgement on it isn't helpful unless you're a) a high-level executive with the ability to drive culture changes; or b) able to provide examples of work environments that better conform to OP's preferred social interactions (which I do in my original post).
5 communication types that destroy company morale
The Tiobe index is based entirely on search engine result counts. Those numbers aren't even particularly meaningful as a count of web pages; treating them as an authoritative source of programming language popularity, as TIOBE does, is ridiculous.

There are a couple of really strange comparisons you can spot in the results. For example, Scratch -- a visual programming language made for children which is only usable on its own web site -- is ranked higher than TypeScript, Lua, Scala, Kotlin, or Rust. Similarly, D -- a proposed replacement for C++ which has never found any real traction -- is ranked even higher.
That's an interesting story but you have to admit high bandwidth real time signal processing is a pretty specialist embedded workload. I guess these days there'd be FPGAs and/or existing IC packages for the job.
COBOL and Fortran are indeed still wide used, however I claim there is way more C89 than those two together. The point about C89 is that this covers a large area - all common Unix/Linux APIs and libraries are at least C89 compatible, if not written using C8 and as the GP mentioned embedded often depends heavily on such compilers. Thus usage goes far across industries with new libraries being created each day. COBOL and Fortan are way more in their fields (legacy business and science respectively) where more and more logic is build around those old systems using newer languages.
I work at a site that claims to have evidence that would have similar implications. The burden of proof is indeed very high, and for good reason. You need to demonstrate that (a) the remains were the product of human activity, (b) the context was secure, (c) dates samples are representative of secure contexts, (d) samples are not contaminated and were processed effectively, (e) the dating of the site as a whole is internally consistent. Some material just doesn't lend itself to meeting that kind of criteria, that's just how things are sometimes.

What this article should focus on is the work of Lauriane Bourgeon, who went back to the material and tested it under revised methods that were specifically oriented to meet these criteria. Archaeological knowledge does not just result from one-man discoveries, but accretes over time as new ideas become pervasive and we develop new ways of recognizing archaeological phenomena.

All that stuff about monteverde and other similarly controversial work is just red herring that distracts from the claims that the article is supposedly all about. It says 'archaeologists are stuck in their ways! They are such extreme orthodoxy gatekeeper morons!" But archaeology is actually one of the most interdisciplinary domains of science and is most open to alternative perspectives, based on my varied experiences at least. If the article wanted to seriously tackle knowledge production in archaeology then it would actually address how archaeologists think about and use evidence to draw narratives about the past, which involves discursive knowledge and values, which could be very well represented by Bourgeon's work as a case study. Or you can write a thrilling blockbuster about the lone outsider who tore down the temple of doom with his own two fists.
Yes, you've been plugging this throughout the thread.

I've been working on writing a book and want to sell an audio book alongside it. Could you go ahead and record it for free for me so I can sell it to recoup my own costs?

No? Why not?

I'm glad there are volunteer projects out there, especially keeping public domain works available and accessible to more people. I'm even more glad that you feel that the quality of your work stands up to the quality of commercial work, as mentioned in other comments in this thread. I've not heard your audiobook recordings, so I'll abstain from comment on that front.

But why are you in here claiming that your volunteer work diminishes the paid work of others? Is that something to be proud of?
Have you tried scribd?
As ricardobeat points out, this isn't a difficult barrier to overcome now and hasn't been at any point since the guy started inquiring about it. The "puzzle" remains because it's neither important nor interesting, not because it would be difficult to solve.
Para 9 is talking about members that do not have names in the struct definition. Missing initializers are covered later:

21 If there are fewer initializers in a brace-enclosed list than there are elements or members of an aggregate, or fewer characters in a string literal used to initialize an array of known size than there are elements in the array, the remainder of the aggregate shall be initialized implicitly the same as objects that have static storage duration.
#include <stdio.h>

struct abc { int a; int b; int c; };

int main() {

struct abc b = {2};
printf("a b c = %d %d %d\n ", b.a, b.b, b.c);
return 0;

}

% c99 test.c

% a.out

a b c = 2 0 0
I've used noise cancelling headphones for thousands of hours by now, luckily no issues. My latest pair is Sony 1000xm3. I love them so much, it would be a huge bummer if I was afffected by the pain issue and had to give them up.
I don't have the energy to get out of bed, but running will help! Am I wrong in feeling that this is as useful as telling the morbidly obese to just cut calories?
Well. Since Apple’s retention rate is in the high 90s and that there are much cheaper Android alternatives available, maybe iOS users are okay with that....
Wait, what's missing from your description to fit the clinical depression ?
Wow, that's out there. It's such a shame that so many people whose work would otherwise be a net positive have to stain their reputations by being such outright a-holes in other aspects of life.
That was a fun story. I like the way you write. Did you read any of the books on improving writing? Normally I'm not able to read posts this long but in this case it was easy.

Congratulations on the win.
This reads like a SEO article for "Bose QuietComfort 35" (just count how often it is needlessly spelled out) and - oh wonder - contains referral links to the same product they warn against in the article.
I don't care about the random TIOBE fluctuations. But I really don't get the love for Swift.

- Optional is a nuisance and I don't think it is highly effective at preventing the dereference of a nil pointer in practice. People are going to fiddle with ? and ! until their code works, and the protection that Optional provides then disappears.

- "let" is a mess. In one context it means unwrapping an Optional. In another, it doesn't. If you use it in an expression, it interferes with the usual refactorings that people apply to expressions.

- There is so much fussy detail around preserving the syntax of object.field = expression. didSet, willSet, getters, setters, oldValue, newValue. WHY IS THIS SYNTAX SO FRIGGIN' IMPORTANT? One of the justified criticisms of C++ (IMHO) is that operator overloading means that all sorts of functions can be running under innocent-looking code. I would much rather have = mean assignment, and use function call notation when I really want functions to run.

- Reference counting is a bad compromise between the unpredictability of GC, and the burden of explicit memory management. It's mostly unobtrusive, but I've seen examples of code that require careful and non-obvious use of weak to avoid memory leaks, (sorry, I don't have the reference handy).

It sure beats Objective-C, and it does have some nice modern features, but I think they made some unfortunate design choices.