Friday, September 2, 2011
Jenkins script for mass-update of email recipients
This is a handy Jenkins Groovy script that can be used to update all the mail recipients for your Maven projects. If you have a ton of projects, this can be way-faster than changing them each by hand. I'm putting this here for the Googling and my own notes.
import hudson.plugins.emailext.*
import hudson.model.*
import hudson.maven.*
import hudson.maven.reporters.*
import hudson.tasks.*
// For each project
for(item in Hudson.instance.items) {
println("JOB : "+item.name);
for( reporter in item.reporters) {
if(reporter instanceof MavenMailer) {
reporter.recipients = "new@email"
}
}
}
Sunday, January 23, 2011
Music of 2010
- Kylie Minogue - Get Outta My Way - 9/3/2010 - 67 - 0.47
- P!nk - So What - 9/24/2010 - 52 - 0.43
- Superchunk - Learned to Surf - 9/24/2010 - 51 - 0.42
- Robyn - Hang With Me - 9/24/2010 - 47 - 0.39
- Drake, Kanye West, Lil Wayne & Eminem - Forever - 9/15/2010 - 47 - 0.36
- The Hold Steady - Hurricane J - 5/15/2010 - 93 - 0.37
- Yolanda Be Cool & Dcup - We No Speak Americano - 10/20/2010 - 28 - 0.29
- Lil Wayne - A Milli - 9/15/2010 - 38 - 0.29
- Taylor Swift - Love Story - 3/16/2010 - 98 - 0.31
- Macklemore - The Town - 8/24/2010 - 42 - 0.27
- The Lonely Forest - Live There - 8/20/2010 - 43 - 0.27
- Passion Pit - Little Secrets - 10/13/2010 - 25 - 0.24
- The Cinematic Orchestra - To Build a Home - 10/3/2010 - 27 - 0.24
- Aloe Blacc - Take Me Back - 9/3/2010 - 35 - 0.25
- Daft Punk - Da Funk - 8/24/2010 - 37 - 0.24
- Fitz & The Tantrums - Dear Mr. President - 8/24/2010 - 36 - 0.24
- Ke$ha - Blah Blah Blah (feat. 3OH!3) - 3/21/2010 - 77 - 0.25
- Balmorhea - Settler - 9/3/2010 - 32 - 0.23
- Ryan Adams - Come Pick Me Up - 8/26/2010 - 33 - 0.22
- James Brown - I Got the Feelin' - 9/2/2010 - 29 - 0.20
Thursday, September 23, 2010
Downhill Furniture Race and 30th Birthday Celebration
Monday, February 1, 2010
Nerd: Trouble with Google Maps API, script tag, and jspx
Saturday, December 19, 2009
The Ferris 2009 Music Top 20
Saturday, September 12, 2009
Urban Death March
We left the apartment around 8am, swung by Cafe Besalu for some killer French pastries and then the hike was on. And boy did we hike:
View Urban Hike in a larger map
The main leg ended up being over nine miles! We hiked the full perimeter of Discovery Park and Magnolia Bluff. Once we got to Interbay, we cheated and caught a bus back to Ballard (because seriously, who hikes Interbay?) for a lunch at Smokin' Pete's BBQ (best brisket + ribs + sweet tea in Seattle, hands down). Add a little more mileage for the walk home, and bang: 10 miles. Crazy stuff.
Monday, September 7, 2009
Drawing the US is Hard
Here is my result (click for a larger version):

All in all, the results are pretty embarrassing, but not a complete failure. Let's look at some of the finer details:
1) Somehow Wisconsin ended up on the left-hand side of Minnesota.
2) Utah snuck up between Nevada and Idaho, when it belongs between Nevada and Colorado.
3) Whoops... where is New Jersey?
4) The NE is a general disaster.
How did yours turn out?
Wednesday, January 28, 2009
Zipcar: Revisited
Our new policy will be that you can make a reservation and then cancel it within 30 minutes (as long as you don't start the car) and there will be no charge for the reservation.Awesome, I say. Zipcar is back in my good graces.
With the new policy if you realize you've forgotten something in a car, you can make a reservation, walk to the car and retrieve your item, then walk home and cancel the reservation. Or you can make and cancel the reservation via your cell phone if you're standing next to the car.
Tuesday, January 27, 2009
Zipcar
1) No 30 minute reservations. Minimum of one hour. If Rachel Ray can cook an entire meal in 30 minutes, then surely I can run a quick errand in 30 minutes as well. LAME.
2) Lost item policy. Forget your gloves in the car? Don't realize it until the next morning? You have to reserve the car for another hour (again, not 30 minutes) to retrieve your gloves. I know I screwed up by forgetting my gloves, but it's a perverse incentive when it's about the same price to buy new gloves as it is to make a reservation for an hour to retrieve the gloves. Plus, the car just sits there for an hour now, unusable by anybody else.
3) No cars near my house. What more can I say?
I place blame for 1) and 2) on Zipcar, since Flexcar never had these problems. I'll cut them some slack on 3) because Flexcar had the same problem. It's mostly my fault for living in a neighborhood where everyone drives.
Venting complete.
Saturday, January 17, 2009
Waffles!

I love waffles. LOVE them. They are possibly my favorite breakfast food, which is saying a lot, because I love most all breakfast foods. LOVE. To me, a waffle is this crispy-on-the-outside, soft-on-the-inside, buttery-all-over dimpled round of perfection. Eaten hot off the iron with butter, syrup, jam, etc, it simply can't be beat.
Sadly, for oh so many, a waffle is a frozen disc pulled from the freezer, maybe toasted or more likely microwaved until it reaches the consistency of a warmed-over kitchen sponge. It's nasty! Sure, if you put enough syrup on it, maybe you'll forget that you're eating a waffle at all, especially once you go into a sugar coma. But the world deserves better!
As such, I've made a habit of giving people waffle irons as wedding presents, whether they ask for one or not. But getting the right waffle iron is tricky. Personally, I am blessed with not one, but three waffle irons:

The white NC State-ified model on the left is a Sunbeam-Oster model that my sister Elizabeth gave me back when I left for college. Ten years later, it is still a solid workhorse that has been there through the good times (like that time I had waffles for breakfast) and bad (like that time I spilled waffle batter on my keyboard in the dorm room while having waffles for breakfast).
The Cuisinart on the right is a special heart-shaped waffle iron that I gave to Amy as a Chritmas present a few years back. It tends to make very thin waffles that get extra crispy as result, but are just a little too thin for my tastes.
The model in the middle is the Cuisinart (Model WMR-CA), which we received as a wedding present. This model is interesting, because it's the same model I tend to give as wedding presents to other people, mostly because it's the one waffle iron that Bed, Bath, and Beyond typically carries as a floor model. Thus, it's pretty ubiquitous.
Having given this waffle iron as a present many a time, I am a little embarrassed to admit that I'd never actually used one myself. My first reactions were not good: my waffles tend to cook way too quickly, burrning the outside before the middle could finish, which ultimatetly meant that the two sides of the waffle stuck to the iron, ripping the waffle in half when you opened it up. Not good.
Part of this is a function of my waffle recipe. My favorite by far is the Light, Crisp Waffle recipe from Fine Cooking. When done right, these waffles live up to their name: crisp on the outside, light and fluffy on the inside. As a bonus, they will stay crisp when left in the oven at 200ยบ, which is key when you want to serve waffles to a group of people at the same time, but don't want your waffles to get all soggy while you build up a sufficient stockpile for service. The recipe is a little extra work, including separating an egg and beating the egg whites with a hand mixer, but again, the result can be awesome.
Except the light-and-crispy action that makes this waffle so good make it susceptible to pulling apart in the waffle iron as I described above. A more typical recipe (see Alton Brown's, for example) is a little thicker so the resulting waffle holds together better. But it's not as light and tasty!
I've since learned a few tricks that have brought this waffle iron back in my good graces.
1) Grease the waffle iron. Yes, I know, the waffle iron already has a non-stick surface, but an extra hit of cooking spray will go a long way towards keeping your waffles from sticking.
2) Keep the waffle iron on the lowest heat setting. For my iron, anything hotter than that would cook the outside of the waffle way too fast. Your mileage may vary, of course.
3) Ignore the red-light green-light for knowing when your waffle is done. While the light may be ok for determing when your waffle iron is hot enough to add batter, it doesn't seem to be a good indicator of when your waffle is done. Instead, I just set a kitchen timer. On the three of my waffle irons, 3 minutes is about the perfect amount of time to cook a waffle, so you might try that as well, and adjust to taste.
Tuesday, December 23, 2008
Pie Time

