Wednesday, October 26, 2016

So many wrongs @linkedin



I think this "no connection" screen on LinkedIn was designed to drive me crazy.  It's an error screen on the LinkedIn app on Android*, but it shows a cord.  Is that a phone cord or an ethernet cable? It's difficult to tell from the plugs.  No, wait, look at the break - that's definitely a coaxial cable.  And all the internets (or is that power?) seem to be leaking out of it, even though it's not connected to anything.  I has a sad.

*Yes, yes, you can technically run Android on tablets and Chromebooks, but they're typically wireless as well.


Friday, October 07, 2016

Making @Starbucks special again

I just unsubscribed from Starbucks' emails. I realized that their emails have made me less likely to go to Starbucks.  (Ironically, this week I was also approached by a recruiter to go work for Starbucks in their Email Marketing division but that's not why I unsubscribed.)


It's taken me awhile to get to it, but for some time now, the Starbucks emails have left me unsettled. Every email is trying to get me to visit more, to buy more. It's all about making a sale.

But that's not what Starbucks is - to me.  Starbucks is a treat, a reward, a special occasion.  Starbucks is the destination at the end of a walk with my daughter.  Starbucks is a mid-point between working in the office and working from home.

It was a Friday tradition when I worked in Pasadena and a Sunday afternoon tradition way back when I lived in Sherman Oaks and was single (coffee, scone, Hollywood Report and Variety and my feet up on the edge of the fountain).  The one in Monrovia that always had drawings from elementary students on the walls was where I met with several other men for a weekly Bible study years ago.  When I worked in Burbank, we used to enjoy walking to the one in the Disney Channel building.  In Tacoma, I had just discovered that Starbucks, a scone and a walk on the beach was a good way to center myself before heading into a frustrating job.  Speaking of, Starbucks and I were born in the most awesome city of Seattle. I even own a few shares and somewhere I have a few of the special Shareholder only cards they used to issue each year (the app has made cards a relic).   Our family still occasionally searches out the "Glenn" commercial on YouTube and sings-along.

I bristle when people call Starbucks a restaurant, especially a fast-food restaurant. It's a cafĂ©.  (If Mr. Schultz himself told me it was a restaurant, I'd politely disagree.)

Starbucks is special.

For instance, from this blog alone...


Its emails did not feel special. It was all about buying stuff, earning more stars.  It felt manipulative, generic and mass marketing. I think that really hit home when they emailed me to say that they wanted me to be one of the first to know that PSL was back.  (It's been a long time since I've had PSL - it was either not memorable or I didn't care for it.)  I figured there was no way that I was segmented into any sort of special list, that they probably just sent it to everyone.  (Also, apparently I have some stars that are expiring, like 2.3.  It seems like stars are really common now, and yet somehow I still have fractional stars. Too complicated.)
But I have a theory - I suspect that I will go to Starbucks a little more now, on my terms, because I want to.  Not because I was told to.  
But I have a theory - I suspect that I will go to Starbucks a little more now, on my terms, because I want to.  Not because I was told to.  If I earn a bunch of stars and get something for free, that's another way I'll be delighted.  If some of my stars expire like some cheap airline miles, I won't know about it and won't be sad that something is being taken away from me.

I am making Starbucks special again.

Saturday, October 01, 2016

Stupid Hoaxes

I watched two videos today where people drilled into their iPhone 7s, claiming that was all it took to add a headphone jack to their phones.  Obviously, poorly done hoaxes, but apparently some people have fallen for it.  I kept waiting for them to validate how it worked or give specifics about where to drill and how deep to drill, but they never did.

Here's one plausible reason they could have used: you're drilling into a speaker. You'll destroy the speaker but expose the wiring to allow your headphones to make contact.  And here's a second plausible reason... but, please, please do not actually follow this advice.  But here's how my hoax would go:

Replace the Missing iPhone 7 Headphone Jack

When the iPhone 7 was released, Apple claimed they were making the courageous choice to eliminate the headphone jack in the name of progress.  A recent tear-down by Fixer Squad turned out Apple wasn't so courageous after all - the headphone jack still exists!

Why would Apple do this? The current theory is that next September Apple will unveil the iPhone 7s with the headphone jack. They'll announce that "the people have spoken and Apple listened."  But in reality, it will be the exact same phone with a modified case and a modest bump in memory (and a not-so-modest bump in price).

If you don't want to wait until September to enjoy your existing headphones and you're feeling brave, it is possible to fix your iPhone today.

You'll need a 3.5mm drill bit, a good ruler, a variable speed drill and masking tape. Optional: Vise and handheld vacuum (or a vacuum with a hose and wand.)

Start by measuring 3/4" on the drill bit.  Wrap a piece of masking tape around the drill bit so you'll know when you've reached the proper depth.  You'll be drilling through the case and the plastic plug that Apple has inserted into the headphone jack.

Turn the phone off entirely (very important!!!) and then secure the phone so that it can't move while drilling.  A vise works best, but if you don't have access to a vise, a few heavy books should hold the phone still you're drilling.  Don't use other heavy objects that aren't wide and flat - you don't want them to move or jump and crack your screen.  As a last resort, you could use masking tape to secure it to the edge of a table, but you'll need to be extra careful if you do that.

Look at the bottom of the phone with the screen facing up or away from you.  You'll see the Lightning port in center and a series of dots on either side.  The dots on the right are for the speaker, but the lots on the left are just for symmetry - they serve no purpose!!!

Line your drill carefully with the third dot.  Begin to drill slowly.  You'll see a small amount of metal and plastic come out.  This is natural.  Drill slowly - the headphone jack will guide you once you've broken through the outer casing.  Every 1/4" in or so, remove the drill bit and gently blow across the opening to remove drilled debris. If you've got a handheld vacuum, this will work well to make sure there's no plastic bits inside the headphone jack.

After you've drilled down 3/4" and cleaned out the debris, check to see if the headphones fit snugly into the jack.  If not, you may need to use the drill a little more - there may still be plastic from the plug inside the jack. Insert the jack and while drilling slowly, move the drill in a slight counter-clockwise direction to widen the opening ever so much.  Be careful not to overdo it - headphones that constantly fall out are worse than no headphones at all.

Once the headphones fit snugly, unplug the headphones and turn the phone on.

Wait until the phone has restarted and go into the Settings and tap on Sound.  Then plug in the headphones.  After about 2 seconds, you should see the Headphone settings appear on the menu when it recognizes them.  If you have the iOS 10.1.0.1 upgrade, your iPhone may crash at this point. If so, simply power down the phone and restart and repeat the process.  We expect Apple will fix this bug before any new iPhone with a headphone jack is released.

That's all there is to it.

And remember, don't really actually do this. I'm kidding. This isn't real.

Monday, September 05, 2016

End of the Monthish (Aug. 2016)

Every month, I ignore the reminder to do an end-of-month blog.  Another month has come and gone and again I didn't do it.  Well, I'm doing one today, dang it.  Not quite the end of the month, but it's labor day, it's a little slower and I'm going to write something.  It won't necessarily be great, but it'll be something.  I wish I wrote more often, but I guess it's not been a strong enough aspiration.  It definitely helps with a decent year-end blog post when I have lots of posts to go back and look at. Anyhow, a few thoughts...

Today is my Grandma Marjorie's birthday.  Well, she has passed away, but today's the day we celebrated with her.  She will forever be linked to my career - in 2014, I was let go at World Vision the day before her birthday.  My parents, my brother and his family and my family all traveled to Yakima to celebrate with her.  It was a wonderful time.  I didn't think much about the job loss that weekend, or probably more accurately, didn't talk about it much.  She did find out anyhow near the end of the trip and wanted to know why I hadn't mentioned it and I told her that it wasn't important, that the weekend was about her.  In 2015 I had just landed in L.A., a consultant employed by a company in Seattle assigned to ExactTarget/Salesforce who in turn assigned me to Activision.  They were bringing me along on a trip for a day-long strategy session with Activision.  And of course, we all know how that turned out.  Anyhow, so I had just landed in L.A. and there was a message from Lori letting me know that mom and dad had called, grandma had passed away in her sleep.  We knew it was coming and I just remember sitting there near baggage claim talking to mom.  I think we were all happy for grandma - she had lived her life the way she wanted to.  Until a day or two before, she had still lived in the home she and my grandfather had purchased together, nearly a decade after she first saw it and decided she wanted to someday live there.  And she had still been driving and working and volunteering at church.  But a few days before, her health had really started to decline and she allowed herself to be checked into a hospice.  She hadn't let dad put too many personal effects out because she wasn't planning on staying long.  She worried about dying but I think dad let her know that it was ok and she accepted this and went peacefully in her sleep.  Marjorie was really cool - she was well-loved and always in a really positive mood.  Quite inspirational.  Lori notes that she came across some handwritten notes recently - grandma was really good at that - always hand-written notes.

So, yeah, that other thing... two years ago yesterday I got let go from World Vision.  At the time I thought it was cowardly.  Now I'm not entirely sure, but I do know that it was a blessing.  Things had run their course and it was time.  I had contributed while I was there and hopefully left things in a better place than before I had been there.  But we all knew it was time.  I had a few interviews and had been looking for somewhere new, but unsuccessfully.  Because they were the ones who pulled the trigger, I ended up with severance, pension and a few other things I wouldn't have necessarily gotten had I acted first (though it wasn't for a lack of trying).  Recently it's been on my mind a lot to write Toby and Scott a thank you note, but that's probably not beneficial to anyone.

The city of Burbank has signed off on the renovations so now we're back in compliance.  I've been painting the garage floor the last few days and today we should be able to move most of the stuff back in.  There's a little more finish work to happen tomorrow, but no more living under the cloud of construction and worries about whether our changes are going to be approved.  Next, some foundational work under the house, saving up for the master suite renovation/expansion and designing the Little Free Library I want to add to the front fence.

And... I think that's a fine place to stop for now.  Phew.

Thursday, September 01, 2016

Splitting Large File with Headers (Mac)

I was given a 3.6 gb CSV data file (43 million rows x ~12 columns). I have an automation that's supposed to intake and process those files automatically, but the file was too large. What I needed were smaller files, each with the same header.

I had to do a number of Google searches to figure out how to do this, so I thought I would bring together everything I learned into a single post in case it would help someone else with a similar scenario.

Experience: Moderate

Step 1: Split the file into multiple files, each 1,000,000 rows long.

split -l 1000000 filename.csv filename-

This will give you multiple files with filenames like filename-aa, filename-ab, filename-ac, etc.

Step 2: Move the large file (filename.csv) to another directory. You don't need it anymore, but you'll want to hang on to it until everything's as you want.

Step 3: Rename all the files as CSV files.

for i in *; do mv "$i" "$i.csv"; done

Step 4: Open filename-aa.csv with Excel. Copy the first row (the headers) into a new worksheet. Save as "header.csv" Close filename-aa.csv (don't save).

Step 5: Move filename-aa.csv to a different directory. We don't want to add the header to it a second time.

Step 6: Open header.csv with a text editor to make sure there's a "return" at the end of the row. (If you move to the last character in your header and press right-arrow, does it drop to a new line? If not, press return or enter and then save. If so, you're good.)

Step 7: Rename header.csv to header.txt - it will warn you, but it's ok.

Step 8: Add the header to all of the other files

for i in *.csv; do mv "$i" tmp; cat header.txt tmp > "$i"; done

Step 9: Move filename-aa.csv back into the directory

You should now have a bunch of files, each with a header and 1,000,000 rows.  (And a file called "tmp" that you can safely delete.)







Sunday, August 21, 2016

Drive-by

Before we moved back to L.A., we decided we'd just go to the church we had attended before we moved to Seattle a decade ago. I had worked there, we had friends who still attended. And, watching a video on their website, we saw that they had just completed a major overhaul of their children's building, including a sensory room for special needs children. That was exciting - Ben had attended the same church with us in Seattle from his birth and they grew with us, experienced his diagnosis with us, ultimately creating a special classroom for him and a few other special needs children. Well, not just a classroom, but a ministry, recruiting and training volunteers who just really loved our little guy and gave him a safe and enjoyable place to be since the church service wasn't appropriate (too loud for his sensory processing issues), the age-relevant class wasn't appropriate (with the expectations of orderly quiet behavior and learning) and the nursery wasn't appropriate (he was getting larger than the other children and their unpredictability and outbursts didn't help - probably the final straw was when a little girl got right in his face and screamed - he reacted poorly and I'm not exactly what transpired but the little girl cried and wouldn't you know it, her grandma was the volunteer in the nursery that day). So, finding a church that could welcome Ben with open arms was probably one of the bigger stressors for me when we committed to this move and the "are we doing the right thing?" worry would float into mind again.

At the point we were leaving 10 years ago, it was a struggle for the church - the Senior Pastor had clashed with the Elders one time too many and either decided to leave or was asked to leave. Some other great people had departed just before or just after him. There had been some great temporary pastors in the pulpit and just as we were leaving, one was being considered. Ten years later, he was still there, so when it was difficult to attend our local church in person, we started streaming this church instead of our typical standby (Saddleback). A week after we arrived, all of the children Rachel's age would be going to camp, so we registered her.

On our first Sunday back, we all got in the car, drove to the parking garage near the church, boarded the shuttle and rode to the church. We met a greeter who led us around, helped us get our children signed up and took us up to Ben's class. I briefly had a chance to say hi to another Pastor/coworker who was still there who remembered me and we got to chat briefly before I had to run to catch up with my family. At the room where we were to drop-off Ben, they seemed to hurry us through the process and so we figured they just had it handled, so we didn't get a chance to explain anything about him to them. Then the greeter led us to where Rachel's class met in a different building. We met the program leader and he welcomed us and Ben. Then we went to church.

After church, we went to collect Ben but first encountered an adult volunteer nursing an ice pack and learned that they had given Ben crayons and then tried to get one out of his mouth. Big mistake. Don't give Ben anything you're not prepared for him to put in his mouth. We didn't have a long time to talk to the leader of the program, but promised to email during the week.

That week, Lori did email a lengthy email, explained all about Ben, observed about the non-existent sensory room and more.

The next Sunday, we returned to the campus. I stayed with Ben during the entire service and guided him through everything from the singing, teaching and a craft project. The program leader talked to me briefly, said she had received Lori's note but that she hadn't responded.

Rachel went away to camp. We received updates by email and links to photo galleries.

And then it was Sunday again and it was our third Sunday. This time Lori stayed with Ben the entire service. Again the program leader acknowledged Lori's email but didn't actually address anything Lori had said.

At that point, we felt this wasn't the right church for us. We searched on Google and we asked in our neighborhood's Facebook page. Both pointed us to a different church with a thriving Special Needs Ministry.

So, every Sunday for the past six weeks we've gone to that church.

The first church we attended has made no effort to contact us - no updates from Jr. High ministry, no response to Lori's letter, nothing to acknowledge that we'd indicated that we were visitors or that we contributed financially. It's really weird, that complete lack of acknowledgement. I know it's a large church and that we presented some potentially challenging things to accommodate, but the complete radio silence isn't some grand conspiracy to keep quiet in the hopes that we'll go away, just something missing from that church where there's no effort made to welcome new visitors.

So now every Sunday, we've gone to this new church instead, a 25-minute drive that takes us right past that first church.

Saturday, July 30, 2016

How I'd change @amazonecho

I received an Amazon Echo for Father's Day because I had it on my Wishlist. Possibly because my wife received a Kindle Fire for Mother's Day? Hopefully Amazon appreciates us! :)

