Today I discovered Zeal. Looks like it’s gonna come in handy…
Monthly Archives: April 2021
This is Why Learning Rails is Hard
There’s a cool mind map covering all the things a rails developer needs to know over here: This is Why Learning Rails is Hard.
explainshell.com
I found this great web site: explainshell.com. It explains shell commands, check it out.
Camel case
Today I read up on Camel case over on Wikipedia.
CSRF, CORS, and HTTP Security headers Demystified
This on Hacker News today: CSRF, CORS, and HTTP Security headers Demystified.
The above article referred to OWASP SameSite doco, and you can read about how to implement that with PHP.
136 facts every web dev should know
I found this fun list of things to know: 136 facts every web dev should know before they burn out and turn to landscape painting or nude modelling.
I particularly liked these points:
124. Web dev frameworks are for organisations, not small software teams or individual developers. The value frameworks provide lies in bridging team boundaries: they create a shared understanding that aids in collaboration across groups, simplify messaging, and establish clear conventions. Frameworks turn teams in large organisations into service interfaces.
125. Individual teams or individual developers don’t have that problem, so they get less value from a web dev framework. The more opinionated the framework is and the more of the web platform it abstracts away, the more its value proposition skews towards solving organisational problems and the less value it provides to individual teams.
An Interview With Linus Torvalds: Linux and Git
This was fun: An Interview With Linus Torvalds: Linux and Git. I will check back next week for the second part!
dnscrypt-proxy
I should really get around to installing dnscrypt-proxy… and now that I know about cloaking there is no reason not to go all-in. Also I was referred to some installation doco on #lobsters.
Replace a disk in a ZFS pool
So smartd is suddenly emailing me about problems with one of the disks in my ZFS zpool. I have ordered a replacement disk and am waiting for it to arrive. While the smartd email says there is a problem `zpool status` says everything is fine. So I’m running a `zpool scrub` to see if ZFS can pick up on the disk errors.
Preparing for the disk replacement I searched the web and found Replace a disk in a ZFS pool.
I found the serial number of the faulty disk with `lsblk -I 8 -d -o NAME,SIZE,SERIAL`. The process is then:
- Shutdown the server
- Replace the faulty disk
- Boot the server
- Run zpool replace: sudo zpool replace data sdc
- Check zpool status: sudo zpool status data
I hope it turns out to be that easy! Now I just wait for my scrub to complete and my disk to arrive.
Update
Click through on the link below for some excellent documentation about how to handle this error:
Every 2.0s: zpool status love: Fri Apr 30 07:52:40 2021 pool: data state: ONLINE status: One or more devices has experienced an unrecoverable error. An attempt was made to correct the error. Applications are unaffected. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or replace the device with 'zpool replace'. see: http://zfsonlinux.org/msg/ZFS-8000-9P scan: scrub in progress since Thu Apr 29 02:30:54 2021 4.32T scanned out of 5.03T at 42.9M/s, 4h48m to go 466K repaired, 85.93% done config: NAME STATE READ WRITE CKSUM data ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sda ONLINE 0 0 0 sdb ONLINE 0 0 0 mirror-1 ONLINE 0 0 0 sdc ONLINE 0 0 4 (repairing) sdd ONLINE 0 0 0 cache nvme0n1p4 ONLINE 0 0 0 errors: No known data errors
borg: Failed to create/acquire the lock
When I ran `borg list`, and other `borg` commands, I got the error: Failed to create/acquire the lock
I found this, which referred me to how to remove the lock (I was quite sure it was not in use).