SIMPLE EC2 INSTANCE + ROUTE53 DNS

If you have a multi-environment AWS setup, and want a easy way to resolve all EC2 instance using Route53 DNS, look no further!

Currently I’m maintaining a production and staging environment on Amazon Web Services across multiple regions. We tend to not use ElasticIPs as that just increases cost, plus internally we resolve using Consul . There is one drawback with not using ElasticIPs, when ever the instance restarts they will be offered a new dynamic IP (we will solve this with automation).

C# APPLICATIONS DEPLOYED WITH DOCKER AND MONO

Lately I’ve been working a lot with Mono , and building C# applications on Linux. Just recently I discovered the official mono image in the Docker Hub Repo . This image comes with xbuild and NuGet (tools we need for building).

So lets do a little work and get a mono application up and running (note I’m using a company application and will remove any references that may be sensitive.) I start by pulling the application’s source code down beside the Dockerfile :

ELASTICSEARCH USING DOCKER

Elasticsearch is a distributed RESTFul search tool over the HTTP protocol. And we are going to use Docker to spin up multiple nodes in the cluster. First we need a server node running Docker. I’m using a Debian server so the command I need is apt-get:

# apt-get install docker.io

After installing the package make sure the docker command is available:

# docker version
Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.2
Git commit (client): 4e9bbfa
OS/Arch (client): linux/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.2
Git commit (server): 4e9bbfa

Excellent we now have docker, lets start by downloading a image , the below command will download the latest Debian docker image:

PURCHASED MY FIRST BRAND NEW DISC THE OTHER DAY.

Needed a good Mid Range disc to go along wit my Innova Boss (driver) and Innova Aviar (Putter), a veteran disc golfer in the shop suggested the Discraft Buzz ,Innova Roc3, and this Innova Spider.

10641196_333012806874230_6522888952475658645_n

NAVIGATING THE DISC GOLF COURSE.

HEARTHSTONE ARENA

Screen Shot 2014-05-05 at 8.29.52 AM I’ve been playing a little bit of Hearthstone lately, and heard the Mage is one of the best for arena.

I won’t say I did great, but then again it wasn’t terrible.

SAGA VOLUME THREE!

Picked up Volume 3 of Saga last night, this has been a fantastic graphic novel and I would recommend it!

Photo Apr 26, 11 53 17 AM

TV STYLE COMPUTER HACKING!

My son asked the other night if hacking computers really worked like on television,
and if numbers/words really flashed across the screen.

I explained to him a bit, then told him we could make something that looked like he
seen on television. Below is a print out I wrote for him.

Keep in mind I tried to dumb it down a bit for my 10 year old son.

Hacking MD5 Hashes

What is a MD5 Hash?

MD5 is a widely used message-digest algorithm used for creating

SPLIT PYTHON LIST BY NTH ITEM

This has been one of the processes I’ve normally not solved in a clean or readable way.

In []: a = [1,2,3,4,5,6,7,8]

Taking the top output I want to return something similar to below.

Out[]: [(1, 2), (3, 4), (5, 6), (7, 8)]

Using a Pythonic approach this task isn’t to difficult, but there is some explaining to do.

First lets look at the code:

In []: a = iter([1,2,3,4,5,6,7,8])

In []: [ i for i in zip(a, a) ]
Out[]: [(1, 2), (3, 4), (5, 6), (7, 8)]

First we need to pass our list to the iter function, this turns our list into a iterator object:

LINUX /PROC/NET/ROUTE ADDRESSES UNREADABLE

So you may have looked at /proc/net/route before and thought how the heck am I suppose to read this. Well here is the low down.

This file uses endianness to store the addresses as hexadecimal, in reverse; for example 192 as hex is C0 :

In []: hex(192)
Out[]: '0xc0'

So lets take a look at our route file:

Iface   Destination     Gateway         Flags   RefCnt  Use     Metric  Mask            MTU     Window  IRTT
eth0    00087F0A        00000000        0001    0       0       0       00FFFFFF        0       0       0
eth0    0000FEA9        00000000        0001    0       0       1002    0000FFFF        0       0       0
eth0    00000000        01087F0A        0003    0       0       0       00000000        0       0       0

Now the first entry has a destination of 00087F0A , lets go ahead and chunk these in to hex characters: