Gifford Pinchot National Forest
Photo Credit: Daniel Betcher

About Me

jesterpm My name is Jesse Morgan. I'm a 23 year old Software Engineer currently working at and living outside of Seattle, WA. Outside of work I enjoy spending time with my wife, camping, hiking, reading, and fiddling with HAM radios. I'm also a member of King County 4x4 Search and Rescue.

Anti-Aircraft Peak

April 01, 2014

April 1st I started Tuesday night hikes with a few friends after work. Only Craig made it for the first hike to Anti-Aircraft Peak.

Lake Sammamish from Anti-Aircraft Peak

We parked at 10TET66806465 (NAD27) and took Clay Pit Rd to Klondike Swamp Trail. The hike was pretty much flat until we turned onto Lost Beagle Trail where we gained 240 ft in 0.7 miles (according to the green trails map). We took the cut over to Tibbetts Marsh then went north to Shangri La Trail. From there it was a short walk to the view point. Coming back down we took Anti-Aircraft Ridge down instead of Lost Beagle and Klondike.

Kenwood Radio Install

March 22, 2014

I recently got a Kenwood TK-780 mobile radio for the Jeep for Search and Rescue. I did a poor job wiring my first HAM radio up and had a lot of trouble with engine noise, so I decided to rip everything out and start from scratch.

The mag mount 2m antenna had been waring a ring into my fender, so I bought two NMO brackets and screwed them into the fender. I was able to get the antennas about 1/4 wavelength away from the windshield while still keeping the screws underneath the lip of the hood.

Drivers side bracket

Jeep provided unused unswitched and switched aux circuits off the fuse box. Previously I used those to power my radio and switch a relay to turn it off with the ignition. This time, in hope of reducing the engine noise, I ran a 10 gauge power (with an inline fuse next to the batter) and ground line from the battery to that relay and moved it onto the firewall on the drivers side. I plan to add a small fuse box for auxiliary power and a terminal strip for radio grounds, but for now the hot lines are just crimped together (with inline fuses to the radios) and the grounds are screwed to the frame.

Power and Relay

My 2m radio is an HTX-252, which is small enough to sit on my dash. I had been avoiding putting holes in the jeep, but since I had started on the outside I decided to continue inside. I opted to mount the radio to the dash in front of the gear shift. I took out the center bezel and drilled two holes. I used machine screws to attach the radio bracket and reinstalled the bezel.

Center Bezel

Radio Installed

5/8λ Public Safety Band Antenna

4-Wheeling at Evan's Creek

September 02, 2013

My dad got a new Jeep (the black one below) that had been built up for 4-wheeling but had never been taken off road. We took it down to Evan’s Creek and ran through the 311 trail.

I’ve been to Evan’s Creek twice and drove the 311 trail each time. There are several other trails (trail map), but it was starting to rain and I had no roof, so we headed home.

Dads Jeep

My Jeep

Photo Location: 10TES809987

SSH by Selection

July 03, 2013

This last week was my first on-call rotation at work. With each issue I was working on, I would usually find myself looking at some dashboard of hostnames and metrics. When I found the suspect machine, I would copy the hostname, open a new terminal, and type ssh hostname. Pretty straightforward, but I still got tired of doing the same repeative actions ad nauseam. I turned to one of my co-workers and said “wouldn’t it be great if I could highlight a hostname, press a button, and have a new shell opened on that host?”

It turns out I can. I use Ubuntu and the i3 window manager at work. X11 has two clipboards: the primary clipboard contains the last selected text and the secondary clipboard is usually filled after you press ctrl+c. I found a utility called xclip which gives me the contents of either in a shell script. Now I have a script, sshclip, which will launch a terminal and connect to whatever is in my primary clipboard. I bound the script to super+g for go-to (really it was the only free key close to ctrl+c).

The script attempts to strip off any surrounding garbage or port numbers from the hostname, so I don’t even need to be picky about what I select.

sshclip is available in my bin/ git repo.

Giving Tree

October 19, 2011

Every year, Foursquare Church has the Christmas Giving Tree. A tree is setup at the church with gift requests on tags. This web based application eases the administrative burden by managing the application process, automatically printing the tags, and tracking which tags have been taken and which have been brought back with gifts.


October 27, 2009

Utilaclock is a simple clock utility. It opens any number of clocks in separate windows. It can also create countdowns and timers. Count downs change color and start counting up after they reach zero. The font size can now be set for each clock.

Utilaclock is available on GitHub. Mac OS X binaries can be downloaded here (pgp signature).

Podcast Producer... Again

September 17, 2009

So, we’re still running Leopard Server because I’m waiting for any snow leopard issues to get ironed out before I upgrade. We were about to put our internal podcast into use when I noticed Podcast Producer forgot how to talk to the Xgrid controller. After spending some time staring to the settings, I finally realized that the Xgrid Controller setting had to be set to the same domain as the Kerberos domain, which in my case is improperly set to Server.local instead of the server’s actual name.

So, for future reference: The xgrid controller address is tied to the kerberos domain.

Art "0" returned score "0" for agent

April 21, 2009

So, I spent quite a bit of time trying to get Podcast Producer running on our not-so-correctly-setup xserve. After getting podcast producer connected to Xgrid I thought everything should work. I fired up Podcast Capture and recorded a screen capture podcast. I pushed publish and watched it go into the Xgrid jobs list. Then I watched it stay in the Xgrid jobs list indefinitely while the lone Xgrid agent sat idle. I searched to no avail, then the project had to sit a while during the Sold Out Youth Conference and Easter services. I started tackling Podcast Producer again today. With a bit of poking I found the last job message in Xgrid admin: “Art “0” returned score “0” for agent”. Interesting. Sticking it in google lead me to the solution to my problem. After updating the UUID, Podcast Producer started working without a hitch. Now to see how it works in production.

Let Them Make a Mess

April 16, 2009

Experience has proven Brent’s rogerism, “let the sheep onto the field and they poop all over it.” But making a mess of things is part of the learning process. If developing leaders are never given a chance to clean up when they make a mess, they will never learn how. They will be stuck at square one; they’ll never get to the point where you don’t fear giving them control.

What should you do? Slow down and teach then get out of the way. Show them what needs to be done and how to do it, then step back. Let them do it themselves. Let them mess up. Be there to support them, but give them a chance to fail. If you don’t risk the result of releasing control, you may never have a mess on your hands, but you’re capping yourself and them. Remember, someone took a risk with you when you were learning.

Perl Trick

February 26, 2009

Even though this site is no where near finished, I wanted to write this down.

I was attempting to mirror the old lighthouse homeschool site, so I fired up wget only to realize the original designer had put the nav into a javascript file to include on each page. Ok, I thought. Nice trick. I remember using that when I was 12… Now how to get all of the pages that wget doesn’t see.

Now I know just about nothing about perl, but I felt like perl would provide the simplest solution. So, for future reference, here’s my snazzy one-liner:

cat | perl -e "while (<>) {
print \"\", /href='([^']+)'>/, \"\n\"
}" | xargs wget -m -p


February 01, 2009

I was in need of an asset management system at Puyallup Foursquare Church, so I developed Assets. I particularly wanted to track computers and what software was installed on each computer, so each asset has a list of associated assets. The database is made up of many items which have a name, an image, and a set of fields. For any item there are zero or more assets. An asset is essentially the manifestation of an item.

Homeschool Co-op System

August 01, 2008

In Auguest of 2008 I was asked to build a online registration system and family directory for Lighthouse Homeschool Co-op. The system was designed to accommodate Lighthouse’s needs while being flexible enough to reuse for another co-op. The system was built using PHP, MySQL, and Facebook Scribe for logging and has been running since the 2009-2010 school year.