Becoming a Better Programmer… Step One, Build a Course

Often a programmer sits back and reflects on, “how can I get better at my job?” A number of months ago I found myself sitting with that same reflection. One of the many ideas that popped into my head was to put together focused material around a topic. Training material, a blog series or something else. I wasn’t sure just yet what it would be, but I knew that was one of the many things I wanted to do. Fast forward a few months.

Fellow Tier 3 coder Richard Seroter, who I’d known for some time via his blog “Richard Seroter’s Architecture Musings” and I had a conversation about what we do, respectively, to keep our skills honed in tech. He brought up he’d be putting together material for Pluralsight for a while now and enjoyed that. It struck me as something I’d like to do too, considering my past reflection, so he made an intro. The rest is history!

Pluralsight Author, Achievement Reached

I’m now a Pluralsight Author (my author’s page) with my first course on Riak Fundamentals. I’m now working on a second course, on Docker Fundamentals. I’ve got a lot more in the queue after that too, so I hope to keep producing a lot of material on everything from the big languages these days like Javascript, Java, Ruby and C# to lesser knowns like Erlang, Go and maybe some others to boot.

For now, check out my Riak Fundamentals Course and some of the other great material that Pluralsight has available. They’ve just acquired TekPub, Peepcode and a number of other companies too, so when you subscribe you don’t just get all the Pluralsight material but also access to all the material at these excellent course creating companies! In the coming days and weeks I’ll have some reviews of other courses I enjoyed. As always, enjoy, subscribe to my blog, subscribe to Pluralsight and cheers!

References:

Using SSH Locally to Work With Ubuntu VM + VMware Tools Installation via Shell

I do a lot of work with Ubuntu, 90% or so of that work is from an Ubuntu instance. Often that instance happens to be a local VM running in VMware Fusion (or sometimes Virtual Box). Often I’ll start with a base server image which isn’t entirely setup for SSHing into the instance. These are the steps to get that installed and ready to go.

First install the image, in this particular situation I’m using the Ubuntu 12.04 LTS Server image.

Ubuntu 12.04 Server. Click for full size image.
Ubuntu 12.04 Server. Click for full size image.

That will take a few minutes to install, on machines these days I’ve experience just about 8-15 minutes. There are a million other options to do this too, such as starting with a clean Ubuntu image using Vagrant, which takes all of about 1-2 minutes, sometimes a bit more if you have to download the image. But either way, get one built and running.

Installing Ubuntu using VMware Fusion. Click for full size image.
Installing Ubuntu using VMware Fusion. Click for full size image.

Once the image is installed, login and install openssh-server and openssh-client.

[sourcecode language=”bash”]
sudo apt-get install openssh-server openssh-client
[/sourcecode]

Once that’s installed I pull up my IP address with ifconfig.

[sourcecode language=”bash”]
ifconfig
[/sourcecode]

The ifconfig command shows a lot of information regarding the network configuration associated with the various network adapters in the machine that it is executed on. In the image I’ve circled the local IP address that is assigned to the instance.

The local IP address using the ifconfig command. Click for full size image.
The local IP address using the ifconfig command. Click for full size image.

Now that you have the local IP of the instance, bring up a local terminal (in this case I’m on OS-X, but if you’re on Windows pull up Putty or on Linux or another *nix variant pull up a shell). In the terminal you can now enter the follow SSH command to log in from the local machine versus the running instance. This comes in handy when you want to treat the machine like an actual hosted machine somewhere, in which you wouldn’t be directly logged into the server.

[sourcecode language=”bash”]
ssh username@192.168.77.197
[/sourcecode]

Logged In.
Logged In.

Getting VMware Tool Installed

This assumes that you mount the installation files (aka the cdrom) via the built into mount option in the VMware Fusion menu.

Selecting 'Reinstall VMware Tools' to mount the installation files. Click for full size image.
Selecting ‘Reinstall VMware Tools’ to mount the installation files. Click for full size image.

Once that’s mounted, the machine is ready to install the tools on. However, there are a few other things to install just before installing these. First get the latest updates for apt-get with the update command.

[sourcecode language=”bash”]
sudo apt-get update
[/sourcecode]

Now install the latest gcc, make, kernel headers and other important tools.

[sourcecode language=”bash”]
sudo apt-get install gcc make build-essential
sudo apt-get install linux-headers-$(uname -r)
[/sourcecode]

In the above, everything can be put on one line, but I separated the linux-headers just for extra clarity. I can now via remote SSH on the local machine or directly into the virtual machine and run the following commands to install the VMware Tools.

[sourcecode language=”bash”]
sudo mkdir /mnttools
sudo mount /dev/cdrom /mnttools
tar xzvf /mnttools/VMwareTools-x.x.x-xxxx.tar.gz -C /tmp/
cd /tmp/vmware-tools-distrib/
sudo ./vmware-install.pl -d
[/sourcecode]

Finish everything up with a good reboot.

[sourcecode language=”bash”]
sudo shutdown -r now
[/sourcecode]

Now I have the VMware Tools installed and able to SSH remotely, giving me the ability to use the virtual machine as I would an actual hosted instance.

Orchestrate.io, Stop Dealing With the Database Infrastructure!

In this interview I talk to Matt Heitzenroder, Co-founder of Orchestrate.io and previous general manager of Basho Europe, data nerd and love of data types. In this video he talks about the data types, data structures, schema or schema-less options, graph, stores and other ideas behind Orchestrate.io. He also jumps into what exactly Orchestrate’s Mission is.

We also dive into some mentions around plans for geo, time series and what Orchestrate is doing with these data options. After a bit of high level discussion, Matt gives us some strategy and tactical around the plans for their involvement in the community, business domains and open source plans.

Close and important to my passions, we discuss some of the plans around what is coming down the pipe for open source involvement, how Orchestrate will fit into that and what code you’ll be seeing from the team.

https://vimeo.com/77274021

For a sneak peak of some of the open source coming your way check out and maybe even help out with Salter, now with more Go language oompf!  https://github.com/dizzyd/salter

Sensor Arrays & Smart Mocha

…about the secret language that machines talk…

Last week I began a new effort to get in and not just sit on the sidelines and watch what my favorite startups are doing but actually talk to, increase the visibility of and get to know what’s going on. The team at Smart Mocha was more than happy to sit down and talk with me for a few. Topics went from sensor arrays, to big data and a bit of design patterns around that. It was a great conversation, great team and only increased my interest in what Smart Mocha is working toward!

I put together a video of an interview with the core team of Surj Patel @surj, Jake Olsen @jakeo and Scott Osborn @steve918 (also the company page on the team here: https://smartmocha.com/meet-our-team/). Check it out below and also, feel free to subscribe to the Vimeo Channel were I regularly post tech videos and screencasts “Shredding Code“. After you check out the video, dive in further at Smart Mocha.

A Day in The Life of http://adron.me

So I sat down and hacked up a new version of Adron.me. I snagged a site theme and skin from Theme Forest and ran with it. Broke apart each of a few sections to get a minimally viable site up within 24 hours. I got interrupted a few times with a few other things I needed to wrap up, more about those things later. For now I put together the site, check it out @ http://adron.me. I also put together a video of the hack session during various stages of getting the site live.

During the video I also have a few excursions away form the code to help stay focused on the code. At one point I’m actually working on the Junction App too. Also, keep an eye on it and you can see my Sublime 2 usage, iMac, Lenovo Carbon X1, Ubuntu and a whole slew of other tech. More on all those things too, for now… here’s the video.

…and yeah, no real code complexities or such, mostly an excuse to make a video to some oddball dubstep from the scraps of video I put together during building http://adron.me. Hope it was entertaining, cheers – Adron.