Deploy Script Meteor on Modulus with Codeship

By | Featured, Interest, meteor | No Comments

Continuous Integration with, Meteor, and Modulus.  Follow these three easy steps to get started…

Start by signing up for a account and linking an active Github or Bitbucket repository. 

#1.  Setup Tests > I want to Create My Own Commands:

nvm install 0.10.33
nvm use 0.10.33
curl -o
chmod +x
sed -i "s/type sudo >/dev/null 2>&1/ false /g"
export PATH=$PATH:~/.meteor/
meteor --version

#2.  Click Deployment, “Add a Branch to Deploy”.  Be careful here, as you must manually type in  the Branch you plan on deploying to – Codeship does not autofill this, so it can be confusing.

Be sure your Deployment Branch matches the branch you will be pushing too.  Otherwise, your app will not deploy to Modulus.

#3.  Select the Modulus icon and be sure to fill in all the fields:
[raw]Api Token :

Project Name :

Url :[/raw] #4.  Reward yourself.

My Favorite Backup Method DD BZIP SSH Script

By | Featured, Sample Work | No Comments

Backup today can be a PITA.  It takes too long, and too much work to automate.  That’s what makes this single line backup script one of my favorites. It creates a compressed DD image a remote server in the form of a BZ2 archive. This command is run locally from the machine you want to backup.

Let’s begin:
First, create your file
[raw]nano xf[/raw]

Inside xf, paste the following:
[raw] #!/bin/bash
dd if=/dev/vda1 of=/dev/stdout bs=1M | bzip2 | ssh “cat – > /home/backups/Live.img.bz2”

Let’s break this down, so you can create your own command!

First, start by doing a [raw]df -a[/raw] to determine the name of your disk, replacing /dev/vda1 with the disk you want to backup.

Second, change to your remote server. For best practices you should exchange SSH keys so there is no password prompt. See this tutorial here to exchange keys.

Finally, change /home/backups/Live.img.bz2 to the destination directory and filename you would like on the remote server.

Run the script in a shell to test, and finally automate.

Be sure to make your script executable by running [raw]chmod +x[/raw] after creation. To run in the background, install [raw]apt-get install nohup[/raw]. This will allow you to start your backup script in the background, allowing it plenty of time to execute. [raw]nohup ./scriptname &[/raw] will run the script as a daemon.

Perfect Server in 5 minutes – Virtualmin + Nginx + ProfitBricks

By | Featured, Sample Work | No Comments

In this quick tutorial, I will show you how to setup a perfect VPS system with infinitely expandable storage and capacity from the new hosting provider ProfitBricks.

Background: VPS speed is somewhat of a commodity these days, and is not only increasingly hard to come by – but hard to customize. I was in search of a new VPS host that would allow me to customize all three dimensions of a host – memory, cpu, and storage. Amazon has created an incredibly complex system for what should be a stupid simple task. Most providers, Linode included do not allow you to scale resources independently, but rather makes you choose – fast, good, and cheap. Luckily – ProfitBricks is here to solve the problem. I can create as many disks as I would like, as many servers and CPU’s, and choose exactly how much RAM. Now add in the fact that ProfitBricks performance is currently topping EngineYard, Amazon, and Linode — it’s time to give it a try!

Compounding the problem my cPanel license is up for renewal, and I am rather dissatisfied with the experience. The admin panel feels old and clunky with too many configuration options for very little gain. I spent multiple times recompiling Apache tinkering with php options rather than focusing on the work at hand. Control Panels should make life easier, not harder. Virtualmin was always on my short list and I have tried earlier versions – however the lack of Nginx support was the Achilles heel for me. As of today, they have solved this problem and Virtualmin natively support Nginx! Bravo.

Once Virtualmin is installed you can use the GUI to create, format, and mount additional storage drives created in the ProfitBricks data center designer interface. This makes handling all this new capacity, like multi-terabyte additional storage a breeze to handle.

To begin, create and account with ProfitBricks and use the Datacenter Designer to create an internet connection, server, and storage. The free demo brick will do just fine. Once you have logged in as root begin the routine:

1. Set your hostname
[raw]echo “jupiter” >; /etc/hostname
hostname -F /etc/hostname[/raw]

2. Update host file
[raw] localhost.localdomain localhost jupiter[/raw]

3. Set timezone
[raw]dpkg-reconfigure tzdata[/raw]

4. (Optional) Add Additional Repo’s : DotDeb will keep you using the most up-to-date LEMP stack
[raw]echo ‘deb stable all’ >;>; /etc/apt/sources.list.d/DotDeb.list
echo ‘deb-src stable all’ >;>; /etc/apt/sources.list.d/DotDeb.list
wget cat dotdeb.gpg | sudo apt-key add –
rm dotdeb.gpg[/raw]

