Sort of a shorter post this week, beginning with a funny tidbit I forgot to mention last week. On the plane, during takeoff procedures, the flight crew added this bit to their safety briefing: “The FAA has instructed us to inform those of you who are in possession of a Samsung Galaxy Note 7, that your phone must remain off for the entire duration of the trip.” These phone models, you see, have a tendency to explode.
This week I got to have breakfast with some Googler BYU alumni and a visiting professor. It was pretty slick. We spoke a bit about what we do, then got into BYU business – what’s changed in the department, who’s retiring, etc. One of the main topics of discussion was a debate over what language should be taught as a first programming language to students. It was Java when I went through, then switched to C/C++ a bit before I graduated. Now they’re thinking they might move to Python. These shifts are made in response to what the college feels is best for graduates to know when seeking jobs. Anyways, fun times. Turns out that someone at that breakfast goes to my singles ward, had no idea.
Aside from that, I’ve mainly just had my nose to the grindstone getting ready for the presentation coming up next week at the conference in Tokyo, and getting on top of a new project I just got assigned, very involved and complex. Which is a good problem to have, all considered.
—
And, that’s where my weekly missive would have ended, had I not procrastinated posting this. About three hours ago I got a call from someone who’d gotten baptized yesterday – his family is devout Jehovah’s Witness and he was gonna need a new place to stay once he joined the Church. I’d been arranging with him to have him move in in a couple weeks. But turns out, tonight was a good time to get him all moved out, and would I be at all ok with having him over sooner, please and thank you.
It was quite the contrast to how I moved into the apartment at the beginning of my time here: bright, sunny weather, with family to help carry stuff in. Tonight it was cold, dark rainy, a move necessitated by being removed from his family’s home. There were five or six ward members helping him move things into the apartment, which made everything very fast.
So the long and the short of it is, I now have a roommate, after weeks of being on my own. Gonna be a bit of an adjustment I think, but he’s a really cool guy, happy to have him here, and glad I could help him out during this little transition period.
Bridge we passed under on the bus to the Google building in Seattle, where we had our alumni breakfast.Neato laptop skin I spotted at church today.The girls had just beaten the guys in Four-on-the-Couch.
This week at Police Academy we had quick-fire presentations from a hostage negotiator, S.W.A.T., and a guy who specializes in Tasers – he’s currently finishing up an undergrad research project on the subject, while he works on the force.
Pretty cunning, don’t you think?Some ‘tools of the trade’
The Taser guy asked, up front, if we’d rather spend the whole hour on Tasers, or if we’d want to go over the basic rules of use-of-force. You can guess what I was interested in. Sadly, the vocal majority wanted to cover use-of-force, so that’s what we talked about.
We did have some time at the end to cover Tasers. The officer was aiming to make a strong case for why they’re one of the most impactful tools of police work to be invented in the past 50 years, due to the lives they save. He illustrated this by showing recordings of violent criminals being brought down non-lethally by Tasers. Unfortunately, for the elderly woman sitting next to me at least, people being Tasered do not go down silently. The videos were pretty hard to watch for her, with the screaming and yelling. It didn’t help that the officer presenting to us was cheering on the officers, laughing, saying how cool this all was. You’re not helping your case, bud. Of course, I was super into it, but it would’ve been nice to get the others on board as well. But it might’ve been a lost cause anyways; one video showed a violent dog attacking officers. One officer drew his gun, and would’ve been entirely within his rights to shoot the dog dead. But instead another officer Tasered the dog, who fell over whimpering for five or six seconds before getting up and scampering away. To which the old woman muttered, “Oh that poor dog.” And I’m thinking, well yeah, sad he got hurt, but at least he’s alive.
Anyways. Oh, I keep forgetting to mention, but the Kirkland Police Department is set up in basically a retrofitted Costco building. They carted out all the shelves, and built up walls for offices, and fit a jail in there as well. They’re currently working on putting ceilings on the conference rooms, since without them any loud conversations in the hallways or offices can be heard a long ways off.
So the big event of the week was McCall’s wedding! I flew in Thursday night, and headed down to Provo to check in with an old friend, and to see my old roommates.
In Washington I’ve taken up the habit of having Google Maps get me everywhere I need to be, except for places I frequent and have figured out how to get to. So I start whipping my phone out and calling up navigation directions down to Provo, bug I realize, Hey, this is my hometown, I know how to get around. Don’t need no new-fangled gee pee ess.
I want to reference this song, which accurately “illustrates” how I felt driving back in Utah, on familiar highways, where 80 mph is a perfectly acceptable average speed.
So I spent an hour or so catching up with a friend, cooking up popcorn and swapping stories. Darted from there to my old roommates, to catch up and watch some Battlestar Galactica.
Eventually got out of Provo at 2:00 am to head up to Alpine. Seeing as how I hadn’t gotten much sleep the night prior, I was especially tired. It was a weird feeling, barreling up the highway, trying to keep myself from crashing and burning. You know how when you’re driving normally, and you need to do something like change lanes to get around a slow driver, you don’t need to think about every individual action; your years of driving have burned in almost-automatic responses, so you can just decide to change lanes and do it without too much fuss. Well this evening (morning?) my autopilot was completely offline. Lessee, I think I’d better change lanes. Am I too close to the car ahead of me? Let’s check to the left… make sure my speed’s ok… turn… slowly turn… am I turning too fast? Better dial it back. Ok, I’m over enough, better straighten out… and increase speed… And not only did I have to think about each task, but they were all super hard. But I survived to crash another day.
The wedding was just great, made moreso by the bride’s siblings’ outfits.
Photo credit: someone not me; pulled this from Facebook.
Ended up helping set up at the reception afterwards. Which again, thanks in large part to Morgan, was a ball. Literally, there was a ball of disco spinning around up there.
The next day, Saturday, we spent on a family hike. The original plan was to do Donut Falls, then eat at the Silver Spoon afterwards, a nice little restaurant farther up the canyon. Unfortunately, when we arrived we realized that Scout was gonna be even more trouble than he usually is. The rivers up that canyon are routed into potable drinking systems, and dogs aren’t allowed anywhere in the canyon. We ended up heading to a neighboring canyon and hiking that instead, eating at Barbacoa on the way out.
Headed back, got a bit of shut-eye, then headed down south to Provo to see my roommates and watch a pivotal two-parter of Battlestar Galactica. I also was on a mission to check out The Worthing Saga from BYU’s library, which I’ll return when I’m back in town next.
Before all that, I decided to stop in and see the Thomases. Turned out to be great timing, they showed up about 15 seconds after I arrived. Had a great little visit. Got to see John again, for the first time since he left on his mission. And got some great advice for things to do in Tokyo later this month.
After Provo, I made record time up to SLC to see Lauren and her husband Antony for dinner at a nice Italian place, as a thank-you for doing the work on her wedding website. After eating entirely too much there, I stopped by a friend in Holladay before getting back to Alpine just after midnight.
Last night I had a dream where I was at a family reunion, and a group of us got in a wagon-sort-of-thing that was actually an airplane, just to borrow it for the morning. We took off, and I noticed we were heading straight for a helicopter. I look over and Evan & Driel’s daughter, Moriah, is piloting us. “Hey, do you know how to fly this?” “I do not, and we’re going to have an adventure!” I reach over and take the controls, trying to avoid the helicopter ahead as well as the greenery overhead, as we’re in some kind of huge forest. I have no control over the throttle however, since the gas pedals are at the floor, where Moriah’s still sitting. Several arcs and dips later and I crash the plane, only a little bit. Morgan had lost consciousness for a bit during one of the maneuvers and had to be taken to a hospital, but other than that everyone was unharmed. Felt bad about the wagon-plane, though, the rest of the family had been looking forward to using it later on.
Sunday, today, was just great, relaxing with Conference on, Steve & Lauren over, along with Grandma. Played a great mystery game of Mattie’s choice. Had to leave for the airport just as I was wreaking havok on a group of intrepid explorers as an over-powered mummy.
On the way through security, my backpack was flagged by the X-ray technician. Oh boy, what is it this time. I made extra sure to leave any knives at home. At the examination table, the TSA agent pulled out a couple things I’d completely forgotten were in there.
The first was a Zippo-like lighter, that uses electrical arcs to ignite flames, instead of gas. “What’s this?” “Oh, it’s just an electric lighter, I use it to light fires.” Not helping your case there, pal. “…when I’m camping.” He set it aside.
The second thing he pulled out was a small tube of gallium. Gallium is a very neat metal that’s liquid at just-above-room-temperature. I got it for Christmas a couple years ago. Makes for a neat demonstration, putting it in warm water for a bit and coming out with something that behaves a bit like mercury.
Something else that makes gallium cool is what it does to aluminium. Aluminium soaks up gallium like a sponge, which then leaves the original aluminum extremely brittle and easy to tear apart. See this video for a demonstration of its effects on a soda can. The tube has a hazardous-material symbol, but it’s not corrosive to human skin, just aluminium.
So, given all that, when the agent pulled out the gallium and asked what it was, I wanted to put his mind at ease that I wasn’t carrying anything that was dangerous to handle. “Oh, it’s just gallium. It’s not corrosive to humans, just aluminium.”
…
It was one of those moments I knew immediately I’d want to have as a do-over. Needless to say, they weren’t letting it on the plane, the high-altitude high-speed machine with an aluminium airframe. At least they let me keep my lighter.
On the way to my gate, I ran into Jake Stucki, heading back to LA after a weekend in town for Conference. On the way to baggage claim in Seattle, I ran into a couple from the Redmond ward. She’d gone to BYU to study nursing back in the day, and he’d actually been my current bishop’s predecessor in the YSA ward. Small world.
Retrieved my baggage. Noticed that both of the zipper handles were missing. shrug Caught a shuttle to the parking lot, picked up my car, headed north to my apartment, took just under half an hour. Was looking forward to getting to bed before midnight. Pulled in, parked, thought to myself, It’s gonna be a pain dragging that luggage up the stairs. Huh, that’s funny, I can’t remember lifting it into the carohhhhhhssshhhhhoooooooootttt. And that’s the story of how I ended up making that half-hour trip three times tonight to go retrieve my luggage I’d left at the airport parking lot.
So, a lot of driving, a lot of visiting, darting all over the place, that pretty well describes my weekend. But it was a blast to be back in town for a while. Felt like I hadn’t even left, really. Can’t wait to head back for Thanksgiving.
People like to rag on new parents for stating their infants’ ages in terms of weeks, even when that number tends towards the high double-digits. I’m beginning to have an appreciation for their mindset, though. “How long’ve you been here?” “Oh, six weeks now.” Wait, six weeks? That’s over a month, I’ve been here a month and a half? No way.
Last week during Elders Quorum someone announced that they’d become engaged. At this news they received a smattering of applause, a far cry from the hooplah we did in my Provo YSA ward’s EQ – standing ovation going on for a good half-minute. And repeated for everyone who got engaged over the prior week, which I believe was three at one point.
For the third hour we had our mix-n-mingle, the thing I didn’t end up bringing musubi to. Sat next to a guy who, it turns out, works as a cook in one of Google’s cafés. I learned from him that the cooks there generally have a bad opinion of most Googlers – a pretentious bunch, I guess. I now try and do my best to be a good example when ordering food. Not that I wasn’t already nice and everything, but now there’s a purpose behind it.
This week at work I was able to move desks, to be closer to the rest of my team. When I started, the nearest open desk was in the next “area” over, with a wall mostly separating us. I’d have to walk over if I wanted to ask a question or get in on a group discussion. My great-grand-manager was doing a walkthrough a couple weeks ago, saw the situation, and committed to fixing it.
So now I have a new desk. Unfortunately it’s a really old one, kinda broken, the motor doesn’t work too well. But hey, none of my old desks even had motors, so I aint complaining. Much.
First world problem: Oh shoot, in the position my head is in I can just make eye contact with that guy through the gap between my monitors. Better shift myself so I don’t make things awkward. Oh great, he shifted position as well, now we can stare at each other again.
Now that I was with the rest of my team, we could have impromptu group conversations. Including the one where I had to remember I wasn’t at church. Topic of discussion was faster-than-light travel, and how it’ll probably never happen, and how sad it is that we’ll never get to go and visit Alpha Centauri. Had to suppress the thought to say, Well, we can just wait till we’re in the Celestial Kingdom, problem solved right? I think it might’ve fallen flat.
During the week I felt my beard was getting a bit frizzly, so I got a quick trim at the in-house hair stylist. She’s a really nice lady who happened to have a spare 15 minutes when I walked by asking for an appointment. Used this really cool setup – a trimmer, attached to a vacuum hose to suck up the cut hair. Didn’t do a perfect job, I was spitting beard hairs out of my mouth for a while afterwards due to an ill-advised attempt to continue conversing during the trim.
The result looked good. Although, I’ve only ever had my beard trimmed as part of a regular haircut, so the result was a bit wonky-looking at first, as though my hair was a bit too big for my face.
Speaking of beards, I have to take the opportunity to post a very relevant meme, that I should have done on week 1. Now that I’m free of BYU’s anti-beard policy…
On Wednesday I attended week 2 of the Police Citizen Academy thing. This week was arguably one of the only reasons I’d signed up in the first place: firearms training. I was reeeallly looking forward to being able to fire a fully automatic weapon. And the class was three hours, so there’d be plenty of time.
Wrong. First two hours were Q&A. And they explicitly stated they were catering to the “lowest common denominator”, those who had no idea what guns were all about. Which, I do appreciate that, I think it’s really important to educate people about guns, so they’re not as strange and threatening. We were finally done and ready to go to the range, but they only had two instructors, so they had one go on ahead with those in the class who’d never fired a gun before, which turned out to be the majority. The eight of us who remained just chilled out in the room, chatting with the lead instructor. Who, by the way, was doing an excellent job channeling his inner Colonel Quaritch.
Eventually the first group was done. One lady, who’d sat next to me during the first part, came out and broke down in tears. Once inside, we took turns firing a standard issue handgun at targets hanging in front of a big pile of shredded up tires, to absorb the bullets. That took a while, long enough in fact that we got kicked off of the range. We did have enough time to see one of the instructors fire off a couple different types of automatic rifles, but couldn’t fire them ourselves. Dag nabbit.
Everything on the top shelf came from the personal collection of the lead instructor. I’m gonna head to his place for the zombie apocalypse.
So, the big adventure of the week was building my computer and getting it all set up. For the build process, I’ll let the pictures do the talking.
“For which of you, intending to build a server, sitteth not down first, and counteth the components, whether he have sufficient to finish it?”Such a little thing.
It was really looking great, all black and clean. So of course, of course I had to go and nick the top of the case with the power cord as I was shifting it around, so now there’s a nice sliver of silver permanently adorning the case, always and forever, a testament to my hubris. I aimed too high and I paid the price.
The next set of hurdles involved installing an operating system. I wanted something with low-overhead, no graphical interface, just something that could drive a file server and Plex. I’ve had great experiences with Ubuntu in the past, so I went with that. I’d done some preliminary research online and it looked like I could be in for a rough time of it though, seeing as how the hardware I’d gotten was more optimized for something like Windows.
Looking back on it now, it feels a lot like a video game. Steady progression towards the goal, periodically interrupted by a seemingly-insurmountable challenge. I prepped by plugging it into an HDMI input on my TV and using a borrowed keyboard from work.
First step was to generate a bootable USB drive from a downloaded ISO image. I hadn’t gotten an optical drive, see, so I couldn’t burn it. After some fiddling with the boot order in the BIOS and picking the specific partition on the drive to boot from, I was in the installer. That was a relief, most of the problems I’d read about would’ve precluded me from getting even that far.
Installation proceeded just fine, until it was time to reboot into the newly-minted OS. On boot I got this lovely screen:
This went on for about 30 seconds, and then the screen would just die. The computer was still on though, I could hear the fans spinning. Google seemed to suggest that the error messages could be fixed by updating the BIOS. I proceeded to do so, and the errors made themselves scarce. Screen still died on boot though.
The fans were on though, and I had a hunch. Had it boot up, then go to black. On the keyboard, I tapped, “j… e… f… f… <enter>… p… a… s… s… w… o… r… d… <enter>… r… e… b… o… o… t… <enter>.
Waited for a few seconds, and then voila, the BIOS splash screen came up on the screen! Since I was able to trigger a reboot from the keyboard like that, it was definitely just a screen issue. And since I’d elected to install OpenSSH server during setup…
I was in. I could set it up just fine over SSH, without needing a screen at all. Still, it would be nice to be able to troubleshoot things if a network connection was unavailable. More Googling suggested I could fix this by adding a magic incantation to the bootloader config. Made the change, rebooted, and…
Had to do a different change to make it persistent. Did that, rebooted, kernel panic. Carefully tried to find out exactly what I’d done to make it panic, but it never did panic again, even with nothing having changed. Ghost in the machine I guess.
Alright, so I’m in, external monitor works if I need it. I start installing software and setting things up. Everything seems quite slow. I download a script to use Speedtest.net and measure my bandwidth. Ten mbps down, 2 up. Which is about as good network speed as we get at home in Alpine. Read: crime against humanity. My complex has access to Comcast, and I should be getting 2000 mbps down, 200 up. My router is old enough that it can only do about 600 down, which I plan to address one of these weeks. But still, only 10 megabits? I ran simultaneous tests on both my Raspberry Pi and the new server, both hardwired into the router. Full speed on the former, pitiful speed on the latter. If I couldn’t fix this, the server’s utility would be nearly nonexistent.
One mighty suspicious metric from the speed test was a ping time of over 2 seconds. By contrast, my Pi was pinging at about 20 milliseconds. I tried simultaneously pinging the same site on both machines. The server took about two seconds to start pinging, but once it did it was pinging at the same rate as the Pi. This suggested a DNS problem. Sure enough, when pinging by IP address it was just as fast as the Pi.
I interrupt this tale for some context. Whenever computers talk to each other over the Internet, they use IP addresses, groups of four numbers that together constitute the network address of a machine. You can think of these numbers like phone numbers. You need someone’s number if you’re gonna call them.
Thing is, it’s annoying to have to remember phone numbers, so most of us use address books. The Internet’s address book is called DNS, for Domain Name System. It handles translation from friendly-looking names (like google.com) to IP addresses (like 216.58.193.78). (You can try it, go ahead and copy/paste that IP address into your browser address bar.)
So, I have my Raspberry Pi set up in the corner of the living room, serving a very important function. I’ve instructed my router to hand out the IP address of the Pi to every network-connected device in my apartment, as the DNS server. My devices are basically told that if they want a name translated into an IP address, they’re to consult my Pi first. I also provide a couple backup IP addresses for globally-available services, in case my Pi is unavailable or off.
My Pi is receiving these lookup requests, and forwarding them off to a “real” DNS lookup service. However, for any website that’s associated with serving ads, it does not forward that request on, instead replying with a bogus IP address. The end result is that ads are blocked on every device in my apartment, without any need for device software. It also means that I can keep tabs on where my smart TV is phoning home to, and keep it from doing so if I want, by blacklisting the domains it’s using.
So anyways, back to my tale. The server’s DNS lookup is exceedingly slow. I try pinging the Pi, and get a “Destination host unreachable” error. Wut. I’m SSH’d into the machine, it’s obviously on the local network. And I can SSH into the Pi, so it is as well. I ping around on the server, and it turns out that it can ping out of the network, and it can ping wireless devices, but it cannot ping any wired device, those plugged directly into the back of the router, as the Pi is.
This explains the slow ping startup speed from earlier. The server was trying to reach out to my Pi to have it translate the name of whatever server I was trying to ping. (I learned how to ping from Dad, way back when, and the server he always used was www.toyota.com, so that’s the server I always use – old habits die hard.) After waiting 2 seconds for the Pi to respond, it failed over to the next DNS server on the list, the external one I’d set up in case the Pi was unavailable.
I highly suspected it was now a router issue. I’m running dd-wrt on it, which is open-source router firmware. Not inconceivable that it could have a bug in it. And it’s pretty old, I initially set it up back in 2013.
Back to Google. I found an extremely relevant query from someone else in a nearly identical situation. Following up on this, and I found two commands I can run from the router’s admin page to fix things. I did so, and pinging magically works! Re-running the speed test, I found I’m up to full speed.
Hmm, I wonder. My sound bar has Google Cast built in, so I can send audio to it from my phone. And the bar is wired in, just the same as the Pi and server. And casting has always been super slow to start up. Could it be that I’ve been seeing symptoms of this DNS connectivity issue this entire time? I tried casting music from my phone to the bar, and it was suddenly over twice as fast as before.
After all that, all I can say is, thank heavens for Stackoverflow.com.
On Friday we had our third weekly movie night, The Way Way Back. I’d tried to show both this one and About Time to my prior ward, but never got any interest. Very gratified to be able to show these to this crowd.
On Saturday I headed out with some friends to explore Seattle. I’d been looking for an excuse to head over there.
Spied this on the way out, good times.Such contrast, much humor.
We met up with some other friends for dinner. We arrived at the mall early, so went walking around. I spied a RadioShack and darted in to get parts for a stereo mixer, to be used with the Echo Dot when it arrives. My friends took the opportunity to dart into a cosmetics store and get some mascara. I think we were both happy with our choices.
I mentioned last week that I was nervous about the place falling into disarray. It has begun: after trying to make my bed and not being able to get the top sheet to sit all the way under the blanket, I realize that it’s because the sheet has somehow rotated a full 90 degrees.
There may not be much of a status update next week, as I’ll be back in Utah for Callie’s wedding. Can not wait to be back. As you can see, I’ve really been outdoing myself in the cooking department. Behold my Fast Sunday dinner:
I leave you with an interesting quote from the book I’m frantically trying to finish before getting home this next weekend: