Fix for Sonos SMB login failures after upgrading to Debian Stretch

So, yesterday I upgraded my Raspberry Pi from Raspbian Jessie to Stretch using this helpful post on the Raspberry Pi site. Everything went smoothly, except my Sonos couldn’t connect afterwards. This is a critical issue in our household, as the Pi hosts our brown noise mp3. Everything worked before the upgrade, and I could connect from my Mac to the SMB share. But Sonos refused. What gives?

Sonos uses the older NTLM authentication scheme to connect to SMB shares. The version of Samba that comes in Debian Stretch has that disabled by default. The fix was to add the following to the smb.conf file:

ntlm auth=yes

After this addition, Sonos was once again able to connect to the share, and the entire family was able to sleep like logs after a long day.

I subscribe to Craft Coffee, a coffee delivery service from New York. I’ve been pretty happy with the quality for the price and the customer service. One their site, they ask you to rate the coffees, and I had been brutally honest with my ratings. I had been feeling like the roasts I’d been getting recently were darker than I’d have liked. Today, I got an e-mail from their customer service suggesting I might be happier with a lighter roast, and offered to change my subscription for me. Folks, that’s how you do customer service.

If you sign up for Craft Coffee and use my referral code amy-jd7, you’ll get a discount and I’ll get some free coffee. Win-win!

Migration from DreamHost to DigitalOcean

This past weekend, I felt like undertaking an old school nerd project. I decided to see if I could host my websites on a $5/mo DigitalOcean VPS as well as I can on my $10/mo DreamHost shared hosting site. Turns out to have been a huge success.

DreamHost has been just fine for my purposes. I signed up ages ago and have a $10/mo unlimited account. Unlimited disk, traffic, domains hosted, etc. It has worked just fine. But, I don’t know if I’m getting $120/mo worth of value given how much (or little) I actually use it. At one point, in the mid 2000s when blogging was cool, I hosted sites for a few friends and family members. Over time, that’s all faded to black. All that’s really left is this site and the database remains of the others – domains long since expired.

DreamHost offered a good one stop shop for everything related to getting a site up. But, as virtualization and things like Infrastructure as a Service have started to shake up the landscape, a shared hosting service isn’t as awesome as it once was.

I looked at moving to Squarespace, but the $8/mo service for one site wasn’t giving me any value. I’ve been using WordPress for years, and (at the time) didn’t want to undertake a full blown CMS/platform migration. I wanted to lift and ship my site.

I spun up a 512MB/20GB Debian box on DigitalOcean, locked it down security-wise, and installed Apache, PHP, and MySQL. I setup the core config for running virtual domains. I rsync’d over my site, exported my database and imported it, and ta-da!

If only it was really that simple. I kept running into issues where the underlying file system path was embedded in configurations that I didn’t know about, generating random 500 errors on the backend that presented itself as a blank page in the browser. Sometimes it would load. Sometimes it wouldn’t. Time to start Googling….

The super cache plugin really did not care for being moved. It was the core of my problems. I ended up having to delete all of my plugins and reinstall them to get everything working. And that’s when I ran into a screen I had never seen before. An hour here, 45 minutes there, and it seemed to be working as well as ever.

Given that I have 512MB of RAM on my VPS, I started evaluating what I could do to streamline things further. I decided I needed to dump Apache and go to Nginx. Nginx is designed to be light and fast and not fall down under load. Just what I need!

After this point, it was normal “learning new software” hiccups. The homepage would load, but the categories would throw 404s, etc. It all came down to a few settings in the site’s nginx config file to get it to pass everything to WordPress that it should. By Sunday, everything was fully running, and I had updated my DNS and all that fun stuff.

Later, I’ll talk about Cloudflare and moving to SSL-only.

I’ve been messing with the backend of the site for the past week or so. Today I noticed that my oldest posts are from 2005. Here’s to 10 years of running a blog without posting to it except for about once a year!

Getting creeped out on the road…

So, last night was the first time I’ve ever been creeped out by something on the road. I’ve only been doing this 3 years, so I don’t know if I’m ahead or behind the curve on this.

Last night, had an uneventful flight from Chicago O’Hare to Richmond, VA. Guy next to me in first (737 with 20 first class seats on a 9:30pm arrival into Richmond, VA. Everyone got upgraded) came on at the end of boarding, out of breath after clearly running through the airport. We exchange pleasantries, we settle into our headphones-and-TV shows (Top Gear, Season 21, Episodes 2 and 3 for those playing at home). As we get ready to land, he leans over and comments on the two “gentlemen” that had talked over the security demonstration by borderline screaming at each other and talked the whole flight. We both agree they’re giant douchebags. We land, wish each other safe travel, and go our separate ways.

Get to the Richmond Marriott around 10:15pm, which is good time considering Richmond got 4 inches of snow that day. Hit the room, lounge is closed for the night, so I head down to the hotel restaurant. Now, I’m not a real social butterfly. I’m an introvert by nature, so as much as I like to chat with people I know, I find meeting new people exhausting. I’m not a “sit at the bar and nurse a beer and talk about the kids with Bob the insurance salesman from Kansas” kind of guy. So, I ask for a table rather than sitting at the bar.

I’m seated, waitress brings a glass of water, and I’m looking at the Vanilla Porter they have on tap and a burger (it’d been 10 hours since lunch, leave me alone). I’m on my iPad reading Twitter or whatever, and happen to notice someone walk in, and sit at the table next to mine (2 tops, half booth, 2 tables on this wall). It strikes me as odd, as there was a “please wait to be seated” sign, and no one took him to his table.

“Hey buddy, how’s it going?” Some random guy in a grey hoodie has sat next to me. “Hi.” Back to the iPad. “Whatcha drinking?” I look in front of me at the glass of water and say “Just a water.” And go back to the iPad. “I was going to offer to buy you a drink.”

At this point, I’m uncomfortable. The guy has exceeded being friendly and is now genuinely annoying me. “Thanks, but I’m good.” And I go back to the iPad. He motions for me to lean in, and he points to a group of people about 20 feet away. “Ten guys and one girl. How’s that happen?” It’s worth noting that the guy is about as white skinned as me (I’m just this side of transparent) and the group of people are all dark skinned. “Dunno,” I say and go back to the iPad.

“How old are you? You can’t be but maybe 23, am I right?” Alarms start sounding internally at this point. “I’m in my thirties.” “No way! Damn man, you must have great genes.” “Thanks” and I go back to the iPad.

“Are you staying nearby?”

Okay, now, I’m playing scenarios in my head. Is he trying to pick me up? That’d be a first, so not likely. So, being a nerd working for a information security company, I jump to social engineering/recon. Is he trying to get info about me so he can try and get into my room? To steal from me? Not sure. I say “Here, actually” (bad answer! Damn it!) and get out my iPhone. I text my wife “Call me right now.” And go back to the iPad. He orders a drink (vodka and coke?)

“What do you do for a living?” “I’m an IT consultant” “Oh man, that’s awesome” and holds out his fist for a fistbump. What can I do? I return it. “I’m an electrical engineer. I love working on computers. Do you know anyone who is hiring?” “No, unfortunately, I don’t. My company just let some people go not too long ago.” “Oh man, is the economy still that bad?” “It ebbs and flows.” Get out the iPhone and text my wife again “There’s a guy bugging me and won’t leave me alone, please save me.”

“What’s good here?” “Not sure.” “Man, those ribs sound good. You want to split a rack of ribs?”

My phone rings. Salvation!! “No, thanks for the offer” and I answer the phone, holding it so that my hand and the phone blocks my entire view of this weirdo. We spent 3 minutes or so playing charades as she tries to guess what’s going on. “You ran into him at the airport bathroom and he followed you to the hotel.” etc. The guy then taps me on the shoulder, interrupting my phone call to ask if I knew where the restrooms were. I say “Not sure” and resume my faux conversation with my wife. He didn’t get the hint. It’s time to do something more drastic. As I tell my wife “The guy next to me interrupted us to ask where the bathroom was.” She responds with some profanity asking if I was joking. I notice he has now turned towards the aforementioned group of 10 people. He proceeds to raise his hand with his index finger extended into the air and says “Excuse me! Do y’all know where the bathroom is?” They don’t acknowledge his existence.

He gets up and as soon as he’s more than 5 feet away, I get up and beeline towards the bar where the waitresses are milling around. I’m explaining to my wife what’s going on, getting my food to go and heading to the room. Just as I get near the waitress, I hear someone say “Hey!” and I turn. It’s the guy I sat next to on the flight, sitting at the bar eating dinner. “Dude, there’s some nutjob who won’t leave me alone. Can I sit next to you?” “Sure man, what’s going on?”

Shortly after I explain the situation to the waitresses, a 6’6” 400 pound linebacker dude in a suit introduces himself as hotel security and asks me to tell him what was going on. He got escorted from the premises.

I have a nice dinner chatting with Matt (he sells linear accelerators for radiation treatments), before retiring to the hotel room and explaining the whole thing to my wife. Pretty sure she said “WTF” about thirty times. We came to the conclusion that he was trying to stick someone with his food bill by being all “sure it can be on one check, we’ll split it” type thing. I still keep playing in my head that it could have been an attempt to scope me for theft of some sort. Then I enjoyed some of the 50ml bottle of Balvenie 12 Year Doublewood I brought along in my suitcase.

Anyway, that’s my first serious “what in the fucking fuck is going on” I’ve had in quite a while. Stay safe out there, kids.