1. 60
  1. 18

    Interesting read, with a few neat ideas (I liked the idea of local data caching).

    Why no ECC RAM though? The Xeon supports it so it would be almost silly not to use it. Oh, and a SAS LTO-4 tape drive won’t cost much more than a SCSI LTO-3 drive but it’ll hold twice as much and almost certainly be faster.

    1. 6

      Thanks for the tips. I didn’t know about ECC ram. Is memory corruption pretty common?

      1. 13

        Good question. Jeff Atwood discussed exactly this issue in 2015 and Dan Luu followed up with some further discussion. I don’t think it’s absolutely necessary, but if your CPU supports it, why not?

        Personally, I use it in every system I have that supports it. Yes, it’s more expensive, but why bother using something like ZFS (which I do) if you have no guarantee that bits aren’t getting flipped before they even reach the disk?

        1. 10

          Jeff Atwood cites google as the case for not using ECC.

          Emulating google is also emulating googles mistakes.

          There is some research to suggest memory corruption occurs especially at 8+ GB scales. Perhaps these problems scale with size so at 64GB it is likelier.

          ECC in a personal machine is a trivial cost. At google scale even trivial cost can matter, but in this case, unless this is a gaming toy use ECC. I mean why not?

          Some HN discution on the topic


          1. 6

            From that discussion:

            While I was at Google, someone asked one of the very early Googlers (I think it was Craig Silverstein, but it may’ve been Jeff Dean) what was the biggest mistake in their Google career, and they said “Not using ECC memory on early servers.”

        2. 2

          Another benefit of tape you should’ve mentioned is increased longevity and better recovery. Many cheap mediums have worse longevity than they advertise. DVD-R’s, for instance, can become unreadable in mere years. Enterprise focus on future proofing with lots of tape use means it’s unlikely to disappear like Zip or MO’s. Less uncertaintly than things like BluRay.

          The only remaining comparison are to cheap RAID arrays. Idk where they are in price per GB right now.

          1. 2

            Great point, I’m drafting an update to the article and will include this.

      2. 9

        I hope they were kidding about using dash as a shell. I pity anyone who would do this to themselves.

        1. 3

          Get off my lawn. I used the port of the Plan9 rc shell for many years after using the basic Bourne shell and maybe an old ksh. I used to feel that if I need a heavy shell I was doing something wrong.

          But a colleague turned me on to zsh last year. After loading it up with tweaks (many from ohmyzsh, others local) and ignoring that I have several 4-5MB shells around, I quite like it.

          1. 3

            I’ve never actually used Dash, just read that it was lightweight. What would be your recommendation?

            1. 6

              You might find Dash a little too lightweight as an interactive shell. Most would suggest one of bash, zsh (my choice), fish or even ksh or tcsh if you’re a traditionalist.

              1. 5

                Dash is a bare bones, POSIX shell for (portable?) scripting only.

                Only features designated by POSIX, plus a few Berkeley extensions, are being incorporated into this shell.

                Having used a bare bones shell on mainframes, trust me when I say you’re going to want something more heavy. If it’s where you spend a lot of your time, then it’s worth making it comfortable.

                The usual suggestions – bash, zsh – are just fine. I like the idea of keeping the root account on a lightweight shell and not making it fancy. Compared to graphical desktop environments, every shell is remarkably lightweight anyway.

                1. 2

                  Dash was made by Debian developers to speed up the boot scripts. Portability was not a goal (initially at least).

                2. 4

                  I suggest mksh when looking for something lightweight.

                  1. 2

                    Seconding mksh, or OpenBSDs port of ksh. They’re lightweight, posix compliant and fairly minimalist.

                3. 5

                  It’s strange for me to get a professional audio and at the same time settle for an integrated GPU.

                  A tape for backups is a nice idea. I have to check it out, because it seems really cheap.

                  1. 19

                    They don’t have a GPU at all.

                    There’s lots of strange choices here:

                    • Gigantic gaming case
                    • Even back in England a UPS would be pretty useless
                    • Xeon but no ECC
                    • I’m not convinced NVMe drives are practical yet - most software is not built for such fast disks which just moves the bottleneck to decompression. In particular, games are made primarily for consoles, and PS4/xbone come with HDDs
                    • A DAC that’s probably worse than the one on the mobo
                    • A hardware mixer for no reason
                    • Expensive video input and microphone
                    • No Noctua fans :)
                    1. 12
                      • 1080P monitor! While I personally love multimonitor setups, I get the author’s objection, but you can do so much better than the U2417HJ. Dell’s P2715Q is 4K, edit: 60Hz, IPS, 27 inch, rotates to portrait for those long source files, and is reasonably priced.
                      1. 11
                        • UPSes are never useless; every storage medium everywhere prefers a steady stream of clean power to an abrupt spiked shutoff. Always have a UPS on desktop machines (or carry it around yourself in the form of a laptop).
                        • it turns out that games (and everything else) are bottlenecked by bandwidth and latency from the file system; SSDs, and NVMe in particular, are the best investment you can make for any computing purpose in 2017
                        • almost any external DAC is going to be better than the one on the motherboard, because motherboards are a boiling stew of high frequency, erratic electrical signals and high power lines
                        1. 3

                          almost any external DAC is going to be better than the one on the motherboard, because motherboards are a boiling stew of high frequency, erratic electrical signals and high power lines

                          Better perhaps, but does it make a difference in practice? I remember when the cheap integrated audio 15 years ago would whine loud whenever you move the mouse or stress the CPU. I think we have improved a lot since then. The noise rejecting circuits in modern op-amps can be pretty darn nice, and I think they might be using some shielding too. On my new board, the audio chip is stashed away in the lower left corner, pretty much as far away from everything as you can get.

                          I can hear my mouse and SSDs whine, and my monitor buzz, but there is no sign of such noise on the audio output, which is connected to an external six channel phone amp, with sennheiser hd 650, hd 800, akg k701 and k812.

                          1. 1

                            I get buzz and whine on my onboard DAC; I suspect it’s down to how much a particular motherboard company cares. Interesting to hear that decent onboard DAC is possible, though. Who’s your vendor?

                            1. 1

                              My new board is some ASUS Crosshair whatever, AM4, for the Ryzen CPUs. That said, I’ve been using Shuttle mini PCs for a few years now (DS437 and DS57U7) and the output sounds ok to me. I don’t recall having noisy outputs on my laptops either (ASUS and Lenovo).

                          2. 2

                            Yeah, UPS’s wouldve helped me during numerous power outages and distortions back whdn I thought they were unnecessary. I always recommend them. Especially given problems tend to happen at worst moment.

                          3. 5

                            I do zero gaming, no bitcoin mining, and mostly use boring apps and the command line, so a GPU didn’t seem useful for me. But willing to change my mind if you think I’m wrong there.

                            The case is actually smaller than it looks in the picture, it’s a “mini tower” that fits the Micro-ATX mobo form factor.

                            The crazy audio stuff was presented a little bit out of context, I want to use my computer in conjunction with a cd player and ham radio, and possibly GSM phone bridge, and mix them all together.

                            Nice fan suggestion.

                            1. 7

                              This set up will not work. The integrated graphics capabilities of that mobo relies on the processor having an integrated graphics chipset. Which yours does not. Alot of the choices for this build do not make much sense. If you haven’t purchased this yet I’d highly suggest rethinking your hardware/software choices as they really don’t line up with an optimal-developer machine.

                              1. 1

                                Nope, haven’t bought anything yet. Can you suggest what hardware might be better?

                                1. 12

                                  There are a couple oddities. The choice of a Xeon processor is odd because none of the typical features are being used. Reasons to get a Xeon: ECC ram, multiprocessor/dual socket mobo, getting an 8+ core intel proc, or running a dedicated server. If you aren’t utilizing these get a consumer grade i7 as you’re paying extra for features you aren’t using. If you are adamant on not getting a dedicated gpu, make sure the processor you’re getting as an integrated GPU as they sit on-core not on the mobo. I’d suggest an Iris pro capable processor if you want a more capable one or a 7700k. 1080p is pretty dated at this point, a 4k ips 60hz monitor would be better. For your external PSU, I’d suggest an APC as they have better support and typically are more reliable. The case is a bit expensive for what it is, there are cheaper/better/same looking cases out there. For the ram I’d look at a set with 14 ns for cas lat. I don’t really understand what you’re going for with the mic/mixer/cam setup. I’d get a c920 webcam + an o2 odac and what ever pair of audiophile headphones you want. I’m pretty sure you can grab a cheap sdr scanner off ebay for 20ish bucks. Tape back up is kind of odd, personally I’d go with an on prem NAS/ bluray discs for cold storage. Generating and storing secret keys… I wouldn’t worry that much about that. Most companies don’t even put that much effort into key storage. It’s odd that so much effort was put into getting a minimal desktop set up but that the base system is Debian … It would be easier to do an arch install and add what you need.

                                  1. 2

                                    This is great, concrete advice, thanks. One question: for the ECC memory would you recommend registered or unregistered?

                                  2. 3

                                    well, what exactly are you trying to do? What are your ‘boring apps’ and what do you do on the command line? The answer is going to be very different between a video/music editor (which you’re sort of seeming to want to set up like?) and a distributed systems researcher, or between either of those things and an enterprise java coder.

                                    1. 3

                                      Build Haskell apps (lots of compiling), edit videos, use software defined radio, have people connect remotely for pair programming. Then mostly a bunch of low intensity tasks like writing and email.

                                      1. 4

                                        You could probably save a great deal of money and time by buying a cheap prebuilt or a laptop, then. That’s squarely in the common case. Something like the Dell XPS13 laptop is famous and widespread enough that linux works quite well, there’s a tremendous amount of community support, and you get a UPS, video, and portability ‘for free’.

                                        1. 1

                                          Check out Field Programmable, RF Arrays if you’re into SDR. They’re cool.

                                          1. 2

                                            Several good, open-hardware designs on crowdsupply: https://www.crowdsupply.com/search?q=sdr

                                            1. 2

                                              Good to see one was funded that…


                                              …comes straight from FPRF inventor who have EE expertise to deliver it. Might help with prototyping mesh, radio networks.

                                  3. 4

                                    If I’m not mistaken, you won’t get any image on that monitor, the Xeon 1240 has no integrated GPU and I don’t think that motherboard has one either, even though the page you linked made it sound like it has one. The Xeon 1245 would get you an integrated GPU though.

                                    1. 2

                                      A GPU is starting to make sense even if you only use the web browser as it will take advantage of it to more quickly render webpages.

                                  4. 2

                                    Not sure how good audio board support is across operating systems, but video driver support is definitly on the weak side. If you want to start experimenting with different os you might want to skip the video card.

                                  5. 4

                                    Why are workstations getting so seemingly rare? I sometimes get to check out offices in young startups and everyone seems to be working on laptops. I strongly prefer working at my workstation as opposed to using my laptop because of screen space, and overall hardware performance. I probably have a really skewed perspective on this as most of my close friends and colleagues share my sentiments.

                                    So, why prefer a laptop to a proper workstation for your general work horse? I imagine most developers work either at home or at their place of work and not mostly mobile so I’m not sure why so many people prefer a laptop at all times.

                                    1. 3

                                      I’ve noticed. I think there’s a few things, order may vary:

                                      • herd mentality
                                      • acceptable performance in a laptop
                                      • simplicity, you don’t have to sync or manage your tool set and have good habits on a single machine
                                      • convenience for inventory and allocation (you have received the standard substandard kit, please join the next standup and the Friday retrospective…)

                                      and, way at the end of priorities:

                                      • on-the-go work habits

                                      What amuses me is that nearly everywhere I see that, people attach widescreen monitors or even travel with portable screens (like this https://www.asus.com/us/Monitors/MB16AC/).

                                      I engage in this myself since my work computer is a MBP and I unless I’m traveling it’s on my desk attached to a 24” LCD, a keyboard, and ethernet (though I mostly interact with it via ssh and Synergy keyboard/mouse sharing).

                                      1. 2

                                        I’m speaking from a different perspective here, but I think this is related: If you look at students and workers at universities and colleges, most of them (at least here) spend their day on the go and have to take their computing with them - the laptop is the obvious, classical solution, not many replace it with tablets or some hybrid device. I for one spend my entire day that way, so I’m used to the limitations, but I enjoy the benefits as well. I guess it’s a thing of habit. Most drawbacks (as usual) can be worked around, too: computationally expensive tasks can be run on a server you connect to remotely, and screen estate can be used very efficiently and with great comfort once one finds a good keyboard interface to a window manager of one’s choice. The mobility aspect can’t be recreated another way, however.

                                        1. 2

                                          We are a dying breed. I’m the only one in my office with a workstation. I built it myself (on the company’s dime) when I joined three years ago and it has served me well.

                                          I’ve observed that the people with laptops like to bring them and work on them everywhere they go. They clearly like the mobility. While I also have a laptop, I hate using it, especially when I’m mobile. Not only do I dislike the limited screen real estate (my workstation has three 1920x1200 24” monitors), but I psychologically hate working when I’m mobile. It’s uncomfortable and hard for me to focus. I would much rather sit quietly with my thoughts, pay attention to the other humans that are with me or read something on my phone.

                                          1. 1

                                            By workstation, do you mean desktop computers in general, or high-end computers with Xeons et al?

                                            1. 2

                                              I suppose probably I’m talking about the high-end of the spectrum as is fair since we’re also likely talking about high-end laptops in comparisons to these workstations.

                                              1. 1

                                                Mainstream midrange (like i5, since Sandy Bridge) hardware got good enough, and gaming took over HEDT for most high end applications.

                                          2. 6

                                            The /g/ is strong with this one.

                                            We take the beefed up hardware above and pair it with ninja-fast software written in C. Some text-based, others raw X11 graphical apps unencumbered by ties to any specific window manager.

                                            If speed is the real issue, why not use TempleOS or MenuetOS?

                                            Also, what about software written in Fortran or Rust?

                                            Little boards like the Raspberry Pi would be good except they use ARM processors (incompatible with Tails OS) and have wifi.

                                            I think you can also buy RPis that do not have wifi, for fairly cheap even.

                                            I chose this distribution for the maturity of its development process and its social contract.

                                            Why not OpenBSD, FreeBSD, or (even better) Arch/Gentoo? Like, clearly this is a hipster build, so why compromise?


                                            Also, if you haven’t checked it out before @begriffs, Bacula might be relevant to your interests.

                                            1. 5

                                              TempleOS is an isolated project from a schizophrenic whereas OP’s choices integrate well from active, saner communities. MenuetOS/KolibriOS/Syllable are decent recommendations since there’s some activity by contributors. Maybe Haiku if it’s lightweight for its take on balancinv usability and perfirormance.

                                              Regarding languages, hardly any tools for UNIX/Linux are written in Rust or especially Fortan (what lol?). Author will use what’s available and discoverable easily on forums, Google, etc. That’s going to be small tools like suckless or popular ones thst are mid-sized all written in C or C++. I agree author should consistently look into Rust replacements, though, since they’ll boost safety with good performance. SPARK/Ada, too, for safety proofs. I expect to see dozens of SPARK conversions of UNIX tools over the next 10-20 years.

                                              Checking out OpenBSD and FreeBSD for improved stability or security is also good advice. Im not sure if a desktop on them works instantly in most operations, though, as Ive been off them a while. Linux’s also get the most optimizations and contributions due to corporate and CompSci backing. Im curios what people have to say on responsiveness of a similar-to-OP build on BSD’s since Ive been considering a move to BSD for some time.

                                              1. 4

                                                I’ve been using OpenBSD as my desktop OS since 2001 - I’m currently running

                                                OpenBSD 6.1-current (GENERIC.MP) #52: Sun May 7 14:56:02 MDT 2017 deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 17037066240 (16247MB) avail mem = 16514932736 (15749MB)

                                                It’s a 4 core:

                                                cpu0: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz, 2492.33 MHz

                                                I’m using daily for work and personal use, and I find the OS to be a great general purpose OS, with over 9700 ports and packages available to me on amd64, the small ports team to a fantastic job of keeping packages up to date.

                                                My personal experience has always been that OpenBSD runs really well on laptops (although I do take a USB pen-drive to test out a new models before buying) - I’m looking forward to playing more with VMM, and use qemu to run linux for testing systems for my $dayjob.


                                                1. 1

                                                  Thanks for sharing details. OP and I are wanting a desktop whose windows and such respond instantly or with as little delay as possible. Key criteria here. You said runs really well but is the experience with most stuff “instant” with that build?

                                                  1. 2

                                                    somethings are instant - but my experience has been that performance was comparable to Ubuntu, and both were way more responsive than Windows on the same hardware. But I have no concrete figures - this is just my feeling - but I don’t find myself waiting for the operating system for most tasks - but poor quality internet here in the UK does add network delays….



                                                    1. 2

                                                      Appreciate it. That sounds good.

                                                2. 1

                                                  @begriffs @nickpsecurity ‘that Bible guy’, ‘project from a schizophrenic’ - this is not cool.

                                                  @nickpsecurity - It’s not cool to include medical condition (or any other mental / physical attribute) as part of the description of an individual to imply something negative. @begriffs It’s not cool to say ‘that Bible guy’, what are you even trying to say with that, sounds like a random derogatory comment about anyone religious?

                                                  It is cool to talk about the qualities of the project and individuals - perhaps the project is unstable, has an unreliable/unresponsive community, lots of bugs, etc.. Perhaps individuals are known to respond in anti-social / angry / unpredictable ways, etc. etc.

                                                  I’m pushing a small point, but we need to do much better than this.

                                                  1. 5

                                                    It’s important to note for potential community involvement. He thinks God orders him to build it. It must be built in a specific way with specific features for God. Attempts to move it in different directions run into this problem. It often turns into debates on religions or his mental illness.

                                                    So, it’s relevant to bring up project preferences or mental problems of maintainers when advising people whether they should try to join a project. Most people would find it to be a bad dependency in the long run

                                                    Now, the OS itself might be fun to use, practical in existing form, or inspirational in some way. Have at it!

                                                  2. -1

                                                    (removed, comment duplicated for some reason)

                                                  3. 3

                                                    Lol, isn’t TempleOS that Bible guy’s hobby project?

                                                    And yeah, C programs are not specifically required, for instance I write mostly in Haskell in my spare time (if you didn’t already think I was a hipster then you do now :) ). But leaning toward compiled languages for most my software. Good call about Bacula, I believe it’s in my list of software already, hidden toward the middle.

                                                    Can you tell me more about reasons to use one of the BSDs rather than Debian?

                                                    1. 10

                                                      Can you tell me more about reasons to use one of the BSDs rather than Debian?

                                                      I can tell you the reasons I use FreeBSD (and TrueOS):

                                                      • From an organizational perspective, the leadership structure has survived multiple leaders. It has a core team with elections every two years (I think). There have been at least 8 elections, I think. That means, while FreeBSD might move slower than Linux, it can survive for quite awhile assuming interest persists.
                                                      • It values consistency in the system including configuration and documentation. For example, the ports collection is more than just software that has been made to run in FreeBSD but it’s also been modified to make sense within FreeBSD. So configuration is is always in /usr/local/etc. Docs are always in /usr/local/share.
                                                      • It has dtrace which is simply awesome. I don’t use it every day but when I do use it there just isn’t any tool that compares. Linux has been getting something kind of similar but it’s still new and less cohesive from what I’ve seen.
                                                      • It has jails which are great. I tend to like them more than my limited experiences with Linux containers. It just lets me carve my system into a whole bunch of other systems without relearning how to package all of my software. Things like docker certainly have their place but for my use cases, jails tend to be better.
                                                      • ZFS. I have trouble using any other file system at this point. I just depend on what ZFS gives me. In particular, I use the heck out of snapshots and mirrors.
                                                      1. 2

                                                        It has dtrace which is simply awesome. I don’t use it every day but when I do use it there just isn’t any tool that compares. Linux has been getting something kind of similar but it’s still new and less cohesive from what I’ve seen.

                                                        SystemTap has been around for years, and in my experience most definitely compares.

                                                        1. 2

                                                          Thanks for the details. :)

                                                    2. 3

                                                      I never knew you can build PC this way. Very interesting. I found cryptography section coolest.

                                                      1. 2

                                                        No integrated graphics but ryzen seems worth considering. Non-integrated graphics also seems worth considering if you want to use a 4k monitor (you should if you’ve never tried one, it’s awesome).

                                                        I’m on a ryzen 1700 (8cores/16threads) at 3.9 ghz (though I have $100 cooler, i hear you can do ~3.6-7 on stock np), and it’s not much more expensive than that xeon. I believe the ryzen 1600 (6core/12thread) is cheaper.

                                                        1. 1

                                                          Would you mind detailing that Ryzen build?

                                                        2. 2

                                                          Why do you need to “Slap four sticks of G.SKILL Ripjaws V Series 16GB memory” (64 GB) on a machine that won’t be running Electron based apps ?? That’s a lot of memory that won’t be necessary for all the lightweight compiled software that you need to run.

                                                          1. 2

                                                            I’d also like to have a big ramdisk for video editing scratch space.

                                                          2. 1

                                                            Thanks for sharing, I see a lot of interesting ideas and tools. I wouldn’t mind having an offline cache of Stack Overflow and Wikipedia, for philosophical reasons.

                                                            1. 1

                                                              TBH this system is really puzzling.

                                                              Why waste money on external audio if you’re not recording music? Why no graphics card if speed is important? Does a home user really need an enterprise level tape backup system? What are you even going to do with cryptographic keys on a smartcard?

                                                              And the software section looks like just a bunch of random utilities with no cohesion or any thought behind them. What is this machine even being used for? Can you claim it’s “minimal” if you have five chat applications installed?

                                                              1. 2

                                                                I’ve basically been keeping a running note of the types of things I do on my current machine and then finding minimalist Linux utilities to do them. Left out some context about the audio setup, as it will connect to other devices like an old fashioned cd player and amplifier.

                                                                Also the reason for all those chat apps is not because I intend to use them all at once, but just that each would be what I would choose as the need arises.

                                                                The cypto keys actually have a lot of uses: email of course, password vault, SSH authentication (gpg-agent can act as ssh-agent), some chat programs, full disk encryption, signing documents. GnuPG is really a toolkit that works in several situations, and the key card thing provides a trustworthy base for all those activities. GnuPG delegates the computations to the smartcard.

                                                              2. 1

                                                                I’d checkout zathura w/ mupdf as a backend. Much nicer configurations, better vim keybindings, and more features (dark mode w/ hue adjustments for one).

                                                                1. 1

                                                                  LibreOffice Draw has quite powerful options for editing PDFs, while maybe not completely in the spirit of this post, I’d definitely add this to the ‘Documents’ section. I only recently noticed this feature of Draw, before I always had to resort to OSX preview for my (simple) PDF editing needs.