06 Apr 2016
I’ve been interviewing a lot lately since I was let go from my last gig. During the interviews I’ve been asked a few times when and why I started programming. My answer is the following:
- I wrote my first program in the Basic programming language when I was eight years old (1988) and loved that I could control a computer and build software.
- In 1991 when QBasic came out I learned about the easter egg that you can do when starting QBasic from a DOC prompt. The easter egg showed “The Team of Programmers” that created QBasic. Once I saw that, I told myself I wanted to be one of them.
- The idea of learning another business industry so I could create software for them excited me. Here are some of the industries I’ve learned through my career:
- Oil & Gas
- Sports Merchandise
- Home Security
22 Mar 2016
UPDATE: Looks like this post is moot as of today 3/24/2016 due to Docker for Mac and Docker for Windows betas coming out
While interviewing for a new gig I was asked to use memcached and they had suggested standing up a docker instance. I have been using docker pretty regularly now after learning much from my previous co-workers and practical usage.
So, on OSX you can install the
docker brew formulas with homebrew. (If you are not using homebrew and cask to manage your installations on OSX you are missing out). I use VirtualBox as my VM hosting tool.
If you haven’t installed (tapped) cask for application (non-CLI, GUI apps) installations, you should do it now:
Now install the items:
brew cask install virtualbox
brew install docker-machine docker
On Linux you don’t need docker-machine as you can just use docker directly, but on OSX you need the set up a Linux host through a VM tool like Virtualbox. You need to setup your docker-machine with the following command:
docker-machine create --driver virtualbox default
This creates the docker host on virtualbox and names it default. So when you run
docker-machine ls you will see something like the following:
› docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.3
I created a Dockerfile to create the docker image with the following content:
MAINTAINER Jason Meridth <email@example.com>
RUN apt-get update && \
apt-get install -y memcached && \
CMD ["-u", "root", "-m", "1000"]
This Dockerfile will do the following:
- create a new image based on the latest Ubuntu docker image on DockerHub.
- set the maintainer to myself
- update the instance
- install memcached
- cleanup the update/install
- expose port 11211 from the instance
- run the arguments against the entry point (memcached)
- set user to daemon
- set entry point to be memcached
After the docker host is create I then built the image with the following command:
docker build -t memcached_img .
-t lets you set a tag on the image so you can use that instead of the unique ID when creating the instance.
To see the new image you run the following:
and you’ll see something like:
› docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
memcached_img latest ad3d86685ca8 57 minutes ago 211.4 MB
ubuntu latest 97434d46f197 4 days ago 188 MB
Note: To delete the image you would use the
docker rmi memcached_img command.
I then created the docker instace based on the new docker image with the following command:
docker run -name memcached_ins -d -p 45001:11211 memcached_img
You should receive the sha of your new container instance. To see the instance information run
docker ps. The result is
› docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
18c82cd27a2d memcached_img "/bin/sh -c memcached" 5 seconds ago Up 5 seconds 0.0.0.0:45001->11211/tcp memcached_ins
As you can see this shows the mapping from the host port of 45001 to the container instance port of 11211 (defaul for memcached).
Note: You may need to add the
-a argument to the
docker ps command to see all container instances (including the ones not currently running).
16 Jul 2015
From a former colleague at Rackspace, whom I asked for his top leadership advice:
- you work with me, not for me
- consult rather than dictate
- manage to the outcome
- understanding how you are communicating is just as important as what you are communicating
- treat everyone the same
14 Jul 2015
Found this tip today about how to ensure your iTerm console sends
+Esc to weechat for the meta keys to work properly.
To make alt key bindings behave well for Mac OS X iTerm2, go to Preferences->Profiles->Keys and click +Esc radio button for option keys.
I like to use meta+c to clear a buffer and meta+x to close a buffer. meta for me is the
Alt key. Here is the keybindings in my
19 Feb 2015
So I recently got my weechat (IRC) notifications coming to my android via Pushover. I just borrowed the following infomation from my friend Major’s blog post. It was working great, but then Major told me about Pushbullet on Twitter and it’s integration with Chrome and everything else that I alredy use. I finally set it up and noticed that the pushover.pl plugin that I was already using in WeeChat works with Pushbullet also. So minimal change to my already existing Weechat setup (just needed to set service = “pushbullet” and pb_apikey attributes on the Pushover.pl plugin and I was good to go. The pushbullet Chrome extension is awesome. Try it out if you’re looking for a way to get notifications between your compute and your Android device. I wanted it for when I marked myself as away on IRC I would get notifications on my browser and my phone.
How I set it up:
- Create your pushbullet account on https://www.pushbullet.com
- Get your access token from https://www.pushbullet.com/account
- Inside your weechat setup, install the pushover script:
/script install pushover.pl
/set plugins.var.perl.pushover.enabled on
/set plugins.var.perl.pushover.only_if_away on
/set plugins.var.perl.pushover.service pushbullet
/set plugins.var.perl.pushover.pb_apikey [ACCESS TOKEN FROM ABOVE]
Next time you
/away yourself, you will receive IRC notifications where you’re mentioned on your device/browser. You can also sync your mobile notifications with your browswer so that you can see texts, phone calls, etc. Any notification you would normally get on your mobile device you will get in the PushBullet browser app. Yes, you can control which ones notify you via a muting feature.