Quickly Configuring dd-wrt

Recently, I've been having some issues with dd-wrt on my Linksys wrt-1200ac router. I'm not certain if there is a bug with the firmware or if there is something wrong with the router itself. After flashing the router, it would work great anywhere between a day to a week before not being able to access the internet or becomes unresponsive. The only way that I was able to fix it was by doing a factory restore, which means I had to reconfigure my router.

Seeing More Progress with dd and pv

In cloning my PS3 and PS4 hard drives using the dd command, and using the status=progress I was only able to see how much has been transferred, how long the command has been running, and the speed. The only thing that was missing was a estimate of how long it would take to complete. Additionally, a progress bar would have been nice. While waiting for the process to complete I looked for a tool that would provide what I was missing.

Sony Play Station 3 Hard Drive Upgrade

Back in 2008, I purchased a Sony PS3 along with my 40" Samsung TV. I was lucky to get a model that is able to play PSX and PS2 games so I definitely want to hold on to this for as long as I can. Unfortunately, the 80GB hard drive has become rather limited and would like to free myself of that constraint. Over the years I have accumulated various computer parts and one of them was a 256GB OCZ Agility 4 SSD, so I decided to put it to use.

Create a Backup Drive

The first and obvious thing to do is BACKUP YOUR DATA.

Duplicity Backup

What is Duplicity?

Duplicity is a command line tool used for incremental backups to local or remote storage, which supports Amazon S3, Rackspace Cloud, Dropbox, Google Docs, rsync, ssh, FTP, FTPS, and webdav.


  • gpg
  • swaks
  • duplicity
  • duply (optional)

Generating GPG Keys

Although duplicity uses GPG by default, this can be skipped by adding the --no-encryption option to the command.
# gpg —gen-key
# gpg --full-generate-key

Cryptsetup & dm-crypt

cryptsetup is a command line tool that interfaces with the dm_crypt kernel module that creates, access, and manages encrypted devices.


    • Debugging The --debug option does not leak the passphrase, however, using strace does.
    • Backups Always have a fresh backup before attempting anything, especially if you plan on reencrypting a device.
    • Cloning Do not distribute cloned encrypted devices because the clone will al

Gitlab + Runner with SSH and Docker

If you’re going to go with a cloud provider, I would highly recommend using Digital Ocean because it’s the best bang for your buck overall. With Digital Ocean, a droplet that meets the recommended resource requirements costs $20/mo. That price also includes bandwidth unlike Google Cloud Platform and Amazon’s Web Services.

Linux Logical Volume Manager (LVM)

The Logical Volume Manager uses a device mapper framework which creates an abstract layer of virtual devices to manage phyical devices with greater flexibility. Device mappers is not only for LVM, but is also used for software RAID, disk encryption, and features such as snapshots. Other features provided by a device mapper are:

mysqldump Too many open files

When runing the mysqldump command there's a possibility that you will receive the error message:

mysqldump: Couldn't execute 'show create table `table`': Out of resources when opening file './database/table.MYD' (Errcode: 24 "Too many open files") (23)

There are several possibilities as to why this error is occuring. Before changing the number of open files allowed, you can try using the --single-transaction command line option.

MariaDB Replication

Master Server

  • log-bin causes the server to keep a log of all changes to the databses, both data and structure, as well as how long each statement took to execute.
  • The server_id is a integer 1 to 4,294,967,295. This ID must be unique for each server in a relication group.
  • log-basename=master specifies the basename of the log files.

SSL Private Key, Signing Request, Certificate Generation and Apache Configuration


Versions prior to Apache v2.2.12 and OpenSSL v0.9.8j required a dedicated IP address for each certificate. With Server Name Indication (SNI) there is no need to request a new IP every time a certificate needs to be installed for a domain.

SNI can secure:

  • Multiple Apache sites with a single certificate
  • Multiple subdomains of a domains with multiple certificates
  • Multiple domains from a single IP address

With that said, you don't have to request a dedicated IP address for sites that use SSL certificates.