Yes, my friends, that's an Apple Bacon Cheddar pie. It remains to be seen if it's actually tasty, but those of you attending Arun and Rachel's holiday party will get to find out. We also made a cherry pie:

Finally, we made a chocolate-peanut butter cream pie, not pictured here. I'd like to think that I imparted some knowledge of making crust to Melanie, but she's mostly right that I'm a control freak in the kitchen. Sorry Melanie!
My Mom's New Dog

She's a French bulldog named Georgie, Gi-Gi, Georgette or something like that. She's a rescue dog from a puppy mill, but she seems to be quickly on her way back to health under my mom's care. For the snort-tastic effects of Gi's battle with a respiratory infection, make sure to watch this with your sound on:
See more photos in the Flickr set.
Saturday, December 13, 2008
Pie Drives the Traffic
I noticed a bump in my blog traffic the day before Thanksgivig. Wow, 50 visits in one day! I'm big time...
It took me a few minutes to figure out why I was getting all the traffic, until I figured out which page everyone was visiting from Google:
Pie Crust For Fun and ProfitGotta love the pie.
Friday, November 21, 2008
Domestic Me
Our refrigerator door has never been very good about closing, but things got particularly bad in the last week. Specifically, a few chunks of mangled plastic fell off the base of the door and suddenly it didn't want to close at all. To actually get it to close, you had to physically lift the door about an inch and shove it into place. Not exactly great.
I decided to try to fix it myself, since getting our landlord and most likely a repairmen involved seemed like a pain. I'm posting this mostly so anyone Googling about their GE Model # TFF22RC or TFF22RCB refrigerator and its broken door might learn something useful.After looking at the mangled pieces of plastic at the base of the door and comparing them against the working parts at the base of the freezer door and against the GE parts manual (door parts only), I figured out that the part I needed was drawing part # 16 or the Hinge Cam Riser (full part #WR2X4901). I actually needed two, since both the cam attached to the hinge and the door itself were broken.
The parts from GE were $10 each (scam!), but I found them online for $5.99 for a pack of two. Score.
The hardest part of removing the door was transferring all the condiments from the door into the fridge proper. Then I just unbolted the bracket at the top of the door and there you are:

I taped some plastic where the door used to be, since the operation takes some time. At this point you can get a clearer look at the hinge and the mangled cam:
Good as new. I put the door back in place and now it closes like charm.
Wednesday, November 19, 2008
OneBusAway
So I've been working on a project called http://onebusaway.org/ since early summer. OneBusAway provides an easy-to-use interface to real-time bus tracking data provided by Metro King County. The main killer feature is a phone number you can call, punch in your bus number, and the system will then tell you the predicted arrival time for the buses at that stop. The key here is "predicted", as the system can tell you when your bus is running late or if it's already gone by. OneBusAway is made for all the cold and rainy nights here in Seattle when you can't help but wonder if your bus is ever going to come. In addition to the phone number, there is a website, iphone, and SMS interface.
The system currently gets about 400 hits a day on the website. It's interesting to see the usage patterns:The main thing to note is that people don't ride the bus as much on the weekends ;)
OneBusAway has been written about in a couple of local blogs: Seattle Transit Blog and Bus Chick, to mention. However, OneBusAway hit the big time when we are actually mentioned in honest-to-god print media:
OneBusAway in Seattle Magazine!
Ok, I realize that's just a link to a website, but here's proof that it appeared in the actual print edition:
Tuesday, November 18, 2008
San Luis Obispo to Yosemite Valley
Last weekend, I rendezvoused with my sister Elizabeth and my dad down in San Luis Obispo, where my dad is working. After taking in the local wildlife:

we piled in my dad's truck and headed for Yosemite National Park. Yosemite, to put it simply, is awesome. A valley of steep granite cliffs carved by glaciers, the views are incredible.

Yosemite is full of iconic scenery: Half Dome, El Capitan, Yosemite Falls:
Yosemite is also full of bears. You have to keep your food locked up at all times in steel bear boxes, as the bears have no qualms ripping the door off your car to grab a loaf of bread sitting inside. Though my sister Frances lost her entire weeks worth of food to a bear the last time we were in Yosemite (his name was Yogi I guess?), we had no run-ins this time. We also had no run-ins with showers either. The hat head was epic:
Our intrepid crew went on one hike while we there: the 4.6 mile, 3400 vertical feet trail to Glacier Point. Note the squiggly line with all the switch backs that goes straight up the side of the mountain:

The hike was tough, but the views were worth it:
Friday, November 7, 2008
Lego Mindstorm Drawing Robot
Back in the fall of 2007 (yup, I've been delinquent about posting this), I took a class in the School of Art here at UW called ART 383 - Interaction Design - Designing Behaviors. The class basically involved building cool interactive robots with Leog Mindstorm robotic kits. What's not to love about that?
My team built a drawing robot:
We called it the Spydr bot: it hung on a white board using two almost invisible strands of fishing line, making it appear to float in space as it moved over the surface of the board.
Once we worked out the crazy math involved in converting geometric drawing commands into the proper motor controls, we could do some relatively precise drawing:
From there, the sky is the limit. Check out this highly stylized Mona Lisa:
The class was a blast, and though it didn't put me any closer to graduation, I would definitely take it again. I mean, come on. Legos!
Sunday, June 29, 2008
Pie Transport
I went over to watch the Eurocup 2008 final at a friends house today and I promised I would bring a pie. Here is the pie:

I've never made a blueberry pie before. Seemed to turn out ok. My friend lives a little over 7 miles away in Mt. Baker. Getting there by bus would have required two transfers, so I decided to bike it. That means I needed some sort of pie transport unit for my bike. Thanks to Emily and Mark's recent wedding present and a little bit of ingenuity, I came up with the following:

It actually worked really well in that the pie made it with narry a misplaced berry. I wish I could say the same. I sort of got "lost" on my way there and ended up going up and down a few too many hills in Madrona. I earned my piece of pie to say the least.
Monday, March 10, 2008
Google Reader Shortcut Bug
Procrastinators of the world! Troubling news...
I'm a big fan of Google Reader, and by big fan I mean total addict. I need my feeds and I need them now. However, it looks like there was an update to the program last Wednesday, and I've got bugs! Specifically, I'm a big fan of the keyboard shortcuts (j and k for life) and they are not working like they should. When I click a link to read a story, read said story, close the tab and come back to Google Reader, the keyboard shortcuts don't work until I click in the window. I've confirmed the bug on Firefox 2.0.0.12 on both Mac OS X and Linux. This may sound trivial, but it has really cut into my procrastination productivity.
If you are a fan of Google Reader (bonus points if you are reading this in Google Reader right now) and have also noticed this bug, let Google know by posting a message to the bug's thread on the official Google Reader problems forum.