It is a fun toy, but I was surprised it doesn't do more. (I also keep forgetting it's called "Echo" because we just call her "Alexa.") Disclaimer: the link over there is tagged with this website's code. If you buy one, Amazon gives me a few pennies and when I have enough pennies I go to Starbucks.

So, a few things I wish it did.

The app as a two-way extension
The app is great for aiding in slightly more complex tasks (like changing Pandora stations). However, the app ought to also be able to serve as an extension. For instance, having timers or alarms also optionally alert on app.
"Alexa, set a timer for 10 minutes"
"Ok, timer set for 10 minutes"
"Alexa, alert my app when the timer goes off."

Voice Recognition
She does recognize what we say, but it would be cool if it recognized who we were. I spend a lot of time at work, so others in the house use it. It would be cool if you could have it recognize who you were and respond accordingly. Then you could say stuff like "Alexa, alert my app when the timer goes off."

Incoming
Right now, Alexa is the start of things. Play a song. Tell a joke. Set the thermostat to 72. It would also be nice if Alexa could be the output of things. For instance, it has IF-THIS-THEN-THAT integration, but it's all THIS. If you ask Alexa for THIS, then THAT happens. It would be nice if worked the other way as well. If THIS, then Alexa should do THAT. There are several possibilities - she could announce, play a tone, or simple blink the light ring ala blink(1) (another toy I like playing with).

Monitoring
I would be nice to be able to set up triggers so that it would alert if stock prices fell/rose to certain levels, if news stories about certain terms occurred, whatever.

Multiple Amazon Accounts?
The Echo is connected to my account because it's my toy. But most of the shopping is done from my wife's account (she's the Primary Prime account). I think we can connect the Echo to multiple accounts, but never figured out how.

Email
This is a huge one. Again, would need to be able to recognize *WHO* was saying "Send an email" as well as "Alexa, do I have any new email?" Or "Alexa, alert me if I receive an email from get@real.com in the next 30 minutes."

Send to My Phone
Can I send driving directions to my phone?

Control my Computer
I would love to have a Chrome App or Windows App installed and connected so that we can issue voice commands to the laptop that sits right next to the Echo. "Alexa, skip video" - "Alexa, next tab" - "Alexa, open Gmail and compose a message" - "Alexa, go back 30 seconds" - "Alexa, mute tab" - "Alexa, close tab" - "Alexa, lock computer in 30 minutes" - "Alexa, navigate to nbcnews.com"

More Official Skills
Like Tile and Roku for sure.

Skills Directory
This is only semi-related, but there should be a directory of all available skills on the web, not just within the app. If that exists, it's not easy to find on Amazon.com.