Meh.. just had this (lower M.2 drive in the pic) less than 4 year old (bought 2016/11) Intel 600p M.2 VNMe drive fail without any warning signs. The machine won't boot at all. Need to reinstall everything on a new (top drive in pic) 660p drive now...
For permanent display screens (e.g. digiclock) run by a Raspberry Pi it is useful to disable screen blanking and the screen-saver. These two config-edits seem to work: https://www.raspberrypi.org/forums/viewtopic.php?t=57552
In /etc/xdg/lxsession/LXDE-pi/autostart we want
@xset s noblank
@xset s off
And then in /etc/lightdm/lightdm.conf
xserver-command=X -s 0 dpms
I got a new computer for videos, games, music etc. on the TV. The Intel NUC 6i7KYK is a small barebone machine with an i7-6770HQ processor and Iris 580 graphics (should be OK for games) with HDMI (and others) output. It comes with a nice allen-key for the top cover screws, but the design language gives mixed messages when you turn the NUC over to open the back cover: here you need a plain vanilla Phillips screwdriver (not included).
I put 16 Gb of DDR4-SODIMM RAM in it and a 256 Gb M.2 SSD drive, The keyboard is a wireless Logitech K400+. So far no surprises - everything is working well.
For fun I tried to search for Mersenne primes with a very simple code (below). It finds the 20 first Mersenne primes (all known by 1961) in under a minute. After that it slows down quite a lot and finds the 26th prime (discovered in 1979) in about 5 hours.
size = n//2
sieve = *size
limit = int(n**0.5)
for i in range(1,limit):
val = 2*i+1
tmp = ((size-1) - i)//val
sieve[i+val::val] = *tmp
return  + [i*2+1 for i, v in enumerate(sieve) if v and i>0]
"""Return a list of the prime factors for a natural number."""
if n < 2:
prime_factors = 
for p in prime_sieve(int(n**0.5) + 1):
if p*p > n: break
while n % p == 0:
n //= p
if n > 1:
return len(trial_division(n)) == 1
s = 4
M = pow(2,p) -1
for n in range(p-2):
s = (pow(s,2)-2) % M
t0 = time.time()
for p in range(1,pow(2,log_max_p)):
elapsed = time.time() - t0
print "%4d\t%4d\t%.1f s" % (n, p, elapsed)
I ran y-cruncher on a number of machines. Note the logarithmic y-axis. Lower is faster.
- i7-3537U, 2.5 years old Lenovo yoga laptop. Runs hot. Time to upgrade?
- i5-4300U, ~1 year old work laptop, HP ultrabook. Runs much cooler.
- i7-2600K, 3+ years old home desktop
- i7-3770, 2.5 years old work desktop
- Opteron 4334, Del R515 server, 1? year old.
- i7-3930K, computing machine at work, 3+ years old
- i7-5820K and i7-4770K newest lab computers, both 1 year old.
The Atom C255X is becoming a popular processor in not-so-demanding low power boxes.
Here's a pfsense SG-4860 router/firewall using a C2558 (15W) processor and 8 Gb of RAM. It comes with 4 Gb of on-board flash storage, so the external mSATA drive (lower edge, just above the Ethernet connectors) is not required unless you need to store very big pfsense logfiles. No moving parts, passive cooling only. Although pfsense-branded (running FreeBSD + pfsense), under the hood it's probably an ADI Engineering RCC-VE.
Here's a SuperMicro 5018A-MLTN4 with a C2550 (14W) processor in a 1U 19" rack enclosure. SSD drive and 8 Gb of RAM. I suspect the front fan is quite overkill and could be slowed down a lot or completely removed. The built-in graphics produce not-so-great performance under Ubuntu, but with lubuntu-desktop it's usable as a lab server that you need to configure or check only once a week or so.
Some (incomplete) notes on setting up a stratum-1 NTP server on Ubuntu 14.04LTS
To handle the upcoming leap-second we want a leapfile, from: http://www.ietf.org/timezones/data/leap-seconds.list
The path of the leapfile goes into /etc/ntp.conf
But Ubuntu uses apparmor, so we must grant permission for the ntp service to read this file in /etc/apparmor.d/usr.sbin.ntpd by adding:
To make apparmor parse and apply the new rules we do:
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.ntpd
when the ntp service starts it is useful to look at /var/log/syslog where ntp will complain if it doesn't have permission to read the leapfile or if it is badly formatted.
Now let's edit the default options for the ntp service in /etc/default/ntp by adding:
(-N runs ntpd at highest priority, -g makes it more robust agaist large time offsets, see man ntpd)
To get time in NMEA-format and a pulse-per-second (PPS) from gpsd we add two shared-memory (type 28) refclock drivers to /etc/ntp.conf
# GPS Serial data reference
server 127.127.28.0 maxpoll 3
fudge 127.127.28.0 time1 -0.230 refid GPS
# GPS PPS reference
server 127.127.28.1 prefer maxpoll 2
fudge 127.127.28.1 refid PPS
(the time1 adjustment number needs to be calibrated somehow..).
Finally we let ntp distribute time to the outside world by adding this line to /etc/ntp.conf (this is usually at the end of the file).
restrict default noquery
Now let's set up gpsd. The service configuration file is /etc/default/gpsd, and as suggested in the file we edit it with the utility:
sudo dpkg-reconfigure gpsd
The options that worked for me are device /dev/ttyS0 and options -n (don't wait for clients to connect). After running the utility /etc/default/gpsd should look something like:
You can verify that gpsd is working with cgps, xgps, or gpsmon.
If you want to manually restart (or just start or stop) the services, required e.g. after any changes are made to /etc/ntp.conf, it is done with
sudo service ntp restart
sudo service gpsd restart
Another rack-PC put together this week. Intel X99-chipset with LGA2011-3 CPU socket. Only PCI-e slots, no legacy PCI-slots.
Again I didn't get the polarity of the HDD-LED and Power-LED wires right on the first try. How come the industry cannot agree on a standard connector for the bundle that has the power-switch, reset-switch, HDD-LED, and Power-LED?
Another glitch was that this board has 8 slots for RAM, and the two RAM-sticks I got need to be installed exactly in the right slots - otherwise it won't even boot into the BIOS. Some reading of the motherboard manual was required.
After installing Ubuntu 14.04LTS (from USB-stick! No CD/DVD required) the NVIDIA-drivers (for the GTX750TI) were not automatically detected. I downloaded the latest driver from NVIDIA and installed it manually. This requires logging in to a text-only console (CTRL-ALT-F1), and then killing X for the duration of the install (sudo service lightdm stop)