Leo

So after a long drive up to Maine and back on Tuesday, we have a new dog.

Gunner

Gunner is a Springer/Basset mix as far as we can tell. He’s VERY timid/shy around people but an absolute doll around other animals(dog or cat). He’s VERY scared of loud noises and people. He is roughly 4 years old and came to us from Beau Buddy Rescue in Bath. For now, we are working on getting him more comfortable with us, though as you can see from the photo above, it didn’t take him long to become comfortable with sleeping on our bed!

So, tonight after work I am driving up to Maine to look at a new dog.  Cookie was the best dog and we miss him terribly but given the opportunity to adopt another english springer,  we are jumping at it.   This dog like Cookie will be a rescue, and will come with a lot of similar problems, but the problems were one of the things we loved about owning a dog.   Tiff and I look forward to another new friend.  Pix are coming as soon as we have them.

Recently I encountered a situation where I was stuck trying to figure out a way to set a custom user agent for firefox, without creating a new profile. Since my code base is in ruby, this posed a tricky situation. Watir is significantly easier to use the Selenium due to a nicer programming language/interface, however, Selenium allows us to set profile preferences for Firefox. After some research this was what I came up with to combine the two:


require "selenium-webdriver"
require "watir-webdriver"
profile = Selenium::WebDriver::Firefox::Profile.new
profile['general.useragent.override'] = 'CUSTOM_API'
driver = Selenium::WebDriver.for :firefox, :profile => profile
$browser = Watir::Browser.new(driver)

This allows Selenium to set the browser’s useragent while still maintaining the use of Watir. After much discussion in the Selenium chatroom on Freenode, I was able to get them to modify the selenium FAQ/wiki to the list of Firefox preferences. Before the link was there it was severely confusing

Why must release day always be hectic, crazy, last minute WTFery. PM’s, describe the apps to all people in writing, instead of in a skype conversation. Devs, please when you promise to do something to said PM, do it! QA, test it, test it all. Retest.

Release manager: don’t freak out…2.5 hours left!

Well, after 3+ hours, it turned out another developer had not followed my advice from yesterday, and committed over some good code. Me and him will have a nice chat tomorrow.

Today, I had a developer spend nearly half an hour telling me that the QA server magically broke itself. A server that has worked for well over a year, which he himself has used repeatedly, just up and broke itself.

Just a note: you committed it, you (most likely) have to fix it. Most of the code I get pushed to QA is usually not ready, and has some serious issues. In this case, its right back at ya.

I’ve started seeing this more and more often in our branches, and it’s starting to cause more and more problems.

Before committing, update and make sure your code doesn’t over write something important. Merge it with SVN or diff it with a tool such as WinMerge. Or just update before you write code and pray noone else decides to commit before you. Does anyone sometimes miss the days of CVS when once a file was checked out, noone else could touch it.

So please, svn update before you start writing your code(we won’t even discuss code quality/reviews in this post!)

First, let me start this off with a branching strategy proposal. This is what we have at work, and I’m happy to hear comments otherwise, and as to why this sucks. But understand that it generally works for us.

We have 1 product. For the sake of this example, lets call it “PRODUCT”. We run 2 concurrent development cycles. A weekly maintenance cycle, where we fix non-pressing bugs, and a bi-weekly sprint. There are 2 branches created from trunk called “Sprint” and “Maintenance”(shocking name choice I know!). Also for urgent/blocker issues, fixes are made directly into trunk and pushed to production after testing.

9 times out of 10 when I try to reintegrate the sprint or maintenance back into the trunk I get LARGE amounts of conflicts. On files that were never even worked on in one of the branches.

So I will issue command: svn merge –reintegrate http://repo/Sprint
and while some files will update, I will have conflicts on files that are EXACTLY identical(via WinMerge). I don’t know what causes these conflicts.

Why does merging have to be so complicated? I just want a solution that will work for what we need.

So I’m running my Jenkins CI environment on a Amazon AWS EC2 M1.small, and since I went with the default install, the /var/lib/jenkins/jobs folder was rapidly filling up. I was down to 2% free disk space…woops!

So after some research, I decided the best solution was to symlink the jobs folder over to /mnt and move the jobs folder to /mnt

Commands follow:
/etc/init.d/jenkins shutdown
mv /var/lib/jenkins/jobs /mnt/jobs
rmdir /var/lib/jenkins/jobs (might not be needed)
ln -s /mnt/jobs/ /var/lib/jenkins/jobs
/etc/init.d/jenkins restart

This solved my problem, and fixed me up rickytick!

© 2012 Randoms from Blackberry Suffusion theme by Sayontan Sinha