skysight-inc/HackerNews huggingface dataset:
D's actually worse than Zig in regard to point 3. Kristoff's example demonstrates why. In D you would have to change the "if" to a "static if", D will always evaluate normal "if's" at runtime even if they are comptime-known, it will not do this automatically for you.

The bigger issue D has with this example is that normal parameters are always runtime. If you wanted this to work in D you would need to implement 2 versions of "double", one that takes n as a template parameter and one that takes it as a runtime parameter. D keeps comptime and runtime parameters separate, making comptime-knowness a "parameter color" which in practice means having to implement things twice if you want it at comptime and often in different ways. There are some things that can work with both but it's small subset of both.
Twitter is just a ticket booth. Had over request, get tickets back.

Except the ticket booth is in the middle of Times Square in New York and it needs to serve millions of people per second and be instantly accessible around the globe.

The complexity is in the infrastructure, not in the complexity of what they're serving.
Very broadly speaking, HN is the forum of choice for the 'Web 2.0' and VC backed startup culture that went along with it, i.e. what is commonly perceived now as Silicon Valley culture. This culture is becoming increasingly reactionary now that their power is threatened/fading. Musk, while part of the early rise of that culture in the late 90s is now well outside it (represented by his move from California to Texas) and is a favourite target of the cohort described above. See also HN's noted long-term antipathy towards Bitcoin.
Thank you for keeping me honest @reaperducer. It wasn't an intentional omission, I'm evidently just bad at reading.
Tesla has millions of cars in service and Twitter has millions of users. Same level of complexity!
According to the engineers in the undercover interviews, a large part of the staff only work "when they feel like it", which would result in some taking months of paid time off or just hanging out in the office all day.

kloc is not great as a general metric, but in this case it might make it obvious where you can trim a lot of fat..
I can't wait for the next version of Pantone Pink! I mean, really. </sarc>
People always do this with Elon... it doesn't matter if he's making cars, building rockets or taking on social media, the general consensus is that he doesn't know what he's doing and will fail.

But, who's the richest man in the room? Who was right and who was wrong?

People can hate on Elon all they want, but it's pure ignorance to think that we know any better.

Let the man work his magic, I'm curious to see what he comes up with.
this cracks me up lol
There's a vast gap between being an abusive alcoholic and being perfect.

Do the people who give good advice have to be famous?
We've gotten quite a few public comments from Musk on what he plans to do with Twitter, and they indicate total cluelessness from a product and engineering point of view. There's nothing to indicate an appreciation for the unique challenges Twitter has in balancing free expression with appeal for advertisers (or even that these needs might be in conflict), or even on the subtleties in what free speech even means for Twitter. The acquisition seems motivated by politics and impulsiveness rather than any coherent vision for the product.

A rocketing share heals a lot of wounds. His abusive management practices might fly at Tesla, or his vision oriented startups. There's ample room for doubt his tactics will get results on a turnaround job like Twitter.
I implore you to consider that auditing code is more than just big-O analyses.
> You (statistically, possibly not literally) know someone, and call them a friend, who is, as a person, worse than Elon.

No, I don't, because if I find out someone I called a friend behaves like Elon does, *I cut them out of my life*.

------

> billionaires are supposed to be perfect people chiseled out of ivory.

Billionaires have the outsized ability to strongly impact/harm FAR more people then some jerk who works a normal day-job and just says racist things to their friends over beers on the weekend.

So yes, I think it is a moral obligation of people who have the ability to impact thousands or millions of people's lives to take said responsibility seriously.

