RVM, Unicorn, and Nginx on Startup in Ubuntu

I run a "webserver" in my house on an old netbook for reasons I'll get into in another blog post. I am only serving a single static html file which can be done much easier than Nginx and Unicorn, but that is no fun! This gave me an opportunity to learn a little more about both.

Read More »

RVM Error Installing ruby-2.2.0

On my mac running OS X 10.9, I was trying to install ruby-2.2.0 using rvm and I repeatedly received an error when it was trying to install with the commands rvm install ruby-2.2.0 and rvm reinstall ruby-2.2.0 after it errored out initially.

Read More »

Working Remote... Sometimes

I have the freedom to work remote, sometimes, and I really appreciate it. Over the past several years there has been a lot of discussion about the pros and cons of working remotely. There have been books written about it. There have been many discussions amongst managers and other higher ups about whether it will help or hurt productivity. I am going to just give my thoughts about working remote and why I appreciate being able to do it when needed.

Read More »

Review of "Things A Little Bird Told Me"

I find it interesting that many of the books I read about entrepreneurs and successful people have exhibited interesting, take charge habits from early in life. The author, Biz Stone, exhibits this behavior throughout the book, but there is a specific example that stood out to me. Biz writes about forming his own lacrosse team at his high school, and in my opinion, that would take some serious courage and work to get a sports team off of the ground from nowhere. This leads me to believe that in many instances people are born with the abilities and drive to create and do great things. I believe it is possible to learn the skills necessary but it is very difficult to do. Even when someone learns how to lead and build a business my guess is that it takes an even more unique person who was born with the ability to change themselves into something else that they want to be. Most successful people have some unique attributes that allow them to succeed that others who don't run their own businesses do not possess.

Read More »

Do This First When Unit Testing in Laravel

If you are writing phpunit and the Laravel PHP framework, (I know, who writes unit tests in PHP), and extending Laravel's "TestCase" I recommend the first thing that you do when writing a new test class is write the following setUp and tearDown methods.

Read More »

Google Analytics API - The Measurement Protocol

For a long time I have had several different needs to do data collection from the server to Google Analytics. There has always been ways to log to GA by sending a GET request that was modeled after the requests generated via the GA javascript. There have also been libraries that would help model requests properly for programmers. I believe this may have been a violation of the GA terms of service, but I cannot find a copy of the TOS that was prior to Universal Analytics so I don't know for sure. As there have always been workarounds it has never been as easy as it should have been and it was not a complete API. There is finally a Google Analytics Collection API in the The Measurement Protocol and it is awesome!

Read More »

Fugitive.vim, Vyper VPN, and Better Communication

Git inside Vim

I don't know how many times I am in Vim and I find myself hitting ctrl+z to go to the command line to execute Git commands. I came across a solution. Yesterday I installed Fugitive and it kicks it up a notch. With the latest commit of adding "git push" from within Vim I almost never have to leave the editor for Git commands.

Read More »

Inserting Text at Postion 0 in Vim

I have never taken the time to learn how to insert text in the first position in a row or document in Vim. Since I am coding most of the time I don't run across a need for this often as text is usually indented and not bumping the left edge of the buffer.

Read More »

Accessing The Gmail RSS Feed With cURL On OSX Mavericks

There was an office gag I wanted to do that requried a small script that would speak a phrase every time an email with a certain title came through. After researching the various parts of the problem it looked like I could accomplish this with a couple of simple parts. Gmail offers an RSS feed for any unread items and any unread items with a specific tag at https://mail.google.com/mail/feed.atom. This seemed like it should be easy enough with a cURL request. Once I had the response from this I could kick off "say" with the phrase I wanted if data was present.

Read More »

Delivering Value by Identifying Pain

I learned a valuable lesson from a co-worker today as feedback from a sprint review he attended that I was leading. He said "It sounded like I was hearing pain from the users." He was exactly right and I was not listening to it. It was a great way to put one of the fundamentals of software delivery, always be adding value for your users.

Read More »

Ubuntu 11.10 and the RT2500 rev01 Wireless Card

I wanted to share a bit of knowledge I have gained on trying to get a Belkin wireless card with the RT2500 chipset to work under Ubuntu 10.10 and 11.10. Basically, I can't get it to work. The card is recognized fine and initially the speeds are as expected. In less than a minute the card's transfer rate drops to approximately 1.5Mb/s and stays this way until the network adapter is restarted. I have checked the settings of the card using iwconfig and everything appears in order both before and after the speed drop. I did not do many things to attempt to fix this issue in Ubuntu 10.10 because I was going to upgrade soon and wanted to see if it would work better in the new version. I do know that the behavior described above is what happens out of the box. After upgrading to 11.10 I got the same results. It was time to start looking for a fix.

Read More »

Django nonrel and mongoDB on Heroku

I am working on a new web application that, for the time being, will be called Short Story. It uses python, Django nonrel, and sits on top of a Mongo Database. I didn't want to spend the time managing the infrastructure so I decided to host the application on Heroku and use the hosted Mongo service Mongo HQ since it is offered as an add on to Heroku. There is a good how-to on Heroku's site about how to get a normal Django app up and running if you are starting from scratch. I walked through the how-to with a brand new test application and everything worked without a hitch. I ran into a couple of issues when trying to get my existing application up there and I will discuss the problems and the solutions I came up with. ###Django Application Must be in a Package Subdirectory The first issue that I ran into was that my application would not deploy correctly because it was not recognized as a Django app. I was getting the error "Django app must be in a package subdirectory". This was happening because Heroku required a different directory structure that what I had in place. The directory structure that I tried to push to heroku was:

Read More »

QR Code Bookmarklet

As a mobile website developer for Easy2 Technologies I get a lot of emails or IMs containing something along the lines of "Hey, can you check this link out on your phone because ...." To get the link to my phone's browser I usually have to email it to myself. I became annoyed having to do this every time and wanted a better way to handle it.

Read More »

Stubbing an App Engine Request

Over the past several months testing has become an obsession of mine. This has been driven by the adoption of an agile development process at work. The testing at work was in .Net and and I quickly saw the benefits that it provided. This practice then bled over into my development at home which is primarily done in python on Google App Engine.

Read More »

Blogging On Bloggart

Anyone who is not a developer never has a big problem choosing a blogging engine. Most people can go to any blogging service, wordpress, blogger, tumblr... and not have a problem beginning writing. Me, being a developer, had to find just the right blogging engine, tweak it, configure it, and learn everything there is about the internals of the code and once that is done, tweak it some more. No blogging yet. Just configuring. Sounds like my early days on Linux. All you do is configure the system. Once your done a new version is out to install and you start configuring all over again.

Read More »