Thursday, December 26, 2013
New Blog
Monday, December 2, 2013
Vim Highlight Shortcuts
"{-- Commands to highlight the word under the cursor without moving the buffer
" view or cursor. --
" Case sensitive, partial match inclusive.
noremap hi :set hlsearch:let @/=''
" Case sensitive, no partial match.
noremap ho :set hlsearch:let @/='\<\>'
" Case insensitive, partial match inclusive.
noremap hu :set hlsearch:let @/='\c'
" Case insensitive, no partial match.
noremap hy :set hlsearch:let @/='\<\>\c'
"----}
" Command to remove highlighting.
noremap noh :noh
Sunday, November 24, 2013
Podcasts for Software Developers
- Ruby Rogues - The topics covered by this show are fairly broad and are applicable even if you are not a Ruby or even a web developer. For example, a recent episode discussed how to learn new skills as a developer. Conversational format; new episodes weekly.
- Coder Radio - Topics tend to be fairly non-technical and mainly revolve around recent news, mobile development and contracting. Conversational format; new episodes weekly.
- Hanselminutes - Scott Hanselman (well known Microsoft developer) interviews other developers in this podcast that covers a wide variety of topics. Interview format; new episodes weekly.
- FLOSS Weekly - Each episode focuses on a single open source project. The majority of each episode consists of an interview with a programmer or lead associated with the project. Interview format; new episodes weekly.
- Programming Throwdown - Each episode covers a single topic such as a specific programming language or technology. The discussion is kept fairly high-level and provides a good overview of the topic. Conversational format; new episodes monthly.
Saturday, November 9, 2013
Vim Plugin Picks
- EasyMotion - Makes moving to a specific location a breeze; see it in action here.
- Buffet - My favorite plugin for moving between open buffers.
- CtrlP - Quickly open files within a project directory structure via fuzzy search.
- FuzzyFinder - Fuzzy searching for buffers, files, tags, etc.
- MRU - Simple plugin that shows a list of the most recently used files.
Wednesday, May 8, 2013
Parsing with Parsimonious
The resulting output is the following:
{'gender': 'male', 'age': '26', 'name': 'Bob'}
{'gender': 'female', 'age': '30', 'name': 'Kim'}
{'gender': 'male', 'name': 'Joe'}
Friday, April 19, 2013
Hidden Fossil Features
Friday, March 8, 2013
Thoughts on the PS4 Specs
Sony seems to be taking a safe route with this console. The PlayStation brand has had a history of being difficult to develop for, however, Sony is clearly focused on improving the process with this console iteration. Just take a look at the press release announcing the console; the very first section is titled "Gamer Focused, Developer Inspired" and touches upon the system's "ease of development". Good move Sony!
The 8 GB of GDDR5 RAM stands out as a major boon for game developers. Consider for a moment that the PS3 only had 256 MB of RAM, imagine what developers will be able to accomplish with a 32x improvement in memory. Additionally, the GDDR5 used by the PS4 will have a memory bandwidth of 176 GB/second compared to the 25.6 GB/second of the PS3.
Sunday, February 17, 2013
Furnace Debugging
![]() |
| Resoldered Relay Trace on Control PCB |
The blower motor has been running fine ever since the repair. It is possible that an issue with the motor resulted in an unusually large amount of current draw causing the relay connection to fail. However, there is a 3 amp fuse on the motor supply line that was still intact. To my knowledge, the control board is original to the furnace which is about 20 years old. It may simply be a case of failure over time.
Tuesday, February 5, 2013
Vim For Health
One additional step I took was to remap the left Ctrl key to Caps Lock. This has made a huge impact since I use the Ctrl key frequently and find the position of the key to be awkward. Hitting the normal key requires either a left hand movement or curling up the pinky finger; it's a recipe for hand cramps! The Caps Lock key being on the home row feels more natural. I use SharpKeys to handle the remapping on my Windows machines.
Sunday, December 30, 2012
Qt 4.8.4 and MinGW Quick Start
- Download the Qt 4.8.4 libraries installer here.
- Run the installer. If a warning message about the version of the w32api.h file appears ignore it and continue the installation (my install is version 3.17 and appears to work fine).
- By default, the installer does not add the Qt toolchain to the PATH. Instead, it provides a custom command prompt environment called the "Qt 4.8.4 Command Prompt"; launch this command prompt from the Start menu.
- Now we can try compiling an example; from the Qt command prompt, navigate to C:\Qt\4.8.4\demos\textedit.
- Execute the command qmake; this should generate a makefile.
- Build the example using the command make.
- If everything goes correctly, textedit.exe should now exist in the debug directory; launch the demo application.
Saturday, December 22, 2012
Vim Zoom Hack
Saturday, December 1, 2012
PopPage
Recently, I had a need for a very lightweight static website generator. The idea was to have Asciidoc and Pandoc handle the markup to HTML conversions while the generator would simply apply the HTML content to a Jinja2 template. The result was PopPage, a simple command-line driven website generator. It plays nicely with native Windows batch scripting and I plan on providing a few examples in the GitHub repo shortly.
Docopt
While browsing YouTube recently, I stumbled upon a video about a great third-party Python module called Docopt. It greatly simplifies writing command line utilities; instead of writing custom logic using the standard library optparse or argparse modules, you simply write the usage docs for the utility and Docopt handles the parsing. Check out the documentation; there are some great examples that really showcase the power of this module.
Sunday, August 19, 2012
Raspberry Pi First Impressions
Received my first Raspberry Pi the other day. I ordered two Model B devices from Newark and, despite the high demand, received them in about a week.
My intended use for the first R-Pi was to serve as a mini-HTPC for my basement TV. I tried both Omxplayer running on Raspbian and Raspbmc. I was very please with the performance of both; they were able to stream videos from my NAS with no issue. Unfortunately mplayer on Raspian currently does not support GPU acceleration on the R-Pi and lacks the horsepower to be of any use. For now, Raspbmc will likely remain the frontend of choice for the HTPC.
Overall, the value of the R-Pi is amazing! For $35, this device is an absolute bargain and a must have for any tech DIYer.
Wednesday, August 15, 2012
Vim Scratch Buffer
It is especially useful in combination with the run shell command shortcut once Vim is configured to change to the directory of the current file with the following vimrc addition: autocmd BufEnter * execute "chdir ".escape(expand("%:p:h"), ' ')
Sunday, August 5, 2012
Vim Run Shell Command
Fossil Command Line Tips
- Check in only edited files: fossil changes | grep EDITED | gawk '{print $2}' | xargs fossil commit -m "Added feature X."
- Add only files with name containing "pattern" to repo: fossil extras | grep pattern | xargs fossil add
- Move files in repo to match move on filesystem: fossil changes | grep MISSING | gawk '{print "fossil mv " $2 " subdir/" $2}' | sh
Saturday, July 28, 2012
New GoogleCL Blog Process
First post using a new blog process! All new posts will be written using Asciidoc text files. Each file is then converted to HTML and uploaded to the blog via GoogleCL. The whole process is automated using Python.
I’m hoping this new workflow will make writing new posts more efficient in turn leading to more frequent updates.
Sunday, March 18, 2012
PyPy Intro
There are several other PyCon talks that discuss this project in more detail:
Also, check out the full list of videos from PyCon 2012 for other great talks.
Monday, February 27, 2012
Tweaking Gnome Panel
- Open
gconf-editor. - Navigate to
/apps/panel/toplevels/top_panel_screen0. - Enable
auto_hide. - Set
unhide_delayto 1000.
