Computer hardware
The following is my hardware shopping list, more or less. Observations and
rants are included.
Workstation
- CPU
-
(Low-end) Intel Xeon processors are generally nice and
suitable for a workstation: ECC memory support, fine TDP, and
all the perks of being mainstream. Though there are security
vulnerabilities, potential backdoors (particularly enterprise
features, ME), vulnerabilities in backdoors, and numerous
backwards compatibility warts, but there are comparable ones
in other affordable and suitable for common computing tasks
CPUs (PSB in AMD CPUs). Though as of 2019, it seems that AMD
CPUs may be a generally better option: ECC is not disabled
even in Ryzen (desktop) CPUs, and they seem to beat Intel in
benchmarks/specifications at the same price. Threadripper CPUs
support it officially, though their TDP and prices are a bit
high; and then there are "embedded" EPYC and Ryzen CPUs,
officially supporting ECC and having low TDP and prices, but
apparently not being as commonly available in stores. As a
side note, some suggest to choose by performance/watt, rather
than by announced TDP, and then possibly throttle a CPU with
software.
- Memory
-
Software keeps eating all the available memory, and even if one manages
to avoid memory hogs, it's still nice to cache more. So it's usually a
good idea to have plenty of memory (either maximum supported by CPU and
motherboard, or at least aiming upgrades to a maximum size). Kingston
seems to be relatively reliable and produces ECC memory; Crucial and
SuperMicro seem fine too; personally I've only had issues with Corsair
(which makes non-ECC memory anyway). Apparently all DDR5 memory will
have in-chip ECC.
- Storage
-
Probably it's the time to move to SSDs, but I'm still using HDDs. There
are reliability statistics around (usually it is, from least reliable to
most: Seagate, WD, Hitachi and Toshiba, which is also reflected in
prices); it's hard to deduce reliability by a vendor, but WD Red disks
work fine for me. RAID and/or backups are nice to have anyway.
- Graphics card
-
Integrated CPU graphics are useful as a backup. As for
discrete video cards, the primary issue for me is software
support (both drivers and higher-level software such as X
compositors). NVIDIA is most problematic: proprietary drivers
are not supported for long, and reverse-engineered libre ones
are not usable at all for some cards, and slow for others. AMD
is better: in addition to prprietary drivers, there are mostly
working open ones. Integrated Intel graphics seem to be the
most reliable. h-node.org listing alone does not guarantee
that drivers will work any smoothly.
- Motherboard
-
ASUS workstation motherboards seem to be fine, and usually there is a
few to choose from. Non-workstation ones tend to come with Wi-Fi, LEDs,
and other things one may prefer to not have. Though generally it's
better to check reviews and benchmarks for motherboars on a chosen
chipset at the time of buying.
- CPU heat sinks and fans
-
Noctua is nice. Painless CPU mounting is great, it's silent, and cools
CPUs well. Newer AMD stock coolers are not so bad either (except for
LEDs), though still behind Noctua.
- Power supply
-
Since a PSU malfunction can fry a motherboard and components on it, it
may be a good idea to get a nice one, which would easily handle the used
hardware. "80 Plus" ratings can be consulted, and Thermaltake PSUs are
not the worst, though their newer models are covered in gaudy LEDs.
- Chassis
-
Full-tower metal cases are good for building and for cooling, and often
come with handy features that are less common on smaller cases (e.g.,
front panel ports for SATA HDDs and other I/O, large/slow/silent fans),
though tend to be heavy. Thermaltake ones are fine, NZXT looks nice too.
Unfortunately annoying and ugly LEDs are common on full-towers. Maybe
smaller and lighter cases would be fine too.
- UPS
-
APC by Schneider Electric is nice (except for its software, which is
awful, as usual for software shipped by hardware vendors, but it's
usable without that software). An RBC7 battery lasts for about 3 to 5
years (and it's recommended to change them every 3 years), though it's a
pain to recycle one properly. Possibly Falcon Electric makes nice ones
too.
- Keyboard
-
The "Truly Ergonomic" keyboard has a relatively nice layout,
though custom keyboards
may suit one better (and are fun to build). Split keyboards seem nice
too, but I haven't tried them yet.
- Mouse
-
Gaming hardware tends to be unreliable, but mice advertised as
gaming ones tend to be handy. Logitech mice seem to live
longer than others (and particularly than those made by gaming
companies, like Razer). They have gaudy LED lights, but those
can be controlled with Piper (available from Debian
repositories), at least on G102.
- Home router
-
So far I had D-Link and ASUS routers that died, Linksys that lived until
it got outdated, and TP-Link router that lives, though it's not much of
data points. Apparently Zyxel shipped backdoored firmware, so it may be
better to avoid. LibreCMC and OpenWRT maintain supported hardware lists,
which are handy for choosing from. OpenWRT seems to be better at
supporting router models long-term, while LibreCMC drops support sooner
and supports much fewer models. And there are interesting router
projects like Turris Omnia (open and quite overpowered, by CZ.NIC).
- Printer
- I don't have a printer, but apparently Brother makes nice and
inexpensive black-and-white laser printers with working Linux drivers.
And there are horror stories about HP printers.
- Computer speakers
- I'm not using anything fancy: only trying to avoid particularly heavy
computer speakers, since I don't like to move heavy things. Smaller and
lighter ones are certainly better for moving them around.
- Microphone
- While not using a dedicated microphone, I've investigated
those. Apparently (and as one may expect) decent microphones
are standalone (not embedded into headsets, cameras, etc) and
fully analog (that is, don't include sound cards and USB
interfaces, but just focus on being microphones, usually with
an XLR interface). Dynamic microphones are said to be more
suitable for non-studio setups, and condenser/capacitor ones
-- for studio setups. Condenser microphones require phantom
power, so a suitable audio interface is required; for dynamic
ones one may get away with just an XLR-to-TRRS cable (although
a preamplifier is commonly recommended, so it may be better to
get a basic audio interface anyway). The popular options (for
speech, basic and inexpensive ones) seem to be Shure SM58 for
a dynamic microphone, Audio-Technica AT2020 and plenty of
others for a condenser microphone, Focusrite Scarlett external
audio interfaces.
- Power cords
- Apparently accidental unplugging is a fairly common issue, so IEC
locks may be nice to have (even though the IEC 60320 appliance coupling
has no interlocking, unlike the industrial IEC 60309): locks on C13 work
like finger traps, on C14 they work like tension sleeves, but perhaps
they are better than nothing. APC also makes cords, but they come either
with no locking at all, or with non-standard interlocking locks
(requiring support on both ends). It also seems that contacts become
loose with older female connectors, so occasionally replacing those may
be useful. They all are supposed to handle 10A, but one may also
check current-carrying capacity tables, as well as their claimed
certification (some companies, including Cablexpert/Gembird, violate the
standard and make C13-C14 cord versions for other maximum currents as
well). Apparently APC cords are good and expensive, Cisco ones are
similarly priced, Tripp Lite is inexpensive and seemingly okay, others
(not counting weird audiophile ones) are inexpensive and their quality
varies.
- Since C13 and C14 connectors can be rewirable, one can also acquire
those and make cords of a desired length (and potentially be more picky
about the connectors and wires themselves, paying more attention to
plating, insulation, etc), but they can be fiddly, and it may be
challenging to find good ones (just as with premade cords).
Generally it's a good idea to look up the models on websites of vendors in
order to get accurate and complete specifications, though it doesn't
guarantee availability in local stores, and may take a few iterations. As
of 2019, tech companies didn't adopt structured/machine-readable data
exchange/publishing, so hardware search/picking services tend to provide
and use incomplete information. Though they still may be easier to get
information from, since official websites tend to be infested with JS and
marketing. I've considered composing a table with various vendors,
indicating whether they cover hardware in LEDs, make websites unusable and
drivers hard to download, etc, but it's basically as bad as it gets for
every major vendor.
One can also get a small server rack and server hardware, which generally
aims reliability and is less prone to silly designs, but it may be more
challenging to keep it quiet than a desktop computer, and there are likely
to be minor annoyances: for instance, usually there's no analog audio I/O
in server motherboards.
A basic setup can be quite similar to that of a workstation: a computer, a
screen, speakers, some input devices. The major issues are content
retrieval and manipulation (documented separately, in the Home
entertainment centre note), and awkward hardware (documented below).
A computer
It is much easier to begin with giving up on workstation
priorities (such as ECC memory and not having gaudy LEDs), since
there are plenty of compromises to be made even without
those. In the end of 2019, I went for a build with Ryzen 7 3700X
(because of a relatively low TDP, and a stock cooler), ASUS TUF
GAMING X570-PLUS (WI-FI), HX432C16PB3K2/32 memory (which seemed
a bit strange, with my workstation from 2012 also having 32 GiB,
though this memory is faster), GV-R57XTGAMING OC-8GD graphics
card, Corsair HX750 PSU, a couple of NVMe SSDs, and just a
voltage stabilizer instead of an UPS (which probably was a
mistake: brief power cuts happen quite frequently here; or
possibly it's just voltage going too far down sometimes, but
either way it's not quite fixable and leads to computers losing
power). Finally tried an NZXT case (H710); it's indeed quite
nice, though heavy for a mid-tower.
The Xbox One controller works easily with MS Windows 10 over
Bluetooth (though the batteries only lasted for 40 hours of
gaming, and one has to select "mice, keyboards, etc" when adding
a device, despite MS Windows suggesting to pick a separate
option for Xbox controllers) and over an USB cable
(micro-usb). For some reason (which I have no idea how to debug
with a reasonable effort, and likely it would violate long and
unreadable game licenses) games lag when it vibrates, but
disabling vibration gets rid of the lags. Seems to work well on
Linux as well.
Wireless input devices may be particularly convenient for a
setup like that, but one should keep in mind that they tend to
use proprietary protocols, which are almost always insecure
(see, for instance, Penetration testing wireless keyboards from
2022, and HN comments, though I think it was pretty much common
knowledge before that).
M-Audio Keystation 88 MK3 is an inexpensive MIDI keyboard; I
don't have other MIDI keyboards to compare it to, and only
played a regular piano before, but it seems fine. Both Yoshimi
and LMMS work easily with it, on both Windows and
Linux. Synthesia mostly works with it on Android too (though
apparently misses some events, especially key releases, and then
almost hangs; no idea where the issue is). Z-shaped keyboard
stands are sometimes recommended for their stability and
independent height and width adjustments, which indeed seem nice
(I went for an OnStage one, which seems nice -- but once again,
I don't have much to compare it to). I've also acquired an
M-Audio SP-2 pedal, with its switch either being broken before
it arrived or breaking on the first attempt to use it (and given
that it's pretty cheap, attempting to replace it looks like more
trouble than it's worth); fortunately a MIDI pedal is just a
basic on-off switch, so one can try to replace it with a
paperclip or two, but that's rather junky.
A screen
OLED matrices seem to be used relatively commonly for media-oriented
"TVs", but modern "TVs" are monitors with built-in computers, loaded with
proprietary software, malware, and even advertisements (see also: HN
thread discussing spyware on smart TVs). Apparently there are similar
screens marketed as "conference room" or "commercial" ones, and perhaps
non-OLED can be fine too. With comparable specifications, regular screens
seem to be quite a bit more expensive than TVs; possibly that's because
TVs can feature frame interpolation and double frame rate in their
specifications, and/or advertise resolutions with interlacing. Though it's
commonly suggested that preinstalled spyware and adware lead to lower
prices as well.
I went for a gaming LG screen (32GK850F-B, VA matrix) in 2019, which seems
rather nice and not particularly expensive.
Old cable television
While OTT services may make more sense these days, one may want to
preserve regular TV (such as DVB-C). There are receivers (aka "set-top
box") that can output video over HDMI and sound separately (e.g., over
RCA), as well as speakers with dual inputs (e.g., also RCA), and computer
screens commonly support multiple inputs, so that both DVB-C receiver and
a computer can be connected to both a screen and speakers (so that TV can
function independently of a computer). There are PCI and USB TV tuners
too, but according to comments on the Internet their quality is very low
(both hardware and software), so solving it with additional wires seems
like a better option. See also: MythTV, LinuxTV, DVB-C devices in LinuxTV
wiki.