Want your Final Term with a helping of Zsh?

The Final Term project caught my eye a while ago, and recently decided to take it for a spin. The first thing that I noticed is that you are in a bash shell after launching and you lose all the contextual menus if you switch shells after launch. Since I’ve been using Zsh for a few years now and didn’t feel like trying to customize a bash environment I decided to try my hand at customizing Final Term to support Zsh.

Screenshot from 2014-09-13 22:38:12

So far I’ve been happy with the progress, but it is not without issues (these are the ones that I know of):

  • wget Termlet not updating status bar on download complete/cancelled.history
  • history completion menu is not working
  • PS1 prompt not updating properly

If you are interested in trying it out or contributing some feedback, visit the in progress pull request. If you are running Fedora, then you can also install from my copr repo.

Lenovo T540p woes

I spent a good chunk of this week setting up my new work laptop. It’s a Lenovo T540p with some pretty beefy specs (i7-4800MQ, 16GB Ram, SSD), however it hasn’t exactly been smooth sailing.

A fresh Fedora 20 install left me with no way to enter a LUKS password. Since I didn’t want to give up my graphical boot, the following commands got be back up and running:

> sudo yum install dracut-nohostonly
> cd /boot
> sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
> sudo dracut --no-hostonly -a "rescue" initramfs-$(uname -r).img $(uname -r)

The next issue I ran into was being unable to connect to wireless reliably. I’m working around this by setting my wireless to not automatically connect (and I have to restart NetworkManager after resuming at times). I plan on digging a bit deeper into this one, but there were bigger fish to fry.

The out of the box configuration of the ClickPad was also a major annoyance, I was able to make it more workable by playing with the hysteresis settings, but will be trying out these settings when I get a chance.

The biggest annoyance though, was that the docking station is completely unusable with an external monitor. It turns out that there are two issues at play, a firmware bug for the docking station and a bug in i915 kernel module.  The firmware update is only available as a windows executable (yuck). Since I refuse to install Windows just to update the firmware and I’m too impatient to wait for the fix to be released as an update I decided to do a scratch build of the latest fedora 20 kernel with the patches applied. After a quick yum install and reboot I am now able to use my docking station with external monitors:

> sudo yum install http://kojipkgs.fedoraproject.org//work/tasks/4096/6554096/kernel-3.13.3-202.fc20.x86_64.rpm \
> http://kojipkgs.fedoraproject.org//work/tasks/4096/6554096/kernel-headers-3.13.3-202.fc20.x86_64.rpm \
> http://kojipkgs.fedoraproject.org//work/tasks/4096/6554096/kernel-modules-extra-3.13.3-202.fc20.x86_64.rpm

I offer no warranty or support in the case that this patched kernel does anything to your system, I can only say that it works for me.

After finally being able to use the docking station, I hit yet another bug.  It appears that the UltraDock functions as Multi-Stream Transport Hub to provide multi-monitor support.  Until the i915 module provides MST Hub support all of the docking station outputs are mirrored.  I’ve been working around this by using the VGA out on the laptop with the DVI output of the docking station.

Shifting to the Cloud

Over the past few years, I’ve seen an increase in tension between traditional IT and IT consumers. Users are questioning why costs and the length of time to provision are as large as they are, especially when they can go out and push their applications directly to the cloud in a short amount of time with low upfront costs.

This has led to many conversations within businesses and within IT organizations about how to solve these problems. I’m not going to try and get to the heart of this issue or argue whether the solution is to streamline existing IT process, move to a DevOps strategy, outsource everything to SAAS providers, or any other strategy du jour (there are already too many people on the internet doing just that, not to mention that I believe the true solution requires a delicate balance of all available solutions).

My current position with Red Hat is with our Production Control team (roughly an Application Operations role). Our responsibilities straddle typical IT Operations and Developer roles, and puts us in a unique position to see the conflict between traditional IT and developers. One of the things we are evaluating to alleviate some of the pain is the use of an internally hosted PAAS to enable developers to quickly deploy and scale applications without the traditional provisioning process.

The PAAS we are building is based on OpenShift Origin, which is the core code that runs OpenShift Hosted. If you are not already familiar with OpenShift, it is kind of like Google App EngineEngine Yard, or PHP Fog, except with the ability to run whatever language or framework you want (using the DIY cartridge if there is not official support). The only publicly available PAAS that seems to match it in terms of features is Heroku, however unlike Heroku, OpenShift is Open Source and allows you to deploy an instance within your own data center (or IAAS provider of choice).

This will give us the flexibility deploy code developed on the same environment in a different number of ways.  We will have the ability to chose to self-host applications, host applications in the cloud on the IAAS of our choice, or host the same application on OpenShift hosted.  We can use any criteria that we like to decide where the code is deployed (cost, security, reliability, etc) and easily change our minds later.

Additionally, since the project is Open Source, we have the ability to directly impact the project by contributing bug fixes, new features, or help change existing functionality to better fit real world use cases. No need to rely on vendor promises of feature requests, we have the ability to make it happen.

First!

Aside

Welcome to my humble little blog.  I plan to document some of the things that I deal with day to day in IT, some of the Open Source projects that I am involved with, as well as posts about various topics in computing, IT, and technology.