5. Update and Upgrade
[raw]apt-get update
apt-get dist-upgrade[/raw]

4. Reboot

5. Download Virtualmin

Make the script executable:
[raw]chmod u+x[/raw]

Run the install script:

When it’s finished, all you need to do is open a browser and go to port 10000 on the server:

Walk through the install process, configuring options as required. Remember to turn off BIND in System Settings – >; Features and Plugins

Time to install NGINX:

Shutdown and disable Apache
[raw]/etc/init.d/apache2 stop ; update-rc.d apache2 remove[/raw] Install Nginx:
[raw]apt-get install nginx[/raw] Start Nginx:
[raw]/etc/init.d/nginx start[/raw] Install Virtualmin Nginx Plugin:
[raw]apt-get install webmin-virtualmin-nginx webmin-virtualmin-nginx-ssl[/raw]

Before you continue, fix the broken SSL implementation:

Fix Broken SSL Argument:

[raw]nano /usr/share/webmin/virtualmin-nginx-ssl/[/raw]

Change line 152 to >> [raw]&virtual_server::find_matching_certificate($d);[/raw]


Login to virtualmin as root (https://ipaddress:10000)

1.  Go to System Settings ->; Features and Plugins
2.  Un-check the “Apache website” , “SSL website” and “DAV Login”, “Mailman”, “Protected web directories”, “AWstats reporting” and “Subversion repositories” features.
Check the “Nginx website”, then click “Save”.

Due to a small bug you cannot select “Nginx Website” and “Nginx SSL Website” at the same time. So go back and select “Nginx SSL Website” after enabling “Nginx Website”.

Go to the System Information page and click Refresh system information in the top right.

Verify that running appears next to Nginx in the Status section.

It’s also a good idea to click on System Settings ->; Re-Check Configuration after everything is done to ensure it’s work properly

Now you can add Nginx sites using the Create Virtual Server link as you would with Apache. The only thing different is “Enable Nginx” needs to be checked in the features section.


Here are some of the best utilities for your server!

Don’t forget to install these great addons!

[raw]apt-get install bmon htop aria2[/raw]

bmon – monitor your bandwidth on each adapter

htop – enhanced Top

aria2c – download magnet files or multi-threaded gets

88plug re-launches the Antiques Diva

By | Featured, Sample Work | No Comments

88plug is proud to announce the release of the Antiques Diva.

“The Antiques Diva® is the nom de plume for Toma Clark Haines, an American expat living in Europe whose life story has been liberally sprinkled with Cinderella dust. As a child growing up in Oklahoma, Toma dreamed of global adventures. While other kids drew houses with picket fences, Toma drew gondolas with men in striped shirts. After studying abroad in London in university, Toma returned home on the range to marry her college sweetheart. After saying “I do,” she immediately began whispering in his ear words of far-away places and before long her dream became his. When a serendipitous opportunity arose, offering them a chance to live and work in Europe, they moved to Paris for 5 years and then Amsterdam for 4. Along with her husband and well-traveled pet Catpuccino, Toma currently resides in Berlin nearby Brandenberg Gate and the Reichstag. ”

See the combined Store and Blog here:



2nd HotChocolate Society Oscar Party

By | Featured, Sample Work | No Comments

88plug is sponsoring the Oscar pool with some custom built software for iPhone and Blackberry. We will be releasing this come Sunday evening!

More info and tickets here!

+ 2-Hours 2-4-1 DRINK SPECIALS from 7pm to 9pm
……….HotChocolate Martini (cold)
……….HotChocolate Toddy (hot)
……….Lemondrop Martini
+ Guittard’s Grand Cacao Drinking Chocolate
+ Ceviche & Empanada Station
+ Top Chef’s Savory & Sweet Bites
+ The Oscars® Broadcast on Multiple Screens
+ Whole Foods Market® Gift Bag
+ Live Online Oscar Pool
+ Fabulous Prizes!

22 February 2009, 7pm ‐ Best Picture
310 LOUNGE @ 310 Bowery; New York, NY 10012

TICKET REQUIRED: $25 advance
DOOR: $35

Additional MENU OFFERING: La Barra Cevicheria

* Mexican Fish Ceviche Hors D’oeuvres
* Mexican Mushroom Ceviche Hors D’oeuvres
* Argentinian Style Beef Empanada
* Argentinian Cheese & Poblano Peppers Empanada with Corn
* Mexican Tamales with Chicken & Mole