Another gem from Dave Farley.
Category Archives: Technical Stuff
Seagate Exos disks in TrueNAS Core: Disable parking of heads
My NAS (TrueNAS Core) is running with Seagate Exos X16 drives. Those were considerably cheaper than any other drive at the time of purchase (September 2020) here in Germany. From what I gathered since then, this is often still the case, also in other countries.
But there is one aspect about these drives that needs attention. Being marketed for data center use, they have a very small timeout for parking their heads. So, if an Exos drive is idle for only a very short time, it will move its heads into a parking position. That is a reasonable setting for data centers, where drives are hardly ever idle. But for a small business or home use it is less than ideal.
Fortunately, this setting can be changed and TrueNAS Core, or rather the underlying FreeBSD, has the right program for this already installed. Below you find the command that I am using. You will need to adjust the device, but otherwise you can just run it.
camcontrol epc /dev/??? -c state -d -p Idle_b -s
In terms of the ATA level, this disables the Idle_b
power condition and saves it to the drive to survive a reboot. For more details, please check out the extensive man page of the camcontrol
command.
In addition I recommend that you configure your system to issue this command on every startup. Under normal conditions that is not necessary. But what if you need to replace a disk drive? If you have a case with hot-swappable drive bays, this will of course not help. In that case I would think about a cron
job.
Randy Shoup: Large-Scale Architecture: The Unreasonable Effectiveness of Simplicity
Some interesting things to learn here. The video was a bit superficial for me, in that a lot of things just get thrown at you. Its value, for me, comes from that list of things, which each deserve looking at in more detail using separate sources.
Dave Farley: Why Software Release Cycles Are SO PAINFUL
Great video from Dave Farley
Jens Schauder: Domain-Driven Design with Relational Databases Using Spring Data JDBC
Interesting video about the real-world challenges when using an ORM (object-relational mapper) like Hibernate or JPA in general.
You should also check out the following articles mentioned in the talk:
- David L. Parnas: On the criteria to be used in decomposing systems into modules
- Vaughn Vernon: Effective Aggregate Design
Steve Jobs President & CEO, NeXT Computer Corp and Apple. MIT Sloan Distinguished Speaker Series
This is a truly remarkable video. I sometimes wish, and I am not a fanboy, that Steve Jobs would have moved into academia at some point and preserved much more of his experience and knowledge.
It is fascinating to hear Steve talk about strategy, corporate culture, marketing, and many other subjects. The video is from early 1992 and in my opinion many points are still bleeding edge today.
Dave Farley: How to Build a DEPLOYMENT PIPELINE?
Here is how to get started with Continuous Delivery
Compiling Git on CentOS 6
I recently had the need to compile Git on a CentOS 6 system, because the available version (v1.7.1) did not support the ls-remote
command used by the Jenkins Git plugin. The various posts I found via Google were missing a crucial prerequisite, hence this short post.
- Uninstall old Git with
yum remove git
- Install required packages (for me!) with
sudo yum install libcurl-devel zlib-devel asciidoc openssl-devel xmlto
- Download source code from https://www.kernel.org/pub/software/scm/git
- Extract source with
gzip -dc <FILE> | tar -xvf -
- Compilation and installation
make configure ./configure --prefix=/usr make all sudo make install install-doc install-html
And that should be it.
Sam Newman & Martin Fowler: When To Use Microservices (And When Not To!)
Sam Newman and Martin Fowler in a conversation-style video that looks at Microservices in a non-bullshit way. Must watch!