The fact that Elon has so much leverage over the world, and continues to act like a flaming dickbag in public I think should cause far more castigation of his behaviour.
This is really weird to me -- the merge commits are the only ones without any information, because they are all autogenerated. The only time I ever look at a merge commit is when someone screwed up a merge conflict. I have written commands to filter out merge commits before.
It does happen all the time in commercial contexts in certain industries. Look up Spark Ada for lots of commercials applications.
On the same note, I always think that any change or action leads to unforeseeable results in the future. Literally, you stepping in a shit yesterday could lead to you becoming president in 10 years. The butterfly effect is real and continuously acting on an enormous scale, this is why you should never be too sad or angry about any event, as it is neither good nor bad because no one knows what effect it will have in the long run.
Then maybe he’s always right. As chief engineer at Space X for example, if he was an idiot or surrounded by idiots do you really think he would be succeeding?
Might you think that they're not actually reviewing code and that the journalists are idiots? Because all evidence I've seen about journalism is that it's completely skin deep and often blatantly wrong. It's likely the engineers are reviewing architecture and looking at how the whole system works.
It would be reasonable for Twitter to pay Tesla for the audit work, because otherwise it would be a misuse of Tesla resources to only benefit the Tesla CEO.
You need to write a book and/or explain how you can review 500kloc in 8 hours. That sounds ridiculous to me but I may be missing something
>I implore you to consider that auditing code is more than just big-O analyses.

That isn't at all what I said nor implied.
Change the formatting lol.
At Twitter's scale the issues are far less about "this code smells funny" but how dozens of systems interact together. Ain't nobody gonna figure out problems by simply checking out a handful of repositories, and specially in a few hours / days.
Ok, I’m glad we agree that the Babylon Bee should stop complaining about how other people define these words.
Legally I have had one employer contract call out that they expect you to work for certain hours, but that was a Canadian startup; none of the American companies have had that I remember.

Ethically though, I don't feel this way at all. They're paying for my output not my time. I don't get paid overtime when I work extra nor do I get credit for working on the weekend.

