BSD vs. Linux (2005) - <AUTHOR> http://www.over-yonder.net/~fullermd/rants/bsd4linux/01 <comment><USER3> I like FreeBSD, and I use it as a server OS and on a NAS box but you only need look at [https://wiki.freebsd.org/Graphics](https://wiki.freebsd.org/Graphics) to understand that if the "Linux Desktop" is a joke compared to MacOS and Windows then the "FreeBSD Desktop" is even more so.

From my experience of "old" computers, workstations, and then "PCs as Workstations", Windows won the desktop because the UNIX camp could never check their egos at the door and get their act together on a windowing system and graphics architecture. And while it was brilliant that you could do the "heavy lifting" on a server and do the display part on a less powerful machine, that architecture should have been taken out behind the barn and shot the moment 2D and 3D acceleration hit the framebuffer cards. Instead we have the crap that I have to put up with, which is a wonderfully compact and powerful system (A NUC5i7YRH) with a graphics architecture that is not supported at all on FreeBSD and has pretty egregious bugs on Linux, and runs beautifully on Windows 10.

For the conversation at hand though, the Linux graphics pipeline teams are _much_ better at getting things working than the FreeBSD team, even though FreeBSD is much more "friendly" to non-open drivers.

I would love to have a nice, integrated, workstation type experience with a UNIX operating system but that music died when SGI and Sun through in the towel and tried to retreat to the machine room.

<comment><USER4> The base problem there is drivers. Specifically that we have something like 3 suppliers of desktop GPUs.

One refuse outright to supply information that allows a proper open driver to be developed.

Another have just started providing this information in recent years, and there is still delays between the latest hardware hitting the market and the proper information reaching relevant hands.

The third only recently started producing hardware, and said hardware is only bundled with other products from same supplier. Never mind that it in general performs worse than the other two offerings.

There used to be another, one that was supposedly well supported by open drivers. But that one long since left the consumer market, focusing instead on multi-display business setups etc.

so effectively you are complaining about how a group of people, forced to reverse engineer and often working in their spare time, can't match the market gorilla that gets direct support from third party suppliers.

<comment><USER5> I personally would accept a huge hit in performance for a fully libre system (software and hardware) and would be willing to pay more than the average desktop/laptop price for it. I know I'm not alone but I wonder if the market is big enough for a company to start producing hardware products on that core principle.

<comment><USER4> Dunno. But i could have sworn i had read about a libre GPU design out there.

</comment></comment></comment></comment><comment><USER6> I was a long-time FreeBSD user. Started using it in college and continued for a long time. I started using Linux because I had bought myself a new laptop and BSD didn't recognize the wifi card. I continued using FreeBSD at home for a few more years on my webserver before ultimately moving to dreamhost (I just didn't have the time to keep maintaining my own server).

I like using Linux, but I still miss the predictability of a BSD system - <USER2> _know_ where things are, and where they are supposed to be. When I first started using Linux, I was absolutely flummoxed by the lack of distinction between the base system and add-on utilities.

Linux definitely feels more "organic" and "grown" whereas FreeBSD seems like it was architected and planned out. Not that this is a bad thing for Linux. My FreeBSD heritage still shines through when I use Linux; anything I install from source sits in /usr/local :).

<comment><USER7> > you know where things are, and where they are supposed to be

Does this not depend on the distro you're using?

<comment><USER8> It's more than what you see in Linux. For example in Linux you have system packages, packages that are in distro repo, and 3rd party repo all sorting configuration and startup scripts in /etc.

In FreeBSD anything you find in /etc is part of the system, applications that you install are fully contained in /usr/local including etc and rc.d (init.d). /usr/local is also completely empty when you first install the system.

<comment><USER9> > It's more than what you see in Linux. For example in Linux you have system > packages, packages that are in distro repo,

System packages are packages in the distro repo, so those are the same thing.

> and 3rd party repo all sorting configuration and startup scripts in /etc.

Stuff you compile/install from random sources on the internet will place its stuff wherever the upstream decided to place it. The same will happen if you compile that software on FreeBSD. If you're thinking of ports, those are patched to install to the usual places, exactly the same as the packages in the linux distribution repositories.

FreeBSD's base system is very neat and well-organised, and they have an impressive ports tree with ports that integrate fairly well for the most part. But that doesn't extend to third-party software, and it seems silly to include that in a comparison on the linux side.

</comment></comment></comment></comment><comment><USER10> I know Linux (Debian) quite well and would like an excuse to try learning FreeBSD, but I just can't find any serious use-cases where FreeBSD would be of any advantage.

I run a small site on a VPS, so:

1\. I don't have GBs of free memory for ZFS

2\. I don't have GB of RAM, CPU and HD space to build everything from ports, and most importantly, no need.

Except for an Application Firewall for nginx, what does ports have over deb packages? All in all, how much MB of free RAM or free HD space will I win by compiling everything myself (taking time to do so, and pushing off security updates because I don't have the time to sit and watch the compilation, hoping nothing breaks (which _did_ happen once)

3\. License - I don't care. GPL is free enough for me.

4\. Base vs. Ports - Why should I care? Debian (testing!) is stable enough for me. Except for dist-upgrades, I never ran into issues, and then it may be faster to nuke the server from orbit. Now had BSD "appified" the /usr/local directory (rather than keeping the nginx binary in /usr/local/bin and conf in /usr/local/conf it would have kept everything related to nginx in a /usr/local/nginx) it would have been interesting, but now?

If anything, I like how Debian maintains _both_ base _and_ ports, so I can get almost any software I need from apt-get, and don't have to worry about conflicts.

5\. systemd? The reason Debian went with systemd was (IIRC) because they didn't have the manpower to undo all of RedHat's work in forcing all applications to integrate into systemd (such as GNOME). I don't know how FreeBSD is doing in that regard.

I don't mind learning new systems. (see my username :) ). I actually understand what nixos or coreos, for example, bring to the table. But FreeBSD?

<comment> aaron-lebo 1\. zfs runs well on a lot of systems. You might have to change a setting or two but it's not as you say.

2\. pkg install and the related pkg utilities have existed for awhile.

5\. systemd isn't and shouldn't be a requirement for applications going forward. Any application that requires it is limiting its portability for unknown reasons.

The joy of trying a new system is the little things you learn that you weren't even aware of before.

<comment><USER10> > pkg install and the related pkg utilities have existed for awhile.

So have apt and apt-get. So that takes away one of the advantages of FreeBSD

> systemd isn't and shouldn't be a requirement for applications going forward. > Any application that requires it is limiting its portability for unknown > reasons.

True, tell RedHat that :(

<comment><USER11> _So have apt and apt-get. So that takes away one of the advantages of FreeBSD_

Not completely. In Debian and others it's mostly a choice between a stable base and stale software or a moving base and up to date software (though backports improve things quite a bit for Debian Stable).

Since in FreeBSD packages are separated from the base system, it's possible to run a stable base system, while using quarterly updates or rolling release (latest) of packages.

(Note: I didn't have many problems running Debian Unstable, but it may depend on your requirements.)

<comment><USER12> Of course, there's nothing stopping people from using things like pkgsrc or Nix on Linux.

</comment></comment></comment></comment></comment><comment><USER13> I think the best, and most traditional, comparison is the Cathedral and the Bazaar[1]. Pretty much every observation the author makes can be framed in this comparison. BSD has built-in libraries, and has a cohesive architecture. Linux is popular precisely because of its chaos. It is incredibly easy to hack some feature together in Linux. It will probably start out as ugly, but if enough people glom onto it, it will become great and maybe even secure. It is pretty clear that Linux became popular not because it was the best, but because it was the fastest development path.

Obviously BSD has its uses, but if you're looking to develop a new feature and get it out the door (in OS development) Linux is the easiest choice.

[1]ESM [https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar](https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)

Edit:

I remember reading somewhere that Netflix uses BSD for all of its net- intensive servers as network performance tuning on BSD is, at least by reputation, better, but they use Linux as their workhorse. They employ some FreeBSD committers though (obviously not everyone can do that).

<comment><USER14> BSD development versus Linux development is _not_ an example of the Cathedral and the Bazaar. That essay was about development process: under the Cathedral process, development happened "behind closed doors" and the only time the public got access to source code was at release time; under the Bazaar process, development happened "in the open" and the in-development source tree was _always_ available to the public (typically via a source control system).

To see why the various BSDs are not an example of the Cathedral process, you only need to look at their source control. In fact, OpenBSD _pioneered_ the idea of anonymous CVS -- before that, you needed an account to check out from the CVS repository:

"When OpenBSD was created, de Raadt decided that the source should be easily available for anyone to read at any time, so, with the assistance of Chuck Cranor, he set up the first public, anonymous CVS server. At the time, the tradition was for only a small team of developers to have access to a project's source repository. Cranor and de Raadt concluded that this practice "runs counter to the open source philosophy" and is inconvenient to contributors. De Raadt's decision allowed "users to take a more active role", and signaled the project's belief in open and public access to source code." [1]

[1]: [https://en.wikipedia.org/wiki/OpenBSD#Open- source_and_open_d...](https://en.wikipedia.org/wiki/OpenBSD#Open- source_and_open_documentation)

<comment><USER13> I disagree with you on both counts. Cathedral development is not about source availability (Wall uses emacs and GCC as an example of Cathedralism for heavens sakes), it's about source modibility. Theoretically two different projects under the same license could have different approaches. Very few high level architectural decisions are made by the Linux maintainers (unless they are coding it), they're there to say, "yes" or "no". Some of the most important features in Linux, cgroups, namespaces, etc, came from outside the maintainer team. By comparison, NetBSD has a highly top-down approach. The source might be readily available, but good luck landing a big patch.

<comment><USER14> At the time ESR wrote the essay, both Emacs _and_ GCC _did_ use the Cathedral development model I speak of. They've only opened up since due to forks like XEmacs and EGCS which started to eat GNU's lunch. The FSF eventually had to cave in to the Bazaar model because it works.

Furthermore, people without committer access land patches in the BSD's _all the time_. In fact, that's _how_ you get committer access: you first start contributing patches to the appropriate mailing list where existing committers can review them, discuss them, and perhaps merge them. It's not terribly different from sending a pull request on GitHub, and afaik it's pretty much the same process used by the Linux kernel.

</comment></comment></comment></comment><comment><USER15> My perspective as someone who is mostly a desktop user/dev and rarely dives into server related issues other than setting up a home network and maybe sshing into a server somewhere in the magical cloud:

* The BSDs feel more elegant, the Linux distributions feel more complete/up to date (and are probably more performance optimized due to enterprise embrace but that's only speculation on my part).

* I sympathize with the BSD license philosophy and agree that the BSD-license is in theory freer but don't care too much either way

* OpenBSD is awesome (yes even for desktops, with the right hardware) and I install it every now and then but ultimately I'm too familiar with Linux to switch. I do like that they keep fighting the good security fight, don't care about supposed personality quirks of some devs. Keep up the good work

* At the end of the day I use Linux because that's what I grew up with and it tends to "just work" (for the record all BSDs I installed in recent memory pretty much worked out of the box). I am kind of forced to use OS X at work but other than that it's Linux on all machines. The parents also use it by now.

</comment><comment><USER16> I tried freebsd. Gone back to ubuntu. In this day and age not having proper dependency resolution for packages is not acceptable. I've more than once had some tool based on ports just go into an infinite cycle when asked to upgrade some packages.

The philosophy laid out in this article seems more like rationalization of historical accidents more than anything else. Linux file system layout is just as predictable as anything else. Configuration goes in /etc, PID files and other such things go in /var, things local to the users go in /usr/local, cron related things go in /etc/cron.d, and so on and so forth. FreeBSD file system layout on the other hand makes no sense to me and the rc system is even more bizarre. Do I really need to specify "XYZ_start=YES" when upstart, systemd, and others have this stuff all sorted out already. Well not systemd so much but close enough.

Overall the BSDs are too low level for development and play purposes. For deploying proxies, caches, NATs, and other such single purpose things I'm sure they're great but anything else not so much.

<comment> aaron-lebo It's really not just a rationalization. BSDs control the kernel and the userland, meaning that file system layout is coherent. Check any Ubuntu installation and packages are all over the place. This is perhaps unavoidable.

Also, OpenBSD, DragonflyBSD, and FreeBSD can all be used as server or desktops without much fiddling. Their installers are better than anything in the Linux world. You can have one up and running with a nice wm, browser, etc, in 15 minutes.

They are more finnicky about hardware, but when you can buy a laptop for $200, that's not so much an issue.

<comment><USER16> I don't think the layout is coherent at all. Ubuntu layout is much more coherent. If I need nginx configuration I look in /etc/nginx. Following the same pattern if I need mysql configuration I look in /etc/mysql. If I need to figure out the actual daemon configuration for each I look in /etc/init. It's all very nice and tidy. Actual binaries go in /usr/local/bin or /usr/bin or /bin. That's pretty much all I need to know for any binary or daemon. This is not true in FreeBSD. So where exactly is the incoherence?

<comment><USER17> It isn't actually as nice and tidy as it would seem because you do not have a direct separation between system configuration and application configuration.

It's a small, subtle detail that for many is less important today than it once was; however, if I have two FreeBSD systems of mostly equal versions and I want to migrate applications and/or users from one to the other, I know ALL I have to do is copy from /usr/local -- try that on your Ubuntu machine. Good luck separating the system-specific configurations from your user and application configurations.

<comment><USER16> I don't want that separation in a consistent and coherent system. User vs base is artificial. What I care about is the end result the overall system accomplishes and base vs non-base doesn't really factor into that. What does it matter to me if nginx is part of the base system or not? I need a web server. Arbitrarily choosing apache/httpd vs nginx to include as part of the base system is incidental complexity where I stand from.

<comment><USER18> _> User vs base is artificial._

No. It's not.

If nginx releases an update, do you also need to update your OS? No, because the user dependency graph isn't shared with the base OS.

If you update your OS, do you also need to update nginx? No, because there's backwards ABI compatibility.

The split is not artificial.

<comment><USER19> > If you update your OS, do you also need to update nginx? No, because there's > backwards ABI compatibility.

Only for minor versions. How is that different from any other package that promises ABI compatibility?

Why are FreeBSD OS components split up at a low granularity, so you can't install the stuff you want without the stuff you don't?

Why are there two separate sets of tools to update them and other packages?

edit: Why separate non-base packages from base packages on the filesystem, but not from each other? If the advantage of separating /usr/local is the ability to copy the non-base configuration/apps without the base stuff, wouldn't it be more useful to be able to copy any given individual package or set of packages? Or if that is possible already (by asking the package manager for a list of files or whatnot), wouldn't that obviate the need to separate base from non-base?

<comment><USER20> > ... _non-base packages_ ... _base packages_ ...

FreeBSD does not work this way. You are projecting Linux onto it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> This is sort of explains why I have chosen OS X. Its a UNIX operating system that makes for a great modern desktop machine. I don't need to worry about poor and or glitchy hardware support. Its 2016, I don't have the time to play around with finding WiFi drivers or graphics drivers that can hardly support 3D-acceleration. Everything has always worked out of the box. Having had two MacBook Pros, I haven't had one hardware or software issue to date. They (OS X/Apple) have the advantage of being unified. People aren't constantly arguing over stupid shit as they seem to with Linux. FreeBSD's development on the other hand is just too slow for my desktop use. Despite what the article says, I have found that there is usually a support gap somewhere after an install; with drivers or whatever else. This isn't to say I dislike Linux, I do love Linux. I just wish they would get their shit together on a few issues. As for FreeBSD, it still has a strong spot for secure, stable servers. I suppose it's all a matter of preference. At the end of the day however I will always choose a UNIX system for my day to day use.

<comment><USER22> Such a great illustration!

* You can use great hardware, but the choice of it is rather limited.

* You're OK with upstream making a lot of choices for you, though the upstream is considered good at making the right choices.

* You don't mind running a lot of proprietary stuff (anything above the Darwin level).

People who choose Linux (over OSX and even BSD) look at these bullet points differently, thus the divide.

<comment><USER23> Exactly.

* When I bought my laptop 5 years ago, Apple was a candidate. It lost out because I still wanted an optical drive (and was interested in Bluray specifically, at the time), I wanted a 1080p screen, an HDMI output, and at least 3 USB3 ports. Upgradeability is a plus; I've upgraded the RAM, hard drive, and wifi card since I bought my laptop, as my needs have changed.

* I like having choices (in terms of software and configuration), and they often don't match up with the best options for mainstream users.

* I've got a Windows partition, but it's not my first choice for general computing. I don't have any particular interest in Apple's technologies or services, so I feel like a lot of their ecosystem would be lost on me anyhow. I _do_ generally find Apple's software to be well-designed and aesthetically pleasing. I'd be worried about fighting the software to get what I want done, though.

</comment></comment></comment><comment><USER24> Guys, this article was written somewhere in between 2002 and 2005 (based on the author mentioning bitkeeper being used for the kernel). Someone edit the title to reflect this please.

<comment><USER25> It also mentions gcc 3.2.2, which was released on 2003-02-05.

It also mentions that Gentoo is getting popular, which was happening in 2002 and 2003, after which it has been declining.

Also this article has appeared on Hacker News many times before, with titles of various relevancy: [https://news.ycombinator.com/from?site=over- yonder.net](https://news.ycombinator.com/from?site=over-yonder.net)

</comment></comment><comment><USER26> > It's been my impression that the BSD communit{y,ies}, in general, understand > Linux far better than the Linux communit{y,ies} understand BSD.

Ok fair enough, but the same can be said about manual v automatic transmissions, static versus interpreted languages, etc.

When something is _harder_ to use then you're forced to think about it more and understand it better.

<comment><USER18> A consistently designed well-documented system is probably _easier_ to use, all else being equal.

<comment><USER27> In day to day use I agree, although it is harder to get exotic software to work on the BSDs.

<comment><USER28> That's a consequence of that software being written with only Linux in mind, not a problem with the BSDs as such. Also, somebody needs to write a port, and the only person who'll do that is somebody with skin in the game.

Obviously I'm an outlier, but if I need some software on FreeBSD, I'll contribute a port. Most of the time, it's almost trivial, and it's only with very obscure (maude is one that I'm currently working on) or newish (RethinkDB, which isn't written in a super portable manner - it doesn't even use pkg-config and has a hand-written configure script!) where there's an issue.

</comment></comment></comment></comment><comment><USER29> Related discussion on GNU vs. Linux:

[https://www.gnu.org/gnu/linux-and-gnu.html](https://www.gnu.org/gnu/linux- and-gnu.html) (BSD is discussed here as well)

[https://www.gnu.org/gnu/gnu-linux-faq.html](https://www.gnu.org/gnu/gnu- linux-faq.html) (According to this page, the title of the article should be BSD vs. GNU/Linux, though the latter was mentioned once in the article)

</comment><comment><USER30> Disclaimer: I know this is a side issue. However, I'm really wondering what it is that makes people think using such a "creative" color scheme for publishing their texts would do any good. If it weren't for Safari's Reader view, I would be _physically unable_ to decipher this text. Which would really be a shame, because this text deserves to be read.

I guess, I'm still hoping that one of these days, I will reach one of those authors and make them understand that the contents is of paramount importance and creative coloring can do nothing but detract (except when you're an expert). If you use your own color scheme, please make sure you know what you're doing.

<comment><USER31> It should be a side issue, but it's why I didn't read past the first page. It was physically uncomfortable to do so.

<comment><USER32> I just noticed there is actually a color theme selector right below the sidebar. The Light and Dark themes are both fairly readable. The author should just throw away the "Normal" theme.

</comment></comment></comment><comment><USER33> I would have entitled it Linux AND BSD

This article is really about the objective difference between linux and BSD. It is not a rant in the form B > L or B < L it is much more about the difference in a lot of direction.

I personally find it much more an help to guide people to come and as much as to stay away.

I am a former user of linux (that I used to like) and I am now using freeBSD. I switched without love or hate. I just was on linux to have video card and latest hardware support, and I am on freeBSD to have the ports, stability and easy upgrading.

I did it after years of experiences enabling me to build the information about the different fit use case of both OSes.

Having this summed up in 10 pages will spare people a lot of time in deciding.

And I think it is as important to have people come to BSD as to not delude them in coming for wrong reasons: disgruntled users are as much a pain that rigorous contributors are a gift.

So information to make choice, especially when they are not structured as an aggressive comparison are very welcomed.

The author should be praised.

</comment><comment><USER34> "A tour of BSD for Linux people" sounds like a genuinely interesting read, but the aggressively defensive tone starting in the second paragraph and continuing throughout the introduction turned me off of reading past the first page. I'm definitely interested in how BSD differs from Linux, but I'm not interested in being lectured at. (So, please tell me if it tones down after the first page.)

</comment><comment><USER27> This is probably the best comparison of [Free]BSD and Linux, if a bit dated.

In the meantime FreeBSD has changed the release schedule and there are efforts under way to package the base system separately.

<comment><AUTHOR> Yes, a little bit old but I condiere (modestly) a little bit opportune to remember ;) In fact, some do not know :D

</comment></comment><comment><USER35> Very informative article, thank you. This article is missing discussion on ArchLinux ( probably because it is very old ? ). Arch has a minimal base system ( no X etc ) and you can build the system you most like.

Also Linux now uses git for development.

> And normally, you do the whole rebuild process in four steps. You start with > a make buildworld which compiles all of userland, then a make buildkernel > which compiles the kernel. Then you take a deep breath and make > installkernel to install the new kernel, and make installworld to install > the new userland. Each step is automated by a target in the Makefile.

> Of course, I'm leaving out tons of detail here. Things like describing the > kernel config, merging system config files, cleaning up includes... all > those gritty details.

Wow, so painful. For me its as simple as :

$ pacman -Syu

and watch some movie. I bet the BSD way offers more opportunities to learn but I personally don't like learning for the sake of learning. Learning different ways to do the same thing does not make me a better person. So this is not interesting to me.

> Does Linux support hardware that BSD doesn't? Probably. Does it matter? Only > if you have that hardware.

I could obtain that hardware at some point in the future.

> "But Linux has more programs than BSD!" > How do you figure? Most of these > "programs" you're so hot about are things that are open source or source- > available anyway.

Given an application, does the provider support it on your OS is an important consideration that people make before choosing to use an OS, as they should.

> Linux, by not having that sort of separation, makes it very difficult to > have parallel versions, and instead almost requires a single "blessed" one.

Isn't this what NixOS ( [https://nixos.org/nixos/about.html](https://nixos.org/nixos/about.html) ) is supposed to be solving ( among other things ) ?

I might try a BSD for the novelty aspect of it, but so far I have seen no reason why it should be better.

<comment><USER28> Yes, the article is _very_ old.

> Wow, so painful.

And also something that hasn't been true for ages. By way of anecdote, I've had to do config merges on major version upgrades more on Debian systems than FreeBSD systems, but even then the difference hasn't been all that great: major version upgrades just work. And the last time I had to build a custom kernel was FreeBSD 6, which was about a decade ago.

Any remaining pain is largely a consequence of the freebsd-update works and should mostly go away once the base system is packaged (which should also make security updates a little faster to install).

</comment></comment><comment><USER36> I feel this captures a lot of the feel I had for FreeBSD even back in 2001 when I used it quite a lot. It had a sense that you were chiseling out this solid system that would remain for eternity, along with an assurance of security and stability.

I run Ubuntu now on multiple devices. It often has a feel of flimsy binary patches. I don't know that I care too much though as it works well. I have family members too on it so it is good to remain practiced with it to help them.

I miss playing with FreeBSD though! Perhaps I should run it on one of my RPis? Anyway, this is a great site.

<comment><AUTHOR> yeah, how many homesickness.. FreeBSD is really cool BSD OS I like it. In other hand CentOS is my default Linux Server :D Debian is really cool OS too..

</comment></comment><comment><USER37> The only thing that's preventing me from switching my desktop (laptop) OS over to BSD is chipset support. I tried 11.0 ALPHA, but couldn't get anything other than VESA video going.

My setup scripts are all in Git:

[https://gitlab.com/duncan-bayne/freebsd- setup/wikis/home](https://gitlab.com/duncan-bayne/freebsd-setup/wikis/home)

I've used a few different OSs on a daily basis for work and recreation: Windows (since 3.0), Linux (various distros since 1995), OSX (for a few years between 2009 and 2013), and FreeBSD.

I have found BSD to be the most comprehensible, simplest and the best 'cultural fit' for the way I think and work. I appreciate that the latter part is a bit vague, but that's because my understanding of it is vague :) BSD just feels ... more like home.

Those wanting to give it a go as a desktop OS should check out PC-BSD, which is built to be usable 'out of the box' for that purpose:

[http://pcbsd.org/](http://pcbsd.org/)

</comment><comment><USER38> I'm a total linux user and have tried *Bsd from time to time. For some reason, the bsds have always taken a very long time to boot up and even to start X. The last time I tried FreeBsd (about 3-4 years ago), a friend asked me to help him debug why X windows didn't run. It was taking 15+ minutes to startx on his brand new server class PC that he built up himself. We didn't realize that it took so long to start up until we went out for dinner and came back, surprised to see X had started. Same with OpenBsd, it took 10+ minutes just to boot up. I thought I didn't install it correctly and re-installed it a couple of times. I'm guessing, the Bsds are meant to be run continuously and not shut down? I've asked a couple of other Bsd people, and they couldn't provide an answer, so I'm left up in the air about that.

<comment><USER27> I can't confirm that. By virtue of being very minimal out of the box I've found BSDs boot very quickly.

systemd has arguably made Linux bootup faster than before but I would expect a default BSD to be quicker than a bloated Ubuntu default install.

</comment></comment><comment><USER39> Note that most BSDs (with the notable exception of OpenBSD, of course) lack modern anti-exploitation features like ASLR.

FreeBSD is working on it, but it took surprisingly long.

<comment><USER40> NetBSD has had support for ASLR since 2009 (NetBSD 5.0), but they only enabled it recently by default: [https://mail-index.netbsd.org/source- changes/2016/04/10/msg0...](https://mail-index.netbsd.org/source- changes/2016/04/10/msg073939.html)

</comment></comment><comment><USER41> Pity this documented is not dated. But judging from the version numbers of things he mentions it probably dates from around 2003 or perhaps 2004.

</comment><comment><USER42> Ahh, this old article again.

>"But Linux is more popular." >So? Windows is even more popular. Go use that.

This slope is so slippery I broke my neck when I fell.

</comment><comment><USER43> Another aspect of the "Linux vs. FreeBSD" story is Java. I was almost won over by FreeBSD few years ago, however what keeps me back is so to speak the "second class citizenship" of the JVM on FreeBDS. Or at least it was so pre- OpenJDK 8, when I looked.

Is anyone successfully using Java on FreeBSD in production?

<comment><USER44> Depends on what you mean by production.

I've been running Gitblit and multiple Minecraft (Spigot) worlds with Openjdk8 on FreeBSD 10 for more than a year and never had any problems (Jenkins worked fine too but I used it only for a short time).

But my userbase is only about 10 people, mostly in minecraft (to get a sense of the main world's scale: [0]), so I don't know if that qualifies :)

[0] [https://world.vanwa.ch/](https://world.vanwa.ch/)

</comment></comment><comment><USER45>
      When I say "Linux", I mean Red Hat. I mean Slackware. I mean Mandrake. I mean Debian. I mean SuSe. I mean Gentoo. I mean every one of the 2 kadzillion distributions out there, based around a Linux kernel with substantially similar userlands, mostly based on GNU tools, that are floating around the ether.

So... do you include Android? It's worth asking, because though it uses a Linux kernel, it's a heavily modified one (little chance of Binder ever being accepted into Mainline, or of Android abandoning it), and its userland is very different from anything you're used to from GNU.

Edit: I can't find a date, but from other stuff in it I'm guessing the article is from quite a few years ago, before Android was mainstream or even existed.

<comment><USER46> > little chance of Binder ever being accepted into Mainline

I hate to break it to you, but...

[https://git.kernel.org/cgit/linux/kernel/git/stable/linux- st...](https://git.kernel.org/cgit/linux/kernel/git/stable/linux- stable.git/tree/drivers/android/binder.c?id=refs/tags/v4.6.3)

Looks like it's in 4.1+.

<comment><USER45> I-- it... what??

I really haven't been paying attention O_O

</comment></comment></comment><comment><USER47> I have a lot of sympathy for the BSDs. I actually learned Unix with NetBSD in 2004. Problem with BSD nowadays, at least for me, is that all supported desktop hardware is really old. The newest, still available, Laptop that works is the Lenovo X240 (and other x40s....). And when everything works, like on my Samsung NP530, there is strange stuff like a super slow and unreliable Wi-Fi connection. So if you want a great OOTB development experience with the same, working, OS on Desktop and server, Linux is the way to go...

But I cannot help and sometimes try the BSD stuff out, as it feels like "my parents home".

<comment> aaron-lebo The lead dev of Dragonfly worked to get it working on:

[https://www.amazon.com/Acer-C720-Chromebook-11-6-Inch-4GB/dp...](https://www.amazon.com/Acer-C720-Chromebook-11-6-Inch-4GB/dp/B00FNPD1OY)

That's a sub-$200 Intel Haswell machine. It also means Dragonfly (as well as the other BSDs) work fine on similar hardware.

Similarly, you can put together a modern sub-$300 desktop that will run it just fine.

Also see:

[http://lists.dragonflybsd.org/pipermail/commits/2016-May/500...](http://lists.dragonflybsd.org/pipermail/commits/2016-May/500352.html)

</comment></comment><comment><USER48> I use FreeBSD on the Desktop. It took me a bit to set up my system, so I keep lots of backups. I've been exploring the idea of building an image that contains all the stuff I use.

I find that FreeBSD is generally a lot simpler and more discoverable than Gnu + Linux. If you want a bare-bones UNIX experience free from SystemD and Pulse Audio, I'd recommend giving FreeBSD a try. The FreeBSD handbook is very nicely written, and at the very least using FreeBSD is an educational experience.

</comment><comment><USER49> I remember checking out [http://over-yonder.net/](http://over-yonder.net/) after being linked from Slashdot circa 2006. I always have a soft spot for the "Homepage" link on Slashdot. I was impressed with his resume generator at the time: [https://www.over-yonder.net/~fullermd/resume](https://www.over- yonder.net/~fullermd/resume)

</comment><comment><USER50> A check of the wayback machine indicates this was first posted back in October 2010. Mods might want to tag it as such since some of the information is dated.

</comment><comment><USER51> I'm not sure I see the distinction between the "FreeBSD's version of tcpdump" and, say, "Debian's version of tcpdump" ( [http://sources.debian.net/patches/tcpdump/4.6.2-5%2Bdeb8u1/](http://sources.debian.net/patches/tcpdump/4.6.2-5%2Bdeb8u1/) )?

</comment><comment><USER52> Linus Torvalds is benevolent dictator for Linux kernel; He is very rigid on what piece of code goes to kernel space or user space;

</comment><comment><USER53> Linux is Python, FreeBSD is Scheme ;)

<comment><USER54> What's Solaris, then?

<comment><USER55> Rust - lesser understood and known but has incredible power...

</comment></comment></comment><comment><USER56> > Darwin is closer to a standard BSD feel, but most of its userbase is people > who came from BSD, so it's a bit outside the scope of this essay as well.

I'm confused by this sentence. Did you perhaps mean "people who came from OS X"?

</comment><comment><AUTHOR> Actually I try FreeBSD as Web Server in a single core VPS (development purposes) and I'm happy with performance and stuff. But my default workstation is Linux in this case Fedora 24 (a RH based) with Gnome 3.x

</comment><comment><USER47> I love BSDs for their pureness. You feel connected to the machine.

</comment><comment><USER57> This seems like it was written a decade or so ago. I don't know how much of this has changed in that time.

It's well written and informative, though.

</comment><comment><USER58> Some call it chaos, others call it 'Freedom of Choice'.

</comment><comment><USER59> BSD has a wonderful, unified events system. That incorporates blocking disk IO. Linux has epoll.

[https://www.nginx.com/blog/why-netflix-chose-nginx-as-the- he...](https://www.nginx.com/blog/why-netflix-chose-nginx-as-the-heart-of-its- cdn/)

<comment><USER60> BSD and Solaris (which also has kqueue, and something else IIRC) got this really right while Linux got this _really_ wrong.

I still prefer NT's IOCP, but kqueue isn't bad. epoll… is what happens when you get someone who's never done asynchronous I/O to design a system for doing asynchronous I/O.

<comment><USER61> Solaris has its own form of completion ports too, I believe. [https://web.archive.org/web/20110719052845/http://developers...](https://web.archive.org/web/20110719052845/http://developers.sun.com/solaris/articles/event_completion.html)

NT's IOCP is good, sensible model overall having used it some recently. It's mildly put off by some "gotchas" (like async calls occasionally returning synchronously if there's nothing else on the queue, so you have to be careful with send, recv, etc), but the actual design is good. Thread pools being a convenient, native API in Vista+ is also a bonus.

</comment></comment></comment><comment><USER62> Previous discussions:

[https://news.ycombinator.com/item?id=1942778](https://news.ycombinator.com/item?id=1942778)

[https://news.ycombinator.com/item?id=4374865](https://news.ycombinator.com/item?id=4374865)

</comment><comment><USER63> Must... resist... clickbait title... I'm not strong enough!

<comment> Anthony-G Given my very limited knowledge of BSD, it comes across as informative and well-balanced. Its HTML title, _BSD For Linux Users_ is more descriptive than its first-level heading.

</comment></comment><comment><USER64> Something I don't understand about FreeBSD is why they use the evil daemon for the logo? Whatever story behind it, I just think there are many other alternatives they could use as the logo.

<comment><USER65> It is a satanic cult. All these free software people are unpatriotic, satanic terrorists.

<comment><USER14> And communists! Don't forget communists!

</comment></comment></comment><comment><USER66> > I like FreeBSD, and I use it as a server OS and on a NAS box but you only > need look at > [https://wiki.freebsd.org/Graphics](https://wiki.freebsd.org/Graphics) to > understand that if the "Linux Desktop" is a joke compared to MacOS and > Windows then the "FreeBSD Desktop" is even more so.

I've never heard anything good about the "MacOS desktop" and I'm pretty sure that the "windows desktop" is far behind the "linux desktop"(plugins, performance, menus etc.). Have you tried something else than xfce or unity?

<comment><USER67> I've never heard the opposite. I've switched to OsX 4 years ago after being completely unhappy and irritated with Windows for over 12 years. Now after months of using Ubuntu (unity, xfce) and Mint (Cinnamon) I'm convinced that OsX is best for average (and power) desktop user by a huge margin. Although I would be much more happy with something Open Source.

<comment><USER68> I used Linux on the desktop from 2001-2007 or so. Switched to OS X until then. It's no contest: OS X is smoother, more consistent, and lower maintenance. Linux desktops seem to have peaked with GNOME 2.x. I'm not even sure what's going on with Unity.

<comment><USER66> > Linux desktops seem to have peaked with GNOME 2.x. I'm not even sure what's > going on with Unity.

Gnome 2.x is a dead-end - it was buggy and ugly. Gnome 3.x is far better. Unity is just another canonical-outrage.

<comment><USER69> Would you mind explaining what you mean by outrage? For productivity, Unity beats any Gnome 3 setup I've tried so far. And we're still not talking about the maintenance/security nightmare that is the Gnome 3 plugin system.

<comment><USER66> By "outrage" I've meant canonical has developed it because they didn't like gnome shell(they like the innovation-thing).

> For productivity, Unity beats any Gnome 3 setup I've tried so far.

Unity has problems with multiple monitors, consumes more RAM and CPU and is also hard to customize.

> And we're still not talking about the maintenance/security nightmare that is > the Gnome 3 plugin system.

But we should talk about it if we're here...

<comment><USER69> > By "outrage" I've meant canonical has developed it because they didn't like > gnome shell(they like the innovation-thing).

After watching the "we're the only ones who know best, so shut up"-antics of the Gnome developers, I can understand that canonical got cold feet.

> Unity has problems with multiple monitors, consumes more RAM and CPU and is > also hard to customize.

In my experience, setting up multiple monitors was much less of a hassle under Unity than under Gnome. I don't have any recent data on the resources use, but I wouldn't run either Unity or Gnome on a low memory setup. Firefox and Chrome dwarf any RAM use for compositing anyway.

>But we should talk about it if we're here...

Ok, gladly. In Gnome 3, a lot of functionality comes from extensions. Even changing the theme (from a _black_ top panel) needs an extension. Installing extensions is done over the web using your browser (this works to a varying degree out of the box). I don't know of any recent changes, but about a year ago I had a look under the hood, because I wanted to make my own extensions, and was shocked by how they work.

First of all, there seems to be pretty much no integrity checks, signing, hashing to prevent malicious extensions. That's pretty much a no-go if you want to use Gnome in any kind of industrial setting (you will have to maintain them offline and manually on the file system level, sidestepping the supported way).

My second gripe is the stability of extensions. Since you're downloading from a website, the currently offered may not fully support your slightly outdated Gnome install. However, if you keep your Gnome up to date, expect random failures of your extensions.

From [http://lwn.net/Articles/460037/](http://lwn.net/Articles/460037/) about the reasoning behind sidestepping distro packaging (emphasis mine): "The second reason is that extensions are not working with a stable API, so have very specific version requirements that don't really fit into the normal assumptions packaging systems make. If a packaged extension says it works with GNOME Shell 3.2 only and not with GNOME Shell 3.4, then that will likely break the user's attempt to upgrade to the next version of their distribution. _We 'd rather just disable the extension and let the user find a new version when it becomes available._"

So, you just updated your Gnome and your productivity extensions fail. Now you have to search replacements and, should you find them, configure them anew. Sometimes extensions just randomly fail. This was the main reason I finally gave up on using Gnome for work.

And speaking of stable APIs: another shock was to see that extensions don't operate against a plugin API but are basically Javascript code smudged into the existing running code. This makes gauging the effects one extension has on another pretty much impossible.

My final conclusion regarding Gnome 3 was that it is a wobbly work in progress, less configurable than Compiz (there just aren't that much extensions to choose from in the end), based on questionable design principles and taste. It's okay for hobby use, I guess. But I have yet to find a distro that provides an as polished DE setup with Gnome as Ubuntu does with Unity.

Don't get me wrong, I _want_ Gnome to be great, since many distros use it as default DE and I want an alternative if Canonical mucks up Unity with their Mir transition and their focus on smart phones. There's also Cinnamon wich I kind of like, but it has the same problems regarding extensions as Gnome. I will give KDE a closer look in the future.

<comment><USER70> > After watching the "we're the only ones who know best, so shut up"-antics of > the Gnome developers, I can understand that canonical got cold feet.

If only we could exile the GNOME devs, Canonical & the systemd devs to a desert island, the state of the Linux desktop would be … well, probably not as good but at least it'd be a much more collegial community.

To get back to the original topic: the attitudes of the GNOME devs, Canonical & the systemd devs reminds me of that of the OpenBSD devs, with the exception that the OpenBSD guys are generally _right_ , just socially inept in how they convey their message.

<comment><USER69> > If only we could exile the GNOME devs, Canonical & the systemd devs to a > desert island, the state of the Linux desktop would be … well, probably not > as good but at least it'd be a much more collegial community.

I wouldn't judge them that harshly, but the kerfuffles had the effect of splitting the Linux community into those who embrace progress and those who shun it. Sadly, most of the experienced went the latter way because the progressive path was full of cranks.

> To get back to the original topic: the attitudes of the GNOME devs, > Canonical & the systemd devs reminds me of that of the OpenBSD devs, with > the exception that the OpenBSD guys are generally right, just socially inept > in how they convey their message.

Most of this, in my experience, comes from sticking to a very strong opinion that is heavily based on ideals. The further apart from the real and existing world these ideals are, the more caution should be taken when implementing them. Otherwise you _will_ be placing a huge turd on someone's desk. During work hours. On a deadline.

I think this is the main problem with the attitude that the Gnome and systemd devs have. The Canonical devs took their ideals at least closer from a working model (OS X) and they were (I assume) motivated by pragmatism.

The OpenBSD devs base their ideals probably closer to their own experience. That makes it more likely to be right.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> And the hipsters are out in force...</comment>


A Journey building a fast JSON parser and full JSONPath, Oj for Go - <AUTHOR> https://github.com/ohler55/ojg/blob/master/design.md <comment><USER2> I wrote a fast C json parser a few years ago (+600megs/s) And it was an interesting experience. Validating the json roughly halved the performance. The most interesting performance gain was going from using aligned structs to packed byte offsets being accessed using memcpy. It added 20-30%. The overhead of aligning was nothing compared to fewer cache misses. In the end i found that making a truly fast json parser mostly depend on what you parse it to. Like, is the structure read only, and how fast is it to access?

<comment><USER3> Without validation, all the speed and performance is worthless, if a bad formed JSON can break your application

<comment><USER4> There are many circumstances where the JSON is always perfect. Having the option to not validate is beneficial

<comment><USER5> If you have so much control over the JSON and performance is a big deal, then there's a big chance you can get rid of the JSON in favor of a more performant format.

<comment><USER4> That isn't true though. It's the lingua franca of data transfer. Also, why are we giving away money because of this view? We are stuck with JSON for better or worse.

I've seen parsers where the same real task, say parse, map, and reduce a 100MB of doubles encoded as JSON. In a decent library it is taking much less than half a second and very little memory, say the size of the result and the memory mapping of the JSON document. In many common libraries it takes multiple seconds while using hundreds/gigs of memory. That means one has to pay for bigger machines with more uptime per task. That is giving money away.

<comment><USER5> If you want performance and you control both ends to the point that you don't want to validate the format, why are you using a lingua franca and not a specific solution? You could swap it out for bson or msgpack.

A little ETL goes a long way.

<comment><USER4> For sure, if you can control both ends, use something more efficient. But, at least in my cases, I am consuming data from others.

<comment><USER6> So you are consuming data from others yet assuming it to be perfect and not in need of validation?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> There is a nugget buried at the bottom of this: you will get different output for different kinds of for ... range or for i ... loops. You'd think these are equivalent:

            for i = range arr {
                    sum += arr[i]
            }
            for _, c = range arr {
                    sum += c
            }

... but the latter is 4 bytes shorter in x86. The compiler takes things literally.

<comment><USER8> Nice explanation, thanks.

</comment></comment><comment><USER9> > Both the Ruby Oj and the C parser OjC are the best performers in their > respective languages.

Um, no, they arent:

[https://github.com/simdjson/simdjson](https://github.com/simdjson/simdjson)

<comment><USER10> According to the OjC README:

> No official benchmarks are available but in informal tests Oj is 30% faster > that [sic] simdjson.

Source: [https://github.com/ohler55/ojc/blob/master/README.md#benchma...](https://github.com/ohler55/ojc/blob/master/README.md#benchmarks)

If you have benchmarks that show otherwise, that would be great for the discussion here, but your point appears to have already been addressed?

<comment><USER8> I'll get the code up on the OjC repo in the next day or two. You are right, there should be reproducible benchmarks to back up the statement.

<comment><USER8> Benchmarks added at [https://github.com/ohler55/ojc/blob/master/test/simdbench/RE...](https://github.com/ohler55/ojc/blob/master/test/simdbench/README.md)

<comment><USER11> These are my results on an (admittedly old) Intel i3-2120 CPU @ 3.30GHz. Compiling both programs with -O3:

        ojc_parse_str    1000000 entries in 3607.615 msecs. (  277 iterations/msec)
        simdjson_parse   1000000 entries in  418.997 msecs. ( 2386 iterations/msec)

and might as well throw in my own parser...

        uj_parse   1000000 entries in 1959.731 msecs. (  510 iterations/msec)

The -O3 seems to make a large difference for simdjson.

<comment><USER8> Shockingly different. The -O3 option made hardly any difference with OjC but more than a 10x difference with simdjson. I'll be removing the claim from the OjC readme.

Thank you for being civil with your reply. Much appreciated.

<comment><USER12> What I've learned from this (as a simdjson author) is that we need to update the quick start in the README to have -O3. I was so psyched about the fact that we now compiled warning-free without any parameters ... that I didn't stop to think that some people would go "huh I did what they told me and simdjson is slow, wtf." Because we evidently told you to compile it in debug mode in the quick start :)

simdjson relies deeply on inlining to let us write performant code that is also readable.

Sorry to have sent you down a blind alley!

One thing to note: if you want to get good numbers to chew on, we have a bunch of really good real world examples, of ALL sizes (simdjson is about big and small), in the jsonexamples/ directory of simdjson. And if you want to check ojc's validation, there are a number of pass _.json and fail_.json files in the jsonchecker/ directory.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> How does this compare to something like [https://github.com/valyala/fastjson](https://github.com/valyala/fastjson) ?

<comment><USER8> The fastjson package is fast. Can't disagree but unfortunately it accepts invalid JSON and what you get from the parser is a Value that you can get values from using a Get() function and not a simple go type. To get a simple go type like []interface{} or map[string]interface{} you have to know what the paths are. You can't actually iterate over a map as far as I can tell.

Basically the two packages are different in what they provide. OjG returns simple go types and instead of a simple Get() it provides a full JSONPath implementation. Different but both have their uses so depending on a user's needed one might be better than the other.

</comment></comment><comment><USER14> I wonder how people that make super specific things like this their whole career make money. I wonder if they are independently wealthy and just do things like this for fun

<comment><USER12> It's kind of a "continued learning" requirement, a little. Work doesn't always have the problems (or funding for them) that grow you in the right directions.

Open source is also a sort of portfolio for many people, I think. Resumes can only tell you so much; code speaks volumes. It pays, just not directly or immediately.

Though my first job in Silicon Valley-sized tech was at Netscape, and I got that specifically after writing some big open source patches for Mozilla. So it can sometimes pay more directly.

</comment></comment><comment><USER15> Go is becoming the language to implement json parsers</comment>


NY bill proposes requiring back doors in cell phones - <AUTHOR> http://legislation.nysenate.gov/pdf/bills/2015/A8093 <comment><USER2> If you'd like to let members of the NY State legislature know that you oppose/support this bill, please use the following link and scroll down to the "aye/nay" section.

[http://www.nysenate.gov/legislation/bills/2015/a8093](http://www.nysenate.gov/legislation/bills/2015/a8093)</comment>


Ask HN: Favourite books on anthropology you'd recommend? - <AUTHOR> <comment><USER2> I'm not quite sure these would be what you're looking for, but I enjoyed the following:

Seeing Like a Rover - Janet Vertesi

Human-Machine Reconfigurations - Lucy Suchman

Where the Action Is - Paul Dourish

Seeing Like a State - James C. Scott

</comment><comment><USER3> When cultures collide</comment>


The biggest vocabulary? (2010) - <AUTHOR> http://www.economist.com/blogs/johnson/2010/06/counting_words <comment><USER2> The vocabulary might be counted using different meanings and not counting meanings that can be created by combining simple meanings.

Pat Cassidy is trying to create such a simple vocabulary at micra.com

to quote from his website:

MICRA is hosting the COSMO (COmmon Semantic MOdel) ontology, a public, open foundation ontology that is intended to include all the basic elements required to specify the meanings of any more specific concept in any domain.

</comment><comment><USER3> It would be interesting to compare common using distributions.</comment>


Can We Terraform Mars or Not? - <AUTHOR> http://nautil.us/issue/65/in-plain-sight/so-can-we-terraform-mars-or-not <comment> java-man I am afraid mankind is too poor and too stupid for this to happen in the nearest future (~100 years).

We can't seem to resolve basic issues here on Earth, like healthcare and education. We spend trillions on pointless wars while large portion of the planet population has no access to basics.

Sorry for stating the obvious.

</comment><comment><USER2> I read this as "Terraform Macs" and thought this has something to do with Terraform and somehow provisioning macOS VMs.</comment>


Bills Introduced by Congress Fail to Fix Unconstitutional NSA Spying - <AUTHOR> https://www.eff.org/deeplinks/2013/07/bills-fail-fix-unconstitutional-nsa-spying <comment><USER5> Decreeing that governments should not try to infiltrate their citizen's (and not only their) privacy is like decreeing that terrorists should not possess explosives. The point is, if they'd find a possibility to do that, they still will do whatever's in their interests.

IMHO, the only reasonable option is to embrace the inevitable and explicitly allow any wiretapping (on any level, for anyone just because they can - <USER2> only for TLAs and law enforcement; with a several year of grace period, so the everyone could prepare themselves) and force the world to secure their communications and not rely on promises that nobody would peek at them.

</comment><comment><USER6> This is great news but will it really force certain agencies and powerful circles to stop what they've been doing all this time in secret? And if not, what could?

</comment><comment><USER7> No dice. They've taken the cellophane off of that gargantuan data centre, so it's too late to return it for a refund.

</comment><comment><USER8> This whole dispute is obsolete. Pretty soon the 3D printers will be cranking out isotope separators. Afterwards everyone will be part of a total surveillance society, by process of natural selection. We should consider this a practice run for learning how to build a transparent society that works.

</comment><comment><USER9> We don't need to change the constitution. We need to insist that the 4th amendment be honored immediately. We are not at war.

There must be a full, open Congressional investigation (like Church) which pries open the so-called secret interpretation of the law (an idea which is utterly anti-American). We must subsequently have an informed discussion about how to do what needs doing to for real (not fear-driven) protection of citizens, while reversing the invasion of privacy clearly forbidden by the 4th, restoring explicit warrants backed by clear and unambiguous evidence.

This is a time to form a hard, hard line. If we do not at this time, then we should expect further dismantling of the Constitutional rights that millions of Americans have fought and lost their limbs for. I do not usually talk like this, but this is an extraordinary and dangerous time in our nation's history, one ripe for further abuse. Our Congresspeople need to recognize that their jobs are unquestionably on the line if they don't fix this situation.

<comment><USER10> I thought we agreed we're at war until people stop using terrorism. That's what the President told me, anyway.

</comment></comment><comment><USER11> If it's unconstitutional, we don't need new laws to fix it. The existing laws (the constitution) need to be enforced. It's a failure of the judiciary, not the legislative branch.

<comment><USER12> You can't take it for granted that it is, in fact, unconstitutional, just because the EFF says so. The EFF has its interpretation of the 4th amendment, just like the ACLU. They take very expansive views of what those amendment means. Taking narrower views is not a "failure of the judiciary." It's disagreement over a document that can legitimately be interpreted in different ways.

<comment><USER13> Furthermore, what holds the Executive in check is the combined vigilance of Congress and the Judiciary.

The Judiciary must show reasonable deference to Congress when it comes to defining such things as "due process". If Congress chooses to create a due process in which it seems very easy for the Executive to get its way (e.g. the FISA court), on what legal basis is a sitting judge supposed to stand in the way? Unless it is completely obvious by existing legal precedent, a federal judge might rightly suppose it is the job of the Appellate and SCOTUS to define any new yardsticks.

FISA courts, PRISM, NSA, drone assassinations,... Congress holds in their hands the power to define the terms of the debate. That they choose not to is simply because the minority and majority leadership in both houses of Congress more greatly fear having to explain their own position to the American people, than they fear any particular arguable abuse by this president.

</comment></comment></comment><comment><USER14> The crux of this article is that these Senators don't know how to fix the problem. That is far from correct.

Why? Senators Wyden and Udall are part of the Senate Intelligence Committee. They have full access to the secret discussions going on, and the practical implementation of them.

They are fully briefed on these issues, and hold clearances, as well as hold the power to investigate Top Secret America. Instead of assuming ignorance on Wyden and Udall's part... perhaps the EFF should be analyzing their proposals.

<comment><USER10> Instead of assuming ignorance, we should simply assume intent. But I think ignorance probably is sufficiently explanatory - access to snake oil sales pitches doesn't ensure informed decisions.

<comment><USER14> Wyden and Udall have been consistently against these programs damn near a decade, and have been trying to reform section 215 of the Patriot act the whole time. Wyden and Udall have not had to "change" their opinion before or after this controversy, they've been consistently against it the whole time.

Their reforms are the same that they've been pitching for many years, its just that no one has been listening. If you notice, they are the ones who are forcing the NSA to correct their public statements.

[http://www.wyden.senate.gov/news/blog/post/wyden-and- udall-t...](http://www.wyden.senate.gov/news/blog/post/wyden-and-udall-to- general-alexander-nsa-must-correct-inaccurate-statement-in-fact-sheet)

They don't just listen to the NSA, they also _correct_ the mistakes the NSA makes in public.

<comment><USER10> Yeah, I see that. But have they really drawn public attention to it? No. They've gone with the flow because they somehow agree that if the American public knows the law that governs them, we will all be killed in our beds by terrorists.

I have very little respect for people with the access and clout that Wyden and Udall have who fail to actually take any action outside their little box despite their probable understanding that this whole thing is undermining American democracy.

And that's why I don't feel bad about ascribing intent. Sure, they want to introduce mild reform without breaking any rules or expectations - but they want to keep their perky little jobs as opposed to taking an actual stand.

Why haven't they proposed any legislation addressing the fact that our policymakers are sworn to secrecy so they can't get a second opinion about the line they're being fed? Why haven't they brought any of this to the public for debate? Because they actually think that - except for a few tweaks - it is a _good_ thing for America to be run by secret bodies using secret policies and judged only by secret courts. They have acclimated to a two-tier system of justice, one for people with pull and another for you and me.

<comment><USER14> [http://www.wyden.senate.gov/news/press-releases/amendment- re...](http://www.wyden.senate.gov/news/press-releases/amendment-requires- government-to-end-practice-of-secretly-interpreting-law)

Keep an eye on the date of these articles.

Lets be frank here: Wyden has been _ignored_. He's been writing and trying to get the word out publicly for a very long time. The only shame is on _you_ for not knowing Politics, and not supporting Wyden's cause sooner.

It is not too late however to support Wyden or his proposals, if thats what you want. But your bastardized claims of Wyden only demonstrate how ignorant you are of American Politics.

But whatever, you can just go ahead and ignore me. Or perhaps you can listen up to what politicians in Washington say for once.

But if you decide to ignore politicians, and pass judgement upon them anyway, well... that just makes you an ignorant dumbass. So go on and assume everyone is against you on all matters, I'm sure that will play well for your sanity.

</comment></comment></comment></comment></comment><comment><USER15> I think a Constitutional Amendment should be considered too.

<comment><USER16> Would a bill to explicitly define the 4th to include data storage have sufficient force of law? Or would that violate separation of powers and get thrown out by SCOTUS?

At any rate, given the tepid reaction of Congress, I don't see an amendment happening anytime soon. Hell, at this point the ideological tribalism is so bad, I'm not sure they could agree on an amendment outlawing the kicking of puppies.

<comment><USER17> Once you change the constitution it can't be thrown out be the SCOTUS by definition. They can interpret constitutional law or declare law unconstitutional, they can't blatantly ignore the constitution (well, in theory...).

In short, the facility to reverse supreme court decisions is a constitutional amendment.

<comment><USER18> lukifer is asking about whether a normal bill (law) would be sufficient, as opposed to yuhong's suggestions of a constitutional amendment.

</comment></comment></comment></comment><comment><USER19> Fixing American laws is a step in the right direction, but it doesn't make me as a non-American feel any more confident about using US-based internet services.

<comment><USER20> Are there any examples of countries that have the means to spy on other countries but choose not to?

<comment><USER21> The US between the years 1929-~1935. The closing of the American Black Chamber to the opening and secret executive permission for the military to break the law and steal communications for "training" purposes.

<comment><USER22> Which led to the famous Henry Stimson quote that "gentlemen do not read each others' mail".

Luckily for the U.S., they stopped acting like gentlemen in time for the Battle of Midway.

<comment><USER21> It's the difference between a peace footing and a war footing. The US broke off the lever that switches between the two.

<comment><USER8> Nuclear physicists broke off the lever. The intelligence community has been holding things together with duct tape ever since, successfully so far.

We should seriously ask whether the NSA is broken before we try fixing it. If a mushroom cloud over Indianapolis is a 10 on the civil liberty infringement scale, many people would rank domestic surveillance as a 0.0001.

<comment><USER10> Right, because nuclear terrorism is what the NSA is looking for. Nice rhetorical posturing there, big guy.

<comment><USER22> Well, the threat of a dirty bomb or actual nuclear payload being smuggled into a U.S. city by a terrorist group _really is_ something the NSA is watching for. It's just not the only thing they're watching for.

<comment><USER10> I wish they'd been watching for fraud on the part of the biggest banks, which has done America a lot more damage than a smuggled bomb. Putting it in Indianapolis is rank pandering to the Tea Party, though. Back in 2003, my dad (also in (rural) Indiana) professed to be in fear of Saddam Hussein. I told him at the time that even if Saddam Hussein actually had any way to affect him, he'd never heard of Indiana.

And yet it's the heartland running on sheer terror to demand safety instead of their liberty.

<comment><USER8> Indianapolis was the site of a full-dress-rehersal nuclear interdiction field exercise. It is also a literary allusion to a well-known science fiction story in which Indianapolis is sacrificed to an alien nuclear attack.

Saddam Hussein could have trivially smashed the economy of Indiana as part of larger dsruptions of the world economy. The actual error is that by 2003 he was utterly deterred. Gulf War I taught him all about staying on his little patch of sand.

This discussion contains only the political partisanship you projected onto it. You need to learn that clear strategic analysis often contradicts or supports political dogma _by coincidence_.

<comment><USER10> Bah. It was in Indianapolis for the reasons I mentioned in my post - <USER3> and terror. That you now cite it as a reason to worry about Indianapolis is rather circular. As to your citing science fiction, I'd like to remind you that Close Encounters of the Third Kind took place in Indiana as well - <USER4> I be watching the skies?

This discussion contains all the political "partisanship" it needs, son. Get over yourself before you presume to tell me what I need to learn.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Realtime cyberwars - <AUTHOR> http://cyberwar.kaspersky.com/

<comment><USER2> The graphic is awesome, looks beautiful. But tells me absolutely nothing. When I mouse over what I assume are events it tells me nothing, when I click, it doesn't tell me whats happening. Just national stats.

Are the visuals procedurally generated? Are they detected? Whats going on? It tells me blue is a virus scan, but then why is it jumping across oceans? I'm assuming that a flash is when their program does something?</comment>