What Is a Shell? Oct 6, 2019 The shell (bash, sh, zsh) is a tool that every programmer uses. Having used shells for more than a decade, I intuitively learned the shell well enough to get the job done. But it only recently “clicked” for me what a shell really did and how it did it. Once it clicked, the shell made sense; shell escaping made sense; heck, even bash scripts made sense! I got really good at writing bash scripts. ...
Demystifying Async Programming in Javascript Mar 23, 2017 This blog post was first published as a codelab at https://github.com/button/codelab-async-js. Asynchronous programming in Javascript has undergone several evolutions, from callbacks to promises to generators, and soon to async/await. While each evolution has made async programming a little bit easier for those knee-deep in Javascript, it has made it rather intimidating to those new to all the little nuances of each paradigm to understand how to apply each, and just as importantly, how it all works. ...
Linux Server Raid Dec 23, 2012 I’ve been running an Ubuntu 10.04 server with a small 4TB of hard drives for a few years now. It had 2 2TB disks, running RAID0 and RAID1 on separate partitions using mdadm. RAID0 hosted media, RAID1 was for backup. This worked well, but had the issue that it was completely non-extensible. Once the RAID0 filled up (getting close), my options would be: Buy 2 or more disks for another separate RAID setup and bear with having to manage 2 partitions that were used for the same thing Buy 2 or more disks, re-build a RAID5 with one disk missing with new disks, copy all the files over, and then slowly adding the original disks to the array (the process would take >48 hours) I really got myself in the foot by choosing to go with RAID0 originally, but a RAID5 would not make this situation much better. ...