I don't think I'll convince you but I guess I would say you don't owe your employer your life. They'll cut you off when it's to their benefit and it's best you do what's best for you.
I've been in a few situations where we printed it out. It's just a lot faster than granting someone access to internal systems. It's also a firewall of access if you need that legally. Also you can sort paper into "to look at later" and "seems fine" (like huge chunks of json), it's annoying but not terrible for diligence.
Tesla engineers need to look at their own code, the app is a total nightmare. Try chatting with customer service on it sometime.
I think you're massively underselling how complex it is to run something at scale. It's not a matter of just making the database go fast. Just using the database as an example (even though there's way more to it than just the database), you can scale a database a bit by sharding or running it as a cluster or what-have-you, but you can only shard so wide before you run into other problems which are much harder to solve. Running at a massive scale requires rearchitecting almost everything that came before.
Recent and related:

This file has Pantone colors that have been removed and replaced with black - https://news.ycombinator.com/item?id=33369951 - Oct 2022 (224 comments)
It's a thing. It's the kind of thing that hackers sometimes find interesting. So, somebody posted it here.
Tesla and Twitter both have experience in AI in the sense that Exxon and Unilever both have experience in chemistry.
> Distributed systems, the large-scale and spread-out network that Twitter is composed of, are not the automaker’s specialty, the person said.

You can giggle along with the anonymous source who wasn't involved if you wish but Tesla collects a rather large amount of telemetry and has all manner of micro services crap internally just like Twitter.

I imagine the Twitter codebase itself is a farcical
Rube Goldberg machine. Insert your own how many engineers does it take to change lightbulb jokes.

As part of that process, some engineers received a calendar invite Friday, telling them: “Stop printing, please be ready to show your recent code,” a reference to engineers being asked to show the code they had written in the last 30 to 60 days on their computers.

Sounds like he knows exactly what he is doing. I'd do just that. For an unfathomable amount of the people working at twitter the answer will be zero lines of code.
Related:

Somali Law - https://news.ycombinator.com/item?id=11318156 - March 2016 (28 comments)
Also see https://directus.io/ - it adds a GUI and a GraphQL API to supported DBs (including SQLite). I'm still playing with it, and I'll add this to the list!
Yeah, the Musk haters are out in full force. Perhaps he simply paid them from his own pocket (eg consulting rate) when they were "off the clock" from their day-time job? Seems very logical to me.
By tooling I don't mean Markdown tools. I mean the tools used to produce those tools.

Think compiler-compilers such as Yacc, Bison, or ANTLR.
I can't tell if you are being sarcastic?
I'm not missing the point. "Searching for and recognizing issues" is not somehow completely independent from the domain of the code in question. More importantly, different domains often have completely different primary concerns. E.g. web app engineering is often concerned with reducing cycle time because the technology means that you can instantly release updates. That's obviously very different from the concerns of launching a rocket, and I would expect them to have very different engineering practices.

In short, experience matters.
Rendering PinePhone's Display (DE and TCON0)
I’m using this. It’s amazing. And when people ask I’ll enjoy giving your explanation.
Also possible!
*some colors

There's zero point in designing with Pantone if you're not going to use actual Pantone. Just use any palette (including this one) then.
you don't like comedy?
I have also left an employer with MBAs that continually tried to find and mandate the One True Way of building software. I noped out when I found myself in multiple status meetings every day repeating myself to different middle managers (and having to update a Slack status channel as well). Spoiler: they adopted SAFe after I left, which told me everything I needed to know about SAFe without having to experience it firsthand.
I hope this is parody. I agree with being pragmatic and not being arbitrarily constrained, but this comes off as fanatical.
I care about this only in the context of OPNsense which I replaced my old pfSense router with. Though I'd love to run a linux firewall router rather than *BSD, none seem up to the task. OPNsense is good.

I'm currently running a VM with a wireguard server within my firewall. That VM is running linux. I'm fine with this until the kmod lands in OPNsense, then I'll likely transition. One less VM to manage sounds good to me.

And another plug for OPNsense. Setting it up was easy. Far easier than pfSense, which I'd used for about a decade.
wasn’t this from actual employees?
It’s absolutely a reasonable idea and not surprising. Organization self policing is probably as ancient as organization.
Then why were they reviewing unrelated codebases? iOS, Android? This doesn't hold up
Radical Acceptance[1] combined with what I call Constructive Catastrophizing.

Catastrophizing is essentially thinking up worse and worse possible consequences of all sorts of events, choices, etc. Very common in depression cases, it tends to mean that the sufferer will think of the worst possible outcome of anything that could happen. Constructive Catastrophizing is taking a natural tendency to catastrophize and continuing it: what's the actual worst that could happen? Would I die? If I die, in the grand scheme of the Earth, is it really that bad? Almost certainly not, the Earth is a 10^21 tonne ball of iron. So it probably doesn't matter that much. And I probably won't die from <insert normal everyday thing>. Etc.

[1] https://www.psychologytoday.com/us/blog/pieces-mind/201207/r...
This is not correct and is against basic thermodynamics and conservation of energy. Store a whole bunch of potential energy somewhere and you have an explosive. The more stored energy of any form, the bigger the boom.
AI as practiced in self driving cars is dramatically different than what is practiced in bot detection.

Self driving has a well defined, static problem space, with inputs that don't change often (how often do they come out with a new street sign?).

Twitter is combatting distributed adversaries who are constantly adjusting their approach in evading detection.
It also changed my life, not because of all the motivational stuff, but just because of the advice to do stretching exercise. I think it's been over one year now since I started doing some stretching every morning and it drastically reduced the injuries and discomfort I have after physical activities.
>At Twitter's scale the issues are far less about "this code smells funny" but how dozens of systems interact together. Ain't nobody gonna figure out problems by simply checking out a repository, and specially in a few hours / days.

I don't know why you think someone would have to know about Twitter's specific implementation of distributed systems in order to inspect those systems for non-twitter-specfifc issues.
Particularly interesting argument they’re making too, that Twitter is a bunch of write-only code, unreadable by any other engineers.
If they actually have an AGI up their sleeve then spending time on hardware seems like a waste of time.
> Locking it down to specific "best we know of as of this moment" prevents people from easily using materials we know to be incorrect

One big downside I would see is that it somewhat inhibits the creation/growth of an arcade-machine romhacking scene. (Unless there's some explicit provision in MAME for loading arbitrary patches on top of the known-good game versions.)

> which in turn also prevents people from sending invalid bug reports

Something to consider: some other emulators do this not by burning hashes into the code, but rather by downloading at runtime (tracking via RSS or the like) an independently-maintained known-good-dumps-hashes DB.

(Compare/contrast, the way that the http://www.accuraterip.com/ database is used in audio CD ripping.)

This approach enables a separation of responsibilities between "building good emulator software" vs "archiving and conserving specific games" — with one of the touted advantages usually being that that the database of good dump hashes can then be used for things other than just powering one specific emulator. It can be shared by many emulators, and other ecosystem tools; and it can even be used by anthropologists to study the "family trees" of game releases.

Also, when emulators besides MAME that use such techniques, detect that a game has a known-bad hash, they don't prevent you from playing it. They just tell you really loudly that you're about to play a bad dump (implicitly, disclaiming all liability for your doing so.) Like a modern web browser's "insecure" warning when retrieving a page over a non-HTTPS connection.
That's a dumb internet myth that will never die.
Sure looks that way.

https://twitter.com/leahculver/status/1586145696163373056
I can assure you that crowds in Itaewon are not not monocultural (although on Halloween it is a bit, because it's one of the rare occasions Koreans will go there in large numbers). I can also confirm that South Korea does indeed, have plenty of morons.

But perhaps I'm missing the point and this is the sub-thread for racist tropes/talking points. Why can't all minorities be more like Asians?
This case is more akin to a TV network, since the ad is publicly broadcasted based on what people are watching/reading. It’s not private correspondence.
It doesn't look like we'll be affected (we don't have anything that uses 3.x and the golang updates seem to be unrelated). I'm still going to monitor things on Tuesday, just in case.
so the "null hypothesis" specifically is the opposite of that.
I’m taking a “let’s wait and see” approach to Elon’s Twitter.

It’s much more comfortable than all the public kvetching
Google’s system uses a combination of ShakeAlert signals and proprietary technology. ShakeAlert is only used in California, Washington, and Oregon. You can read more:

- https://blog.google/products/android/earthquake-detection-an...

https://blog.google/products/android/earthquake-detection-an...

https://www.theverge.com/2021/4/28/22407676/google-expands-a...
I work on small teams making video games. The hard part is figuring out what to make. The faster you can see your ideas play out in game and process feedback, the better. And any given piece of leaf gameplay code, at the time of being written, has a decent chance of being rewritten or deleted. Usually engine/tooling code doesn't work like this, and there's also systems in between the engine/tooling and the gameplay code that are written to make gameplay code very fast to write, and those in-between systems also don't get iterated on like this.

But most of the time is spent figuring out what to build by building something and iterating on it, and the perfect commit sounds like an excellent way to not get anything done in this context. I'd like to make 5-10 changes before lunch, play or spectate a playtest in the afternoon, and process feedback afterwards, as well as fit in a design discussion that's not necessarily about anything that's currently being iterated on.
Rooms that I have seen that are well set up for handling both local and remote participants include multiple monitors for displaying the material as well as the video feeds from the remote participants, in-room microphones so that the remote people can hear you, cameras so that the remote people can see you (and whatever you might write on the whiteboard), speakers so that you can hear the remote people, etc....

Depending on the room size and shape, these kinds of things can take many forms. Many companies specialize in producing conference room setups that are oriented towards this model. Even old behemoths like Cisco have entries in this space, although they are very expensive.

What works for you may vary based on many criteria, but of course you have to start with the budget, and the timeframe on which the solution has to be delivered.
Totally valid opinion. Tesla needs to be focused on delivering cars and software. They can't be distracted. This also hurts the banks who are looking at Tesla stock as collateral. By lumping their activities, both companies are now at risk.
how have you quantified love?
Related:

Principal Component Analysis Explained Visually - https://news.ycombinator.com/item?id=27017675 - May 2021 (44 comments)

Principal Component Analysis Explained Visually (2015) - https://news.ycombinator.com/item?id=14405665 - May 2017 (25 comments)

Principal component analysis explained visually - https://news.ycombinator.com/item?id=9040266 - Feb 2015 (22 comments)
What a weird thing to say. I can evaluate any code. If it’s code I’m unfamiliar with it takes longer, and the result is more variable, but it’s far from impossible.

It’s certainly more reliable than the evaluation of the person whose job depends on it being evaluated as correct.
> You're still missing the point. It isn't about knowing how rockets work or anything in particular. It's about being able to search for and recognize issues.

Still, the issues you'll likely encounter inside a car are very very different from the ones you'll see inside a historically grown distributed system serving millions of web, app and API requests. Auditing code is more than analyzing runtime/memory complexity.

Thats not to say it's impossible for Tesla engineers to audit. But I'd imagine it would take quite a bit of time to gather meaningful insight into the landscape and would hardly be an efficient use of the time of senior Tesla engineers.
> I care entirely about the context of the developers mind when he committed that specific line of code.

In squash workflow, the PR is the context and the unit of change. It’s shoehorned onto git only because of GitHub.

In some way it’s a self-fulfilling prophecy: if you disregard individual patches then individual patches will be disregarded. It could also be attributed to git being hard to use, with all these “commits” and “patches”. So some developers treat Ctrl-S as the “commit” hotkey, putting whatever state of the codebase into commits, keep stringing them. Then in the end just ship it for review as is, since it’s the path of least resistance, never even expecting anyone to review individual patches, because as far as they are concerned they are not sending in patches, they are sending the PR. Then maintainers are faced with these PRs, and then they have a choice: either enforce the quality of “commits”, or review the PR as a whole and disregard the commits. The choice often falls for the latter, because the former does not provide any practical benefits for the process (rather than theoretical “but we’ll have individual commits when 5 years later someone blames them”), while the latter does provide practical benefits of not alienating developers with subpar commit discipline.
With the obvious problem that all the valuable people know their worth, and are just sending CVs to Google/Amazon/Microsoft/Meta right now.
It's amazing that guy was confused.
"Tesla engineers don't just work on in-vehicle code though. The servers and systems needed to implement Tesla's telemetry and software updates would be in the same ballpark of expertise, albeit with much less scale and different requirements than Twitter."

-- hn_throwaway_99
https://news.ycombinator.com/item?id=33389128
As someone who uses Node.js and is in the exact same situation as the author, requiring Docker is the #1 reason I'm not going with Fly.io. There's a standard for launching a Node.js project, and that's running the "start" script `npm start`, so switching is trivial. I switched from a Linux machine to my current MacBook and I didn't have to make a single change in any of my Node.js projects.

Adding docker means adding a whole new layer to ALL of my projects, which I'd prefer to avoid specially when there's no need as Heroku has very clearly shown.
Can you elaborate on this argument? I don't really understand his companies as "well built" in any reasonable sense that I can identify.

"His companies make him and many of his investors wealthy" sure, no disagreement from me. But "well built" is a different metric, and I think that's highly arguable.
> get your validation through things you are good at (like hobbies, skills, etc.)

This is a double-edged sword, some say that you should be happy with what you already are and not base your happiness on what you can do. What do you do if something happens to you and you lose the ability to perform that certain skill? Does that mean you are constantly unhappy now?
Tail Optimized Mutual Recursion in Clojure (2008)
As much as I think it's ridiculous to heap too much credit on a hollow conman, that chart shows a gradual increase year over year and then a 20% drop for 2019.

Though if OP felt like making the case for willfulness with any type of elaboration or reference, that would be nice.