Where there's a will there's a way, though. I'm sure that the early days of inviting wolves into our homes went wrong occasionally, but now it's a pretty popular thing. We bent them to our will.
The domestication of wolves was probably not initially "an idea", it just happened that scavenging wolves nearby humans became less afraid and started following them. Mobile waste collectors plus early warning systems.
If at some point humans had articulated this into "an idea", they would have seen it as a good idea. Which it would have been, since it's unrelated to wolves attacking humans. It's not that humans said "hey, let's go pet a wolf pup, I'm sure their parents won't mind!".
Honestly, both are pretty good for prototyping. I haven't found AI helpful with big picture stuff (design) or nuts and bolts stuff (large refactorings), but it's good at some tedium that I definitely know how to do but guess that AI can type it in faster than I can. Similarly, given enough time I could probably manufacture my designs on a mill/lathe but there is something to be said for just letting the printer do it when plastic is good enough (100% of my projects; but obviously I select projects where 3D printing is going to work). Very similar technologies and there are productivity gains to be had. Did the world change because of either? Not really.
I think the reputation is fair. Why is flakes still experimental, for example? That's a subtle bit of encouragement to do things the old way and as a result, documentation is always mixed and you end up "but how do I do that in a flake".
Something that is in theory nice is using the same packages in development and production. But "everyone" uses Mac OS for development and Linux for production, and if you want to guarantee that every developer on your team isn't recompiling Node from scratch, you want to use nixpkgs-25.05-darwin instead of nixos-25.05 on Mac OS. The result is that you aren't actually getting the same package across systems, which is rarely problematic but is something that Will Go Wrong someday. Why not keep Darwin stable in the main stable branch?
I have also found the entire system incredibly unstable during release pushes. Lots of stuff broke in 24.11 and unstable as 25.05 was being prepared (notably nodejs_20). What I learned from this experience is "don't touch package updates in May or November" which isn't amazing if you care about security updates.
So basically, Nix is incredibly rough around the edges. nixpkgs is a much better package repository than anything else I've used, but it's not perfect. It's generally more up to date than Debian unstable. It supports more platforms than Homebrew (which doesn't work on linux-aarch64, a platform I use heavily). Overall the philosophy of making each package entirely self-contained is the right approach.
NixOS is also fine, mostly... but I use Bazel to build all my personal projects. Bazel does not work well on NixOS. For some reason, nixpkgs doesn't have Bazel 8 which is the version I use (because if you don't update your project to a recent Bazel today, you'll have to do it tomorrow). If you get a NixOS-compatible bazel 8 from some random flake, you can solve that problem. But then there are a lot of assumptions the Bazel ecosystem makes, and those are unresolveable. To the Nix folks, having your build system download the official distribution of Go, verifying the sha256, and execing it to do your builds is unthinkable. Personally, I'm fine with it. The Go team knows how to release Go better than anybody. But this impedance mismatch makes it nearly impossible to have a project that builds on "normal" Linux and NixOS. You can go full Nix and get go, c++, etc. from nixpkgs, but then everyone has to have Nix before the can work on your project. I would be OK making that decision for myself (I already use Nix), but I imagine it's a hard sell if you just want to fix development at work. People would complain. People will run into problems. To some extent, this is Bazel's fault (and the ecosystem) for assuming that /bin/bash and some vaguely recent /lib64/ld-linux-x86-64.so.2 exists. NixOS says "no it doesn't unless you declare it and get it out of $PATH" but honestly which version of bash runs "exec bazel-out/program-that-was-just-built" is irrelevant in practice, so it's just an unnecessary barrier. There is an attempt at compatibility for those that don't care about versioning the version of Bash that each shell script runs (envfs, nix-ld), but at least for me, it doesn't work. All in all, the net result is that I can't actually do work on NixOS, and I can't write a flake so my home-manager configuration can install all the software I've written for myself, which is a pretty bad feeling. Building my projects is easy... "git clone git@github.com:jrockway/monorepo; cd monorepo; bazel build //jlog/cmd/jlog; cp bazel-bin/jlog/cmd/jlog/jlog_/jlog ~/bin". But it's literally impossible on NixOS simply because something in the 10,000 lines of other people's code wrote "#!/bin/bash" somewhere. That's pretty rough.
My TLDR is if you want the latest version of Git on Mac OS, linux-aarch64, and linux-x86_64, you should probably look at nixpkgs and home-manager. I like 'em. I don't think there's anything better. Everything else... it's rough. When you commit to leaning into Nix, a lot of your free time is going to disappear for a while.
I liked the "friends" and "foes" system that Slashdot had, though I would say generally the "foes" here just get banned which is convenient.
I also thought Slashdot's moderation system was kind of fun. I am not sure it was useful but I enjoyed the annotations (+5 Funny when serious, +5 Insightful when inciteful, etc.) Meta-moderation was also neat?
In practice, the Slashdot moderation system was ridiculously easy to game. You could adjust your viewpoints to subtly praise Linux and denigrate Windows and be assured of a higher rating.
Because that leads to groupthink, which stifles critical thinking and leads to poor decision-making. Ideally we'd have honest debate instead of ignoring warning signs, dismissing alternative viewpoints, and failing to thoroughly evaluate risks. This leads to overconfidence which can cause blind spots leading to catastrophic failures. We can't adapt to new information or actually learn from our mistakes if our shared groupthink says oh that was bound to happen. We'd stop innovating entirely.
In terms of Slashdot groupthink, no one uses (used) Windows and Microsoft was about to fall, but when looking outside of that at computer sales vs counted Linux installs, the picture was and is still very different. The reverse happened on the server, but Nadella was able to see outside the groupthink bringing Azure to the success it enjoys today.
Slashdot's moderation system didn't lead people to think "no one used windows", the userbase just didn't like microsoft.
Beyond that, having to re-debate every single idea every single time it's brought up is inefficient to the point of uselessness. We, as individuals, don't have time to verify every single theory from first principles, so we rely on tools like "moderation" as a heuristic to make progress.
Eh, I think he brings up a pretty good point but I wouldn't say HN is any better. People here think that MacOS has high usage numbers and iPhones are the most used phone, when that's not the case. There are also a few very, very misguided ideas about software development that definitely are over-represented on HN in large part due to the (apparently, according to polls) very inexperienced nature of most HN visitors and the things they tend to work on (low-skill/low-knowledge, "high-in-their-mind"-velocity work).
HN has some very clear bubbles that probably wouldn't happen without a popularity system tied to its comments and submissions; maybe the janitorial duty of removing spam and so on is enough for a page like this. I'm not sure I see the merits of upvotes and downvotes at this point.
I completely disagree. That was a very coherent and well articulated comment. Having a useful vocabulary is not the equivalent of using a bunch of buzzwords.
Downvoting and upvoting even if not visible can also lead to groupthink moreso on sites like Reddit than here. Points acquired here eventually let you downvote. But, really no reason to upvote or downvote comments as no one can see the points of a particular comment on this site. I am aware that after so many downvotes that the comment starts to gray out into oblivion eventually but even that promotes groupthink. Factual counterpoints, especially in political threads, are hard to discuss
Yes, I think it is definitely a balancing act, because the rising of certain comments can certainly contribute to groupthink. However, I also think that impact of having the best comments rise to the top is very useful. The system doesn't work super great in an early and active thread, but it works very well once the thread ages a little bit
Well, it reinforces the hypothetical argument that sites like this have a mechanisms whic promotes settling into some kind of self-reinforcing content patterns. You’d have to actually show what the common patterns were for each site (and particularly whether they were share substance of argument or shared style, or both) to make the “groupthink” argument.
(I think the best argument against the groupthing argument here is how inconsistent the positions are that are claimed to be the “groupthink” position by those claiming that.)
> (I think the best argument against the groupthing argument here is how inconsistent the positions are that are claimed to be the “groupthink” position by those claiming that
Aren’t you countering yourself by not providing the research requested above though?
I mean without objective evidence it’s all just a subjective opinion on either side
I'm a little too young to remember Slashdot. It would be interesting to see an informal ethnography of those older discussion sites/Usenet/etc. from people who remember that stuff. Online communities deserve more study.
I always thought that moderation is a little high handed. Instead, individuals should choose what they see or don't see via a local filter that they've trained over time. I used to filter spam out of my email inbox that way, it worked pretty good.
I feel like JetBrains' competing product is DataGrip, which even though I'm an Emacs user, I've happily paid for forever. I believe that if you just use the combined suite (IntelliJ?) then you get SQL completion based on your loaded database everywhere in the IDE. Something fun I accidentally learned this way is that the completion is so accurate I didn't even notice that I made a mistake in a database table I recently added. I used camelCase column names, which Postgres doesn't accept without quotes. Datagrip always added the quotes where I needed them, so I didn't notice, but it annoyed people on my team that used different database tools and they renamed them ;)
JetBrains has always done their completion / language integration differently than VSCode + LSP, but it seems to work well. My only complaint is that GoLand organizes imports differently than gopls / goimports, but my knowledge there is a few years out of date. I've worked on teams with a lot of GoLand users and nothing has really bothered me on this front recently, so they probably fixed it years ago.
Out of curiosity: how do you set up your CI checks (linter, formatting) if the opensource tools behave differently from JetBrains'? Do you use Qodana[0]?
One benefit of using VSCode/Sublime Text/vim/emacs language integrations is that I roughly know what command to run to get the same results in the terminal as I get in the editor. With JetBrains does-it--all IDEs, I have no clue.
The government could be more efficient, but you have to look at the exact choices being made by the current administration. Why are we heavily taxing trade and the flow of ideas? Why are we dismantling our military with 2 major wars going on? Why are we being soft on financial crimes and crypto scams? Why are we accepting personal gifts from nation states? Why are we micromanaging medical care? Why are we removing our "soft power" influence? Why are we spending our money to "crack down" on people with autism? Why are we using the government's money to fund religious indoctrination?
There is always an argument to make the government more efficient, but I don't think this <gestures> is what anyone really has in mind. People want cheaper eggs, the ability to receive medical care, the ability to stabilize their living situation through property ownership, and a stable job. What are we doing about those things? The reality is that the "machine" has always tried to add stability in those areas, and throwing away the machine isn't making things better for anyone. Like, if we made the government so efficient, why am I still paying 40% of my income in taxes?
When we disappear people to El Salvador without trial, that's fascism, my friend.
The thing with Americans is that they've had it so good for so long they don't even know what bad looks like. People who come from oppressive governments and have lived through it actually do. Notice I never mentioned efficiency in my original post, you assumed that's what I meant. I meant the oppressive nature of just the shear unending growth of the US government and the weight that bears upon it's people, its businesses, and most importantly it's morale.
Yeah, the more I read through actual package definitions in nixpkgs, the more questions I have about selling this as some security thing. nixpkgs is very convenient, I'll give it that. But a lot of packages have A LOT of unreviewed (by upstream) patches applied to them at nix build time. This burned Debian once, so I expect it to burn nixpkgs someday too. It's inevitable.
I do think reproducible builds is important. It lets people that DO review the source code trust upstream binaries, which is often convenient. I made this work at my last job... if you "bazel build //oci/whatever-image" you end up with a docker manifest that has the same sha256 as what we pushed to Docker Hub. You can then read all the code and know that at least that's the code you're running in production. It's neat, but it's only one piece of the security puzzle.
Java-- is an interesting comparison. I used Dart when I was at Google like a decade ago and my impression as I was learning the language was that it was like a scripting language variant of Java. I'd have called it "JavaScript" ;)
I haven't really looked at it since then but it felt like a lighter and easier Java at the time, which I was fine with. (I did a lot of Java in those days.)
But it doesn't accept things like the example that omits an intermediate comma: