Trying the Oculus Rift for the First Time

Recently I was given the opportunity to try out a demo with an Oculus Rift headset. I can’t go into details of the demo due to an NDA, but I have to say, that jumped right to the top of the list of things I want to buy. I know several Steam games (of which I own a few) already support it, and I’m sure more will come into line once the gear is available to consumers.

I have no doubt that this will revolutionize the gaming industry. In just a matter of minutes, I felt like I was in the action myself, instead of watching it on a screen.

There has been an announcement of a seemingly related event….

The New Generation of “No Thank”-ers

Changing a bit from usual tech stuff, I have to rant for a bit. My wife and I are raising two children (teen/pre-teen) and trying to teach them the value in being polite. Please, thank you/no thank you., etc. They’re kids, so we don’t grill them about it, but the best way to pass on that behavior is to demonstrate it in front of them.

I wish more parents did that.

I’ve seen countless millennials walk up to a worker (doesn’t matter the place, grocery store, coffee bar, etc.) order something, receive their stuff and just turn and walk away. Perhaps the worker doesn’t think twice about it, but I always use “please” and “thank you”, and I tend to get better, friendlier service. It’s sad that today it’s more common to see a younger person on their phone than actually saying please.

At Target the other day, a woman put all of her items on the checkout belt, was checked out, and left all while on the phone using earbuds (in both ears). As she started to walk away with her cart, she rudely interrupted the cashier who was now talking to me and asked “Did I get a receipt?” The cashier was taken aback and after a brief pause, said “yes”. The woman just turned around and left, still blabbing on her phone. She was so engrossed in her conversation she was not aware that the cashier handed her a receipt (which she took and put in her purse… I even noticed that) and still had no idea what was going on around her.

If my kids had been there, I would have tried to make that a “teachable moment” by demonstrating how ridiculous that was, and that phones and other devices should always come second to a personal interaction, no matter whether it’s the president, or a cashier.

Debugging CSS with Firebug

I’m working on a project involving Django, and I wanted to use Bootstrap 3 to make it look all nice and professional-like. The issue I had was that the jQuery and underlying CSS is so obscure, it wasn’t really worth trying to troubleshoot.

Enter Firebug.

One of my issues was that I wasn’t even sure that my /static/ files (where you store files like CSS and Javascript on a Django Project) wasn’t even configured correctly. I did see in the “CSS” tab of Firebug that it listed my CSS file, so I could tell it was finding it.

The real solution was that the CSS section was throwing a 404 error, as could be seen by clicking on the CSS file on the list.. it said something to this effect:

/my/static/path/bootstrap3js/bootstrap.min.css not found

I instantly new the problem. This line in my

# The Bootstrap base URL
'base_url': '/static/bootstrap3',

Should have said this:

# The Bootstrap base URL
'base_url': '/static/bootstrap3/',

(Note the trailing slash). Once updating this, the page (and CSS) loaded perfectly. Even using the native Firefox debugging tools didn’t catch this. I’m definitely a convert now.

G is for Google

In their Official Blog, Google has announced that they will be creating a new parent company called Alphabet, which will be the umbrella company for all of their other pieces, like Google Search, Maps, Glass, etc., rather than all being under one company. Larry Page is moving up to that entity as CEO.

With that move in mind, I couldn’t help myself but to come up with an alphabet of my own… these are either Google products, or pieces/acquisitions of the company..

A is for Alerts
B is for Blogspot
C is for Calendar
D is for Drive
E is for Earth
F is for Flight Search
G is for Glass
H is for Hummingbird
I is for Image Search
J is for Japanese Input
K is for Keep
L is for Listen
M is for Maps
N is for Navigation
O is for OpenSocial
P is for Picasa
Q is for Questions and Answers
R is for Recipe
S is for Search
T is for Translate
U is for University Search
V is for Video
W is for Waze
X is for X (Google X)
Y is for YouTube
Z is for Zagat

Giving It All Up (Well, Most of It)

An extraordinary thing has happened — I am picking up and moving across the country to start a new job. We’re moving from the suburbs around central Ohio, to the area surrounding San Francisco, and we understand the financial implications, and moving to that area means we’ll likely have a much smaller space, so most of our stuff has to go.

I’m a huge George Carlin fan, and he had a bit where he talked about houses, and how they are just a place for your stuff. Items that used to seem precious or important to me are now being recycled, donated, or prepped for a garage sale. This is because I realize I don’t need it anymore, or realize that it will cost me too much money to move it across the country, or in the case of something on paper, that I don’t need to move it. I have this tool, called Evernote, along with a smartphone camera (with the Evernote app) that will allow me to take a picture of something and automatically insert it into Evernote so that it’s stored in the cloud electronically. This is something I’ve been doing quite a bit recently, and I’m realizing that it’s quite possibly one of the most valuable tools I can use, simply because those bits cost no money to store, no money or effort to move, and only require a connection to the internet (which with a phone, is quite ubiquitous nowadays) and I can access my data just about anywhere. It’s really opened my mind to what’s important and what isn’t, and makes it easy to decide whether to keep that note scribbled on that piece of paper… when in doubt, Evernote it and throw it away.

(Disclosure – the above links to Evernote are referral links, so if you sign up, I would appreciate you using those!)

Resolving a Linux hang-on-boot Situation

For several distributions of Linux, including Fedora, Arch, and a couple others (all of which happen to use systemd — hmm…) I would consistently have problems booting. During the startup process, when all of the services are being started, it would always hang at the exact same point: right after the “Started udev device kernel manager” line. This prevented me from even attempting to install any of these distributions. I did notice that any distro that did not default to systemd (namely Ubuntu and Gentoo) installed with no issues.

I finally found a fix to this: blacklist the dw_dmac module in the kernel. In Arch at least, this is done at boot time by adding the following line to the kernel boot line in Grub:


Once I hit enter, it booted up without issue, and installation went flawlessly. Rather than keep this line in my grub kernel line, I’ll blacklist it permanently the proper way, but for now, this works.

Using emmet-mode in Emacs for HTML Editing

When in Windows, I have a bad habit of using Sublime Text 2 instead of Emacs — I know, I’m ashamed of myself. It has some very useful features that I’ve really gotten used to using. Among them is the HTML dom shorthand… an example, if I type:

hr.margin-none <TAB>

Then it automatically expands to:

<hr class="margin-none"></hr>

Very useful when typing the code out yourself and not using a GUI editor… so I wanted to see if this functionality was available in Emacs. The good folks over at StackOverflow were quick to answer my question, and now I’ve been introduced to emmet-mode. It works the same, except by default the key binding to cause the expand is C-j, instead of TAB in Sublime Text. I think making a local emmet-mode keybinding may take care of this, but I’ve not played around with it enough yet. You can get emmet-mode from marmalade or MELPA repositories.


Mounting LVM Volumes in Linux with Rescue/Live Disk

So lately I’ve been playing around with a single remote-mounted nfs home directory at home. I’ve used it at work for years, and it’s great having all of my stuff in one location no matter what system I’m logged into. The setup was quite straightforward, except I’m still troubleshooting why my system hangs shortly after I login. I even made sure to include the _netdev option in my fstab so that it wouldn’t get mounted until after the network/nfs services are started, but it’s still causing me an issue. Anyway, the temporary solution is one I use rarely enough that I wanted to document it here… mounting an LVM volume manually when LVM isn’t already started. This is because I booted from the Fedora 20 Live disk in order to edit my fstab so I could login.

Here’s what I had to do in order to get my root partition to mount:

vgscan         # you may have to run 'lvm vgscan', but the former worked for me
vgchange -ay   # again you may have to run 'lvm vgchange -ay'
mount /dev/rootdg/root /mnt   # your volume group and volume name may differ
vi /mnt/etc/fstab

Be sure to get the one in /mnt, not in /etc, because that’s  your Live Install fstab and it won’t persist nor have anything useful in it.

Once I’ve made my changes, I reboot. Viola, you’re saved!

Using VI Inside of Emacs with ansi-term

As I’m still in the transition to use Emacs more often, I find myself often wanting to do a quick-and-dirty edit in vi. Rather than open another terminal (which can be disruptive if I have a tiling window manager with a particular layout configured), I like to have an ansi-term shell open in another Emacs frame. I usually use C-x 2 to split the window vertically, then C-x o to switch to the second frame, and M-x ansi-term RET to start an ansi-term shell. It will prompt for the shell to use, defaulting to the current shell of that user, in my case it will be /bin/bash or /bin/zsh depending on which system I’m using.

One great thing about ansi-term is that aside from the control/meta keystrokes, it’s a true ANSI-compliant terminal shell. You can still use C-x C-f and other key sequences (which in that case will open a new file in a new buffer) but you can also use C-c to cancel the current command, interrupt the running process, etc., except you have to hit it twice to tell ansi-term that you wanted to pass that control-c into the shell, not for Emacs itself to process. One of the only differences I’ve found, and it suits my needs just fine.

Now, for the quick-and-dirty edits — using vi or vim works perfectly fine within the Emacs ansi-term. The only issue I’ve found is that if I’m inside the file long enough, I often forget that I’m in VI and I will try to save the file with C-x C-s, and VI doesn’t really like that very much. Another thing of note — often I’m sudo’ed to root in the ansi-term window for various reasons, and vi’ing a file then will edit it as root, but using C-x C-f to open the file inside a new Emacs buffer will open it as the user ID that initiated the Emacs client (as I run Emacs in daemon mode almost exclusively), so I won’t have permissions to edit system files natively. I could use tramp/sudo, but sometimes it’s just faster to edit with VI. I’ve found this handy for multiple occasions so far.

One thing to note — using VI inside another Emacs shell (shell, term, iterm) can have strange results when attempting to save, enter/exit command mode, etc., so use at your own risk!

Spam Login Accounts

If you are a human reading this, I appreciate you checking out my blog. Also, if you have registered for an account on the site, and it was deleted, please accept my apologies. Every few weeks I have to delete around a hundred or so spambot email accounts from various domains. I have plugins to attempt to foil these idiots, but of course it’s not foolproof. If you have attempted to create a legitimate account to comment on posts and it was deleted, please send me a message and I can watch out for your account.

It’s sad that such a thing is necessary, but it’s the world we live in.