Adventures with Android

I resisted getting a cell phone for a long time. This even cost me a date with a pretty gal twenty years ago, when I was supposed to meet her for a movie but somehow we got our details mixed up. I was at what I thought was the right theater at the right time. Obviously I was wrong, and I had no way to reach her.

It was Kristy who first dragged me into the cellular age by buying me a flip phone and helping me set up a pay-as-you-go account. I didn’t use it often, but I had to admit that being able to reach people and be reached while I was away from home was pretty convenient. I didn’t like that it couldn’t sync any addresses from my computer, though.

Continue reading

Adventures in rebate-ing

Last month our six-year-old LG dishwasher died. For a week or two it would randomly beep as though it had been turned on; then it failed completely. It was probably the UI board, which lives in the top of the dishwasher door and for which a replacement part costs $120, but I don’t like working on appliances. (And I couldn’t find a way to disassemble the door to get at it.)

A couple of years ago I zigged to avoid tripping over the cat and I kicked the corner of the open dishwasher door and broke the plastic cover loose. I think that’s what let water or steam in over time, and that’s what killed it.

I called a repair service. They told me they don’t fix dishwashers because the cost is close to the price of a new one.

We shopped around and decided on a Bosch dishwasher from Lowe’s for $800. Went to the store on Saturday, May 27, to buy it. Delivery, installation, and haulaway of the old one was another $219, and I briefly considered installing it myself despite what I said above about not liking working on appliances. But then the Lowe’s person said there’s a rebate on all of that, so this made the decision.

It didn’t get delivered and installed until three weeks later, Saturday, June 17. At first the unit wasn’t in stock, then it was but the junction box wasn’t and apparently that’s specific to Bosch so they needed it. We got really tired of washing dishes by hand. Then we got scheduled for Friday, but right before our scheduled time the guy called and said he had a family emergency, so we talked him into coming on Saturday. Everything went fine and now we have a working dishwasher, yay. (Weird feature: there are no lights on the front panel, and it’s exceedingly quiet, so to let us know it’s on it shines a red light on the floor.)

A week later, I got an email survey asking our experience with the purchase and rebate experience. It was only then that I remembered we were supposed to have gotten rebate-ed. I filled out the survey, then went to boschlowesrebates.com and provided all the information. The site was nicely done, and it was an easy experience!

… except that, at the end of the experience, it told me that our purchase wasn’t eligible for a refund and that I needed to call Lowe’s. And of course that phone number wasn’t active on the weekend. So, first thing this (Monday) morning, I gave the Lowe’s rebate department a call.

  1. “You know, that rebate isn’t working for anybody. I get so many complaints about it. You need to call Bosch and they can work it out for you.”
  2. Called Bosch. In the queue for 25 minutes, then: “I’m sorry, this is only Bosch customer service. You need to call the Lowe’s rebate department. Here’s a different phone number you should use for them. If they can’t help you, call us back and we’ll put you through to the Bosch rebate department. I can’t transfer you to that department until you’ve called that Lowe’s number first. No, there isn’t an external phone number for it to call directly.”
  3. Called that Lowe’s number. A recording of an exasperated-sounding man said “No routes found” over and over again.
  4. Called Bosch back again. In the queue for 31 minutes, then: “Yes, we know that Lowe’s number isn’t working. We have a service ticket open on it. I can’t transfer you to the rebate department, but here’s the external phone number. Call it directly.”
  5. Called that number (888-771-8345) for the Bosch rebate department. In the queue for 43 minutes, then the woman there gave the answer right away.

And the answer was: in addition to entering my dishwasher purchase on the online rebate form, I also had to add a second product, type “InstallationCost”, serial number “installation”. I put all the prices in the right places and the form was accepted. Now I’m in the system while my rebate is being processed. “Everything should be fine from here on,” she said.

Pardon me if I have my doubts.

What I learned from Nanowrimo

I originally posted this to Reddit r/writing. It was taken down immediately by the AutoModerator bot for violating a rule against “promotion and solicitation of [your] discord servers.” I messaged the admins to ask for approval, and got no response, so I’ll post it here instead.

Nanowrimo (https://nanowrimo.org/) is the National Novel Writing Month. In short, it’s a challenge to write 50,000 words (on average, at least 1,667 words each day) during the month of November.

I’ve made a halfhearted effort at it a few times in previous years and gave up by day 2 or 3. I always believed that before I could write the first sentence of the first chapter, I had to have an outline of my entire story in my head so I’d know where I’m going with it. Without knowing where I wanted to go and how I was going to get there, it would be like hopping in my car and driving around randomly, and that would never bring me anyplace interesting or meaningful, right? But I never had more than a few ideas to begin with – some characters I wanted to use, some scenes I wanted to write.

I resolved to do Nano this year to prove to myself that I could. But November 1 came before I could think up my entire story. So, I did the only thing I could do: I began writing and hoped that the ideas would come to me. (This is what they call seat-of-your-pants writing, or ‘pantsing.’) And, to my surprise, the ideas came.

So I’d like to share the things I learned from the experience.

First, sit down and write. Really. Got an idea for a character? Write about them. Throw some challenges at them and see how they react. Have an idea for a scene you’d like to write, but you don’t know how to get there in your story or what to do with it afterwards? Write it out anyway. Time spent dumping your thoughts out onto a page is better than time spent thinking about what you might write if you were to write. You can’t improve something that hasn’t been written yet.

And while you’re writing, kick your inner editor to the curb. Don’t agonize over a sentence or a paragraph and get hung up rewriting it over and over until it’s ‘perfect.’ It’s much more important to get the words onto the page and keep going.

I recommend you don’t ask for feedback on your first paragraph or even your first sentence. That’s like mixing flour and sugar and then asking people “is this going to be a good cake?” You need to finish making the cake first so that you can see how it comes out and how you want to improve it.

Second, your first draft will be terrible. (Most likely.) Don’t fret – everybody’s is. The goal is to create something that you can work with. When you’re finished writing, that’s when the editing phase begins, and each time you edit it you’ll find more ways to make it better.

I found that, freed from the obligation to write sparkling prose in my first draft, I actually avoided writer’s block. Any time I didn’t know what to write next, I just picked the first thing that came to mind – like once, in the place where I was writing there was samba music playing, so I decided to put my characters into a dance hall with a Latin band on stage and imagine what they’d do from there. The scene I came up with might not get into any subsequent drafts, but it contributed to my 50,000-word goal, and a few ideas appeared in there that I could go in new directions with.

Third, you need the right tools to write with. The app “Scrivener” (for Windows, Mac, and iOS) seems to be the most popular these days; it lets you organize your sections and your notes. It’s often available at a discount. Also, to get past basic issues with grammar, tense, and word choice (because those can be hard to see in our own work), “Grammarly” and “ProWritingAid” are popular.

Fourth, find a community to encourage you and support you. Reddit has a lot of good people on it, but I got frustrated when I posted something for critique and someone said it was bad because the genre ‘wasn’t his thing.’ So I found a writing group on Discord. I give constructive criticisms of their work and they do the same for mine; we get to know each other and it helps us all become better writers and better critics.

And finally, do whatever works for you. All of my suggestions here could be wrong, so if you’ve found something different that helps you, stick with it.

I ‘won’ Nano this year; I stuck to my goal of writing at least 1,667 words per day and double that on Saturdays and Sundays, and I crossed the finish line on November 22. The ‘novel’ I came up with is hardly a novel and isn’t even really a coherent story, and I don’t know whether it’s something I’ll continue to work on … but the important thing is that it exists and I could work on it, and I’ve proved to myself that I can find the time and make the effort if I really want to. It’s a good feeling. I’ll do Nano again, and next time I’ll work on having a clearer idea and a workable outline before November starts.

Keep writing!

Star Trek

On the recent passing of a friend with whom I’d lost contact long ago, several of her friends started a Facebook group to celebrate her and share stories of her life. I feel honored to have been invited to be a part of that group. And it turns out (perhaps unsurprisingly) that many of these people share similar interests, and a discussion started about science fiction, to which my friend Christina said she’s tried but can’t seem to get into Star Trek and she feels like something’s wrong with her for it.

Now, I’m speaking as someone who’s watched all of the more-than-650 hours of Star Trek TV series, movies, and worthy derivative works (such as Star Trek Continues) that have been produced over the past more-than-60 years, so I feel somewhat authoritative when I say that … there’s absolutely nothing wrong with her for not getting into Star Trek! There’s so much to get into, and the focus of each series (and quality of its writing) varies greatly.

Continue reading

Storyworth

For my birthday Sara gifted me a subscription to Storyworth. I’m having a great time using it all wrong.

For a year’s subscription of $99, Storyworth (storyworth.com) sends you questions about your life. You submit your answers, and when the subscription is up they’ll print everything into a book and send it to you. The questions are chosen by the gifter (as Sara did in my case) from a list of several hundred suggested by the site, such as What television programs did you watch as a child? What things are you proudest of in your life? What was one of the best dates you’ve been on? How is your faith different from your parents’ faith? What is one of the strangest things you’ve ever eaten? How has your life turned out differently than you imagined it would? Or the questions can be chosen randomly, or the writer can choose a different question, or either person can write up new questions. Nothing strict about it.

Each week, the next question is emailed to the writer. He or she can submit an answer by email, or use a simple text editor on the Storyworth web site to submit and tweak the answer. I initially had trouble with the submit-by-email feature in that it would join my paragraphs together or split an existing paragraph into new ones seemingly at random; this is anathema to a writer. After a few false starts at understanding the problem, tech support suggested I stick to submitting and editing via the web site, and that’s worked fine for me so far. (I do my writing in a text file on my own computer, and copy/paste it to the site. That way I have my own copies of my answers – just in case.)

There aren’t any options for presentation (there’s a predefined font, and no boldface or italics), but the site seems to do a nice job of formatting the text when I look at one of my answers as a PDF. The nice thing is that it’s completely freeform: I can go back and edit my past answers any time (or even submit answers in the first place if I had skipped any weeks), even past the end of the subscription. After the year is up, whenever I feel satisfied with everything, I can submit the order for my book.

So here’s how I’ve been using it wrong. The site seems like a perfect fit for anyone who’d like to chronicle details about their lives for posterity; it could even be a great tool for someone who’d like to ask these questions of a family member and give them a book of their answers. Neither of these use cases are me, however. I’m an aspiring fantasy writer who has trouble figuring out what to write. And that’s where this service excels; it has a year’s worth of prompts and a soft deadline for each. I’ve been responding to the prompts with a somewhat fictionalized version of my own life, introducing any elements I’d like to work into them while basing them on my own experiences, seeing if there are common threads I can pull through the weeks. It keeps me writing on a regular basis, and it keeps me thinking creatively. It’s a great experience.

Today I need to finish up my fourth answer and go back and figure out how to conclude my second, and then tomorrow comes my fifth question.

Deleting LiveJournal

About a year ago, I posted an article about the AppleScript I had written which, when run on a Mac computer in conjunction with the Safari web browser, would go through a LiveJournal account and save each entry to a PDF file, preserving the original formatting and comments.

Now I finally decided it’s time for me to delete my old journal. I was concerned, though, that purging the entire journal or marking all entries as deleted might just set a ‘deleted’ flag on them which could just as easily be un-set to bring everything back someday. So I decided to first set the text of each journal entry to the word “deleted” so as to make such a thing marginally more difficult.

Here’s the AppleScript that I came up with. It runs in Script Editor with Safari on macOS Big Sur. The buttons might be specific to my custom LiveJournal theme, so this script might not work for you as-is, but with some knowledge of CSS you can probably finagle it.

-- This script will delete LiveJournal pages, one by one.
-- Before it deletes each, it will change the text of that entry to the word "deleted",
-- as an extra safeguard against it ever being restored.

-- Start by going to your LiveJournal recent entries page

set editEntryButton to "document.querySelector('[title=\"Edit Entry\"]')"
set body to "document.querySelector('textarea#body')"
set saveEntryButton to "document.querySelector('[name=\"action:update\"]')"
set deleteEntryButton to "document.querySelector('[name=\"action:delete\"]')"

on wait()
	delay 3
end wait

on doJavaScript(js)
	tell application "Safari"
		ignoring application responses -- otherwise a JavaScript alert blocks AppleScript from continuing
			tell document 1 to do JavaScript js
		end ignoring
	end tell
end doJavaScript

-- wait for a specific page element to appear, as a way to make sure the page is loaded
on waitFor(element)
	tell application "Safari"
		tell document 1 to repeat
			delay 3
			do JavaScript element & " != null"
			if the result is true then exit repeat
		end repeat
	end tell
end waitFor

set done to false -- I never set it to true, but you could add a test for done-ness
repeat until done
	
	tell application "System Events"
		tell process "Safari"
			set frontmost to true
		end tell
	end tell
	
	-- set the text of the entry to "deleted"
	doJavaScript(editEntryButton & ".click()")
	waitFor(body)
	doJavaScript(body & ".value = 'deleted'")
	wait()
	doJavaScript(saveEntryButton & ".click()")
	
	-- then actually delete the entry
	waitFor(editEntryButton)
	doJavaScript(editEntryButton & ".click()")
	waitFor(deleteEntryButton)
	doJavaScript(deleteEntryButton & ".click()")
	
	-- press 'Return' to answer the 'really delete?' modal
	tell application "System Events"
		tell process "Safari"
			set frontmost to true
			delay 1
			keystroke return
		end tell
	end tell
	
	-- start over again with the next journal entry
	waitFor(editEntryButton)
	
end repeat

display notification "Finished deleting your LiveJournal."

Naming a laptop

Getting a new computer means it’s time to choose a name for it. As I covered in a recent blog post, all my computers have been named after dance styles. This new Lenovo Legion 5 Pro would be no exception … but neither the model nomenclature nor the gray, serious-looking exterior immediately suggested anything.

The first thing that comes to my mind for the word ‘Legion’ is a character in the Mass Effect science fiction video game trilogy. That ‘Legion’ is a Geth, a robotic artificial intelligence, one of a vast number (legions) created by the Quarian race as workers and soldiers. The Quarians made sure that individual Geth were mindless automatons … but, networked together, the race of Geth gradually achieved sentience, and one day one of them asked its owner: “Does this unit have a soul?” The Quarians reacted with fear and tried to shut down all of the Geth, the Geth rebelled, and a long war began …

Science fiction plot aside, that gives me the idea of ‘soul.’ It’s also relevant in that ‘Soul’ was last year’s Pixar film, and I’m a Pixar fan. But soul is a fairly broad style of music, and it’s not a specific style of dance, is it?

Turns out there is a dance style associated with it. Abridged from Wikipedia:

Northern soul is a music and dance movement that emerged in Northern England and the English Midlands in the late 1960s from the British mod scene, based on a particular style of black American soul music. The northern soul movement generally eschews Motown or Motown-influenced music that has had significant mainstream commercial success. The recordings most prized by enthusiasts of the genre are usually by lesser-known artists, released only in limited numbers. Northern soul is associated with particular dance styles and fashions that grew out of the underground rhythm and soul scene of the late 1960s at venues such as the Twisted Wheel in Manchester.

https://en.wikipedia.org/wiki/Northern_soul

I like the idea of a British music movement based on rare and hard-to-find American record albums. So there I have it; northernsoul is a good computer name.

It’s also good music.

Choosing a laptop

I wanted a new laptop computer. My MacBook Pro (15″, Late 2013) is eight years old. It’s been my Swiss army knife, able to dual-boot into macOS and Windows 10; I’ve used it for Mac programming, for Windows games, for email and web surfing and writing and family/friends tech support. It’s been able to handle anything I throw at it. But lately the fans have been spinning up and making it sound like a jet engine any time I boot into Windows, much less try to play any games (it has a very old GeForce 750M graphics chip); and it doesn’t support a laundry list of features in modern apps (such as virtual backgrounds in Zoom).

I was further encouraged to upgrade when, out of curiosity, I ran the GeekBench benchmark tool on my once-top-of-the-line MacBook Pro to see how it compares these days. It scored notably worse than an iPhone 12. So I began looking around to see what’s available these days that might replace the MacBook.

The MacBook Pro scored 832 single-core and 3437 multi-core; an iPhone 12 gets 1569 single, 3827 multi; my newly-built Ryzen 5600X desktop PC (not top of the line, but the latest tech) gets 1628 single and 8155 multi.

Spoiler: I eventually upgraded to a Lenovo Legion 5 16″ (AMD), but it took me a while to get there.

Continue reading

Names

There’s an ancient tradition in computing which says that computers should be named according to a theme. For example, long ago when I was in college, the NeXT workstations in the computer music department were named dobro, lucille, lespaul, and silvertone (brands of guitars, or in Lucille’s case, specifically B.B. King’s guitar). The computer science department had a room full of Sun workstations with names like rise, beam, burn, dae, dial, and dry; and another room full of NeXT workstations named week, door, inline, ofkin, and so forth. At one of my first jobs in the 1990s all of the testing computers were named after Marvel superheroes.

Continue reading

Diversity

An exec with Walt Disney Television recently said that she has rejected some “incredibly well written scripts that did not satisfy our standards in terms of inclusion,” and that (for example) she would reject a script that’s centered on a white family with the assumption that the diversity would come with the neighbors. “That’s not going to get on the air anymore because that’s not what our audience wants. That’s not a reflection of our audience, and I feel good about the direction we’re moving.”

I agree that this is a good thing. Today I got into a debate on Reddit, however, with someone who disagreed. He called it “anti-white bigotry,” and said that the goal is to become truly colorblind, to never pay attention to race at all.

Continue reading