How to speed up apt-get on Digital Ocean

For some reason, downloading packages using apt-get install was unusually slow on DigitalOcean this week, barely exceeding 4kbps. Since DigitalOcean droplets are configured to download packages from mirrors.digitalocean.com, all I had to do was to revert them to the default Ubuntu sources using these two commands: sudo sed -i “s/mirrors.digitalocean/archive\.ubuntu/g” /etc/apt/sources.list sudo apt-get update Downloads […]

Deleting directories while preserving symlinks

At work, we needed to replace a pre-existing folder with a symlink. We wanted to symlink the user’s .git/hooks folder to ../build/git-hooks every time the script was run. We wanted to delete .git/hooks if it existed and replace it with a symlink, but we also wanted to avoid deleting ../build/git-hooks‘s contents by accident if the […]

Fixing “/usr/bin/env: node: No such file or directory”

After a fresh install of npm and bower, you may run into the following error while running bower install: /usr/bin/env: node: No such file or directory The fix on Ubuntu is very simple: sudo ln -s /usr/bin/nodejs /usr/bin/node

Ping once and return true/false

The ping command will usually try pinging a device forever, returning the response time after each pingback. If you want to ping a device once and use the answer to perform an action, use the following snippet: ping -c 1 [your ip or hostname] > /dev/null This command will either return 1 on failure or […]

Knowing the difference between mtime, ctime and atime

If you are dealing with files, you might wonder what the difference is between mtime, ctime and atime. mtime, or modification time, is when the file was last modified. When you change the contents of a file, its mtime changes. ctime, or change time, is when the file’s property changes. It will always be changed […]

How to create big test files in OS X and Linux

If you need to have large files to test your application, there is a command in OS X and Linux that allows you to create a file of an arbitrary size. We already know that you can create an empty file by using touch: touch myfile.ext You can also create files with a preset size […]

Missing UX: Linux, flash drives and large files

Most flash drives come formatted as FAT32. It’s a common format that’s supported by Windows, OS X and most Linux distributions. Unfortunately, you can’t copy files bigger than 4GB on a FAT32 drive. When I dropped the file in the folder, it started copying, then I got this error at the 4GB mark: If you […]

Install easy_install on Ubuntu and Linux Mint

If you need easy_install on your Ubuntu or Linux Mint machine, use the following command to install it: sudo apt-get install python-setuptools python-dev build-essential I strongly suggest that you use pip instead, but I’m leaving this here for those it might help.

Where to find php.ini in Ubuntu

If you are trying to locate PHP.ini on Ubuntu, Linux Mint and other derivatives, you can find it at the following location: /etc/php5/apache2/php.ini

Linux tip: repeat a command as sudo

When you run a command in the terminal, and realize it requires superuser permissions, use the following command to re-run the command as superuser: sudo !! Here is an example scenario: apt-get install myapplication (permission denied) sudo !! The best part is that you can use this to prefix your command with anything. In the […]