Custom New Tab (Firefox, Chrome, Safari, IE)

If you browse the internet everyday like I do there are a select group of websites you visit almost everyday, so why not make your new tab page have links to these websites to help you save time? Even if you choose not to use a custom built new tab you can use any website as your new tab.


The easiest way to show you why you should use a custom new tab page is to show you what my homepage and new tab looks like.
My custom start page This is what I see any time I open a new tab or a new window in my browser. As you can see there are three boxes broken down by category, each with their own title and items. Each one of these items is a link to a webpage I commonly use in that category. Above those boxes I put the Arch Linux logo (as Arch Linux is my default OS).

This is just a sample of what you can do. This works by loading a webpage (either local or remote) upon the opening of a new tab or window, meaning you can wield the full force of any HTML, JavaScript, PHP, etc you can normally use in a webpage because it is a webpage. Like I said above, this also means you can use ANY webpage such as Google, or a random Wikipedia page (


  1. Firefox
  2. Chrome
  3. Safari
  4. Internet Explorer


1. Download and install the Custom New Tab extension
2. Select the "hamburger" menu in the top right > Add-ons > Extensions
3. Select the "Preferences" option on the Custom New Tab extension and enter your custom new tab URL and choose any other option you want
Custom New Tab extension Preferences After all your preferences are set your custom new tab page should work!
Notice: there is a slight delay if you choose the "Place focus in URL bar" and "Make URL bar empty" options, meaning some of your text will be erased if you start typing before the URL bar is cleared.


1. Download and install New Tab Redirect
2. Select the "hamburger" menu in the top right and select "Settings", then select "Extensions" along the left
3. Under "New Tab Redirect" select "Options" and enter your custom URL
New Tab Redirect Options After all your preferences are set your custom new tab page should work!


In Safari you can simply set your homepage as the new tab page, this is done by going to Safari > Preferences > General, and setting "New tabs open with:" to "Homepage". Safari Preferences After all your preferences are set your custom new tab page should work!

Internet Explorer

Coming 12/01/15

One Server, Multiple Domains

It is possible to have one server host multiple domains, this of course increases the chance of failure (if one server goes down so do ALL of your domains). That being said this saves you tons of money, if uptime is not crucial for you, then this can save you tons of money.
This guide assumes you are on Linux, using either Apache or Nginx!

There are two files you need to edit to get Apache to server webpages on different ports. We are using "/var/www/html" on port 80 as the default settings and "/var/www/html2" on port 88 as the domain we are going to add.
1. "/etc/apache2/ports.conf"

Add "Listen 88" directly below "Listen 80" in this file.
2. "/etc/apache2/sites-enabled/000-defaut.conf"

Add the follow directly below the closing of the first Virtual Host.

<VirtualHost *:88>  
        # The ServerName directive sets the request scheme, hostname and port t$
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html2

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf


We are using "/usr/share/nginx/html" on port 80 as the default and "/usr/share/nginx/html2" on port 88 as the domain we are adding.

Edit "/etc/nginx/sites-enabled/default" and add the following directly below the first server text.

server {  
        listen 88 default_server;
        listen [::]:88 default_server ipv6only=on;

        root /usr/share/nginx/html2;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules

2015: Learning Every Day

It's 2015 now, a year has gone and went. Every year I tell myself I'm going to sit down and learn XYZ and life gets in the way. I think the largest issue with that is my goals are massive: learn JavaScript, master C++, build something awesome. So I'm going to break my goals down into something manageable on a daily basis. My goal will be to write at least every week, if not every day about what I have learned.

Some of it will be great things, some of it will be petty. All of it will be new.
January 1st

I'm going to cheat a bit and borrow something I've been playing around with for the past day or two. ZMap is a tool built by University of Michigan.

"ZMap is an open-source network scanner that enables researchers to easily perform Internet-wide network studies. With a single machine and a well provisioned network uplink, ZMap is capable of performing a complete scan of the IPv4 address space in under 5 minutes, approaching the theoretical limit of ten gigabit Ethernet."

I've been using ZMap to get a glimpse into public facing computers and I've discovered a lot of things!

  • Security on the web is horrible
  • "admin/admin" for username and password works ~2% of the time
  • A lot of web servers serve no purpose (403/404/503) on a ton of machines
  • English is the language of the web
  • The web has massive cliques of countries

Points one and two can be grouped together in that security on the web is terrible. In my sample of ~40,000 machines (~700 responded to port 80) I've seen at least three unsecured printers. You load up the url and you're at the Admin page, no authentication needed. Other servers have admin/admin username and passwords. I've even seen an FTP server with no authentication.

Point three simply means that a lot of web servers either show "under construction", the default Apache/Nginx/etc sample page, or just simply return a 404/403/503.

Point four can be wrapped up nicely with this graph.
Content languages for websites as of 12 March 2014 - Wikipedia

Language of the web - Wikipedia

Point five is a big one, and ties into point four. The idea of cliques of countries on the web. These cliques mirror the media of the world. In general the United States, European Union, and other democratic/open-government countries are grouped together. Asian countries such as Japan, South Korea, Indonesia, and Thailand are a second group. Finally countries like Russia, and more so China are grouped by themselves, their governments are not welcoming to outside internet.

This isn't to say that all countries with open internet access do not share ideas and use the web with their denizens of the Internet in other countries, but there are some cliques.