Monday, December 16, 2013

2013 Best Text Editor Theme and Font Ratings

Scores are from 1 to 10 where 10 is the best. Items scoring below 5 or are not included.

Color Schemes/Themes

Stock SublimeText

  • blackboard - 6
  • cobalt - 6
  • iplastic - 6
  • lazy - 8
  • mac classic - 8
  • monokai bright - 8
  • monokai - 7
  • pastels on dark - 8
  • solarized dark - 7
  • solarized light - 8
  • sunburst - 8
  • twigliht - 9



  • TomorrowNight 9
  • TomorrowNight-Bright 9
  • TomorrowNight-Eighties 10 (winner)
  • Tomorrow 6


Saturday, August 31, 2013

Dota 2 Introduction to the Map, Timings & Basics

Rune spawning: 0:00 then every 2 minutes at one of two locations if there isn't already a rune on the map.
Neutral spawning: 0:30 then every minute on the x:00
Courier speed boost: 50% for 20 seconds. 40 second cooldown. (~50% uptime)
Creep pulling: 0:15 to pull creeps, 0:52 to stack creeps. Use the medium camp closest to your bottom lane tower as radiant or top lane as dire.

Jungling map from Ded Gaming

Understanding tower agro:

Stacking creeps, pulling creeps, ward blocking guide

Tier lists:

July Competitive Tier List
ProTune Gaming July Tier List

Thursday, July 25, 2013

Where to buy a Google Chromecast

Here are a list of places to buy a Google Chromecast right now.

  1. BestBuy - Check your local BestBuy. This is where I found mine. They were not on the floor and the first person I asked thought that they weren't going to be available for a few more days. Another employee overheard and told me to go to the "solution center" to purchase one. Calling in to your local BestBuy may not work as the person who answers phone may not know if they are in or not. I just happened to stop on my way home and they happened to have them despite the BestBuy website not listing them as being available at the store via their stock check. If you luck out you might be able to score one for the retail price of $35.00
  2. eBay - This is probably the next best option. While I have seen some go for over $100 earlier today they are starting to come down a bit but this may not be the case for long. Google's estimating 3-4 weeks to ship them out right now if you order through Play and Amazon isn't even accepting back orders if you want to buy through them and not pay a third party seller an inflated price.
  3. Amazon - As mentioned above Amazon sold through their stock quickly and even stopped taking back orders earlier today. If you want to buy through Amazon you will wind up paying an inflated rate through a third party seller. ~$80 last I looked.
  4. Google Play - 3-4 week lead time but $35.00

I have listed a second Chromecast I picked up at BestBuy here on eBay for a starting bid of $40:

If you know of any other places to pick one up let me know and I will add it to the list.

Sunday, May 05, 2013

UFW Cheat Sheet

I have been making cheat sheets lately in Google Docs and have found them to be quite handy when learning a new tool or documenting one I don't use very often. My next cheat sheet is for my favorite ubuntu firewall package: Uncomplicated FireWall aka UFW.

Thursday, April 25, 2013

Installing Mongo driver on MAMP/MAMP PRO

I recently acquired a Mac development station and have been loving it so far. The only hiccup I have hit so far is installing the Mongo driver in MAMP. My progress yesterday can be found here:

As MAMP is running PHP 5.4.10 I tried unzipping the official 5.4.10 release so the paths matched the not found paths in my reddit post from yesterday. While that got me a bit further I hit another stumbling block.

Jareds-MacBook-Air:bin root# ./pecl install mongo
downloading mongo-1.3.7.tgz ...
Starting to download mongo-1.3.7.tgz (126,064 bytes)
............................done: 126,064 bytes
49 source files, building
WARNING: php_bin /Applications/MAMP/bin/php/php5.4.10/bin/php appears to have a suffix /php5.4.10/bin/php, but config variable php_suffix does not match
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

Looks like I need autoconf.

So to get autoconf it looks like people are using the brew package manager. To get brew to work properly you need to get the xcode command line tools. How do you get that? You get xcode. Yeesh.

Jareds-MacBook-Air:bin jared$ brew doctor
Your system is ready to brew.
Jareds-MacBook-Air:bin jared$ brew install autoconf
==> Downloading
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/autoconf/2.69
==> make install
🍺  /usr/local/Cellar/autoconf/2.69: 69 files, 2.0M, built in 8 seconds

Hopefully the mongo driver will build now. Hold onto your butts.....

Well, it got a whole lot futher this time.... then died here:

In file included from /Applications/MAMP/bin/php/php5.4.10/include/php/main/php.h:34:
/Applications/MAMP/bin/php/php5.4.10/include/php/Zend/zend.h:51:11: fatal error: 'zend_config.h' file not found
# include <zend_config.h>
1 error generated.
make: *** [php_mongo.lo] Error 1
ERROR: `make' failed

Hopefully I'm getting close. After more digging it looks like I first need to configure the source code I downloaded earlier

Jareds-MacBook-Air:php jared$ pwd

Jareds-MacBook-Air:php jared$ ./configure

Alright.. Seriously this time...

Jareds-MacBook-Air:bin jared$ sudo ./pecl install mongo
You should add "" to php.ini

Success! Now to find where it put this thing... Looks like


Now to add it to MAMP's php.ini...


Alright.. Saved. Restarting MAMP... Time to check phpinfo()... looks good! If someone would like me to clean this up into something more readable drop me a comment and I will create a new post with just the instructions. 

MacOSX Web Development

I recently picked up a Mac and have been loving it for web development. Here is my current toolchain:

Text Editor: SublimeText 2
PHP Debugger: Codebug
Package Manager: Homebrew
Command Line Tools for Xcode

Saturday, April 13, 2013

Disable Touchpad in Ubuntu or Linux Mint

After tooling around on the net for a bit trying to figure out how to disable the touchpad in Linux Mint 14 I found a simple way to do it via the console and the xinput command.

Start off with an "xinput list" and identify your touchpad. Next provide the device id to a xinput set-prop as shown in the image above.

Friday, April 12, 2013

Linode Backup/Swap Issue

I recently upgraded 2 linodes to the new Linode nextgen plans which involved migrating them to new servers for increased RAM, CPU, disk space & bandwidth. After the merge one system had an issue backing up the swap partition. I tend to leave the #linode IRC channel so as soon as I saw the email notifying me of a backup error I asked in chat if anyone had a similar issue. Immediately I had a Linode employee PM me and offer their assistance. Here is the instructions we ran (lines starting with // are comments):

// This command lists your swaps and it came up blank

root@jwd:~# swapon -s 
Filename                                Type            Size    Used    Priority 

// This command prepared a swap out of xvdb

root@jwd:~# mkswap /dev/xvdb

mkswap: /dev/xvdb: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=2a4fbf7c-9a8f-4db1-bf45-c374e62e0c18

// After we ran the above command I ran
// swapon -s again to see if I had a swap yet

root@jwd:~# swapon -s
Filename                                Type            Size    Used    Priority

// Nope, looks I jumped the gun, I have to run
// swapon -a to activate the swap

root@jwd:~# swapon -a

// Now lets check swapon -s

root@jwd:~# swapon -s
Filename                                Type            Size    Used    Priority
/dev/xvdb                               partition       1048572 0       -1

// To quote the linode rep "woot"

Monday, April 08, 2013

Installing Sublime Text 2 on a Chromebook with Crouton

Gonna try to get this running on my chromebook with crouton using the following documentation:


Update #1: You will first need to install the following package to use the add repo command per the documentation.

apt-get install python-software-properties

Update #2: The final command has changed. The following gist fork provides the updated final command.

sudo apt-get install sublime-text

note the lack of -2 at the end of the command.  Also... it works! Yay!

Basic Server Setup

Basic Server Setup - Google Drive

Use the above link to view my current basic server setup guide.

su to root in crouton for chromeos

I was doing some maintenance on my crouton modded acer chromebook and was wondering how to "su -" to simplify some of the steps. I didn't know the root password to put in but then I thought why not just  sudo -i. done.

sudo -i

I'm sure this is far from elegant or the proper way to do this but if you need to do a bunch of tasks as root this seems like a quick & dirty way to do it.

Paste as Plain Text in Chrome

Random factoid I just learned - Use Control + Shift + V to paste as plain text anywhere in Chrome. No more dumping horrid formatting when copying and pasting into rich text editors! Huzzah!

Saturday, March 30, 2013

How to reset a Chromebook USB restore flash drive

I recently used my SanDisk Cruzer USB flash drive as a rescue disk for my Chromebook while I was playing around in developer mode with crouton and ChrUbuntu in the event something went horribly wrong. Fortunately all went well and I wound up not needing to use it; however, today I went to throw some files on it and thought a simple reformat would do the trick.

Well if you're reading this article chances are you've realized that this it's not this easy. When I plugged it in windows asked me to format before I went in to do the format myself. Kudos Microsoft....wait what's this 2 megabyte partition size? I canceled the format and went into the windows disk manager and saw around a dozen or so volumes of random size. Well shit, I guess I'll just delete all these volumes then make a new volume and be done. Well on about the 3rd volume I tried to erase I noticed there was no delete volume option. Argh...

Well time to delve into the console and fire up good ol' fdisk and try to kill off this stuff the old fashioned way. Then to my surprise I found that fdisk doesn't exist anymore. Surprisingly this was discontinued back around the XP era so apparently I haven't needed to fire up fdisk in quite some years. Anyway, the replacement utility is called diskpart and was fine. Enter diskpart...


Once you have started diskpart run a list disk command and find your USB drive.

DISKPART> list disk

Disk ### Status   Size    Free   
Disk 0   Online   596GB      0B
Disk 1   Online   7644MB  7543MB

My flash drive is 8GB so the 7644MB "Disk 1" is clearly it.

DISKPART> select disk 1

It is critical you select your USB flash drive. If you don't know which drive to select ask your local geek to help you out. Once the disk has been selected run "detail disk" to verify you have the correct disk selected. You should see something like this:

Again, verify this is the correct disk or seek help from a geek friend!!! Once you have verified that you have selected the correct drive you can destroy all sectors on the disk using the diskpart's secure erase command "clean all" This will destroy ALL data on the disk and make it completely unrecoverable. This process will take some time to complete. My 8gb flash drive took ~15 minutes. 

DISKPART> clean all

Once this completes you can go into the normal windows disk management tool and create a new volume using your freshly emptied flash drive.

Monday, March 11, 2013

My git cheat sheet (Google Docs)

Click here to view my git cheat sheet!

I've been practicing console git recently. I've been making a cheat sheet along the way of commonly used commands. You can see the current copy by clicking the link above. If you are just learning git the creators of github have a great intro video that covers getting up and running with git available here:

Introduction to Git with Scott Chacon of GitHub