After a brief hiatus, we're back! Today, we'll look at how to perform a 'deep copy' of structures in JavaScript. We'll look at a couple of different out-of-the-box solutions and then roll our own recursive solution. This tutorial will also provide some background on the difference between copying by reference and by value in JS, and the difference between 'deep' and 'shallow' copies.
Samba is a collection of programs that form a file server for Linux. It's dead-easy to setup and get going with, and is very fast. I use it for a variety of things, but its killer application for me was accessing my music collection. I recently moved from NFS to Samba to share around 500 gigs of tunes, and what was a mediocre solution turned into something that I can't tell isn't on my local disk. It's great.
Anyone who's used Linux on a laptop has likely encountered some less than ideal trackpad behavior. For instance, I lived with what appeared to be a random pasting problem for months before discovering that it to be a middle mouse button 'feature'. I'm sure that in some cases calling it a feature is warranted - but I found it infuriating. Some times edits before committing get a little too large - and when that coincides with having accidentally pasted a semi colon into a large file with lots of other edits, hair pulling ensues. As with most things, once we understand the problem, the fix is simple!
In this tutorial, we'll cover how to create an encrypted container on Linux. We'll also cover how to integrate its use into your environment. You can think of this space as a safe, which you can open, store things in or read things from, and then close again. Additionally, some of the techniques used to do this are generally quite valuable. Among them are the ability to create files of arbitrary sizes, and create links that allow arbitrary scripts to be run as you would any other installed program.
Today we'll explore the Desktop Entry specification, and see how we can implement it to integrate applications into our desktop environment. Specifically, we'll do this by creating a desktop entry file for Calibre, a great e-book organizer that I use regularly. For a couple of different reasons, I installed Calibre from source, and so it didn't automatically get a desktop entry created for it like it would have had it been installed via aptitude. Regardless of cause, the situation serves as a good opportunity to create a desktop entry manually!