Casting Coursera

MOOC’s (Massive Open Online Courses) are an excellent way to enhance your career or to explore subjects you missed in your school days. You can watch MOOC lectures from sites like Coursera, Udacity, or edX on your computer, your tablet, or even your phone, but for an even better experience, you can cast them to your big-screen TV.

I have a Roku 3 and a Galaxy S6 Edge. When I first tried to cast from my phone to my Roku a few years ago, both video and audio were extremely laggy.

Recently, I tried again with the Android Smart View feature, and the results are much better. Games are still laggy, but Coursera videos play smoothly. The only problem I noticed was audio skipping occasionally. However, when I turned off my sound bar and used the TV’s own sound instead, the audio was fine. I don’t really need extra bass for a deep learning lecture.

Of course, if you have a Chromecast, you can just use the Chromecast for your own private lecture hall.

Orphans in the Launchpad

Recently, I found myself in a situation… After uninstalling an application from my Macbook Pro, its icon was still visible in the Launchpad. Clicking the icon would do nothing.

How do you get rid of orphaned Launchpad icons? Thanks to Google and Stack Overflow, I discovered that Launchpad icons are stored in a SQLite database in /private/var/folders with

com.apple.dock.launchpad in the name. The find command is useful:

sudo find /private/var/folders -name com.apple.dock.launchpad

finds the directory /private/var/folders/m4/hh39vth91396mblmwt46crkw0000gn/0/com.apple.dock.launchpad. A little poking around with ls reveals that the database itself is db/db.

ls -l /private/var/folders/m4/hh39vth91396mblmwt46crkw0000gn/0/com.apple.dock.launchpad/db
total 22656
-rw-r--r-- 1 shanglin staff 7495680 Dec 1 10:26 db
-rw-r--r-- 1 shanglin staff 32768 Nov 29 00:27 db-shm
-rw-r--r-- 1 shanglin staff 2290752 Dec 3 22:05 db-wal

Let’s use sqlite3 to see what’s in the database:

sudo sqlite3 /private/var/folders/m4/hh39vth91396mblmwt46crkw0000gn/0/com.apple.dock.launchpad/db/db

sqlite> .tables
app_sources dbinfo image_cache widgets
apps downloading_apps items
categories groups widget_sources

sqlite> .schema apps
CREATE TABLE apps (item_id INTEGER PRIMARY KEY, title VARCHAR, bundleid VARCHAR, storeid VARCHAR,category_id INTEGER, moddate REAL, bookmark BLOB);

The rogue app had the name “Spelunky” in it. We can use a SQL wildcard to find apps with the word “Spelunky” in the title:

sqlite> select * from apps where title like '%Spelunky%';
<p class="p1">92|Spelunky HTML5|com.google.Chrome.app.Default-mhagnkphcmpkmabhocgimoncfaihkpof|||519537375.0|book

Let’s delete Spelunky’s entry:

sqlite> delete from apps where title='Spelunky HTML5';

After exiting the sqlite shell, I restarted the dock:

killall Dock

and the Spelunky icon was gone. Success!

Picture Change

Ya know, I really like the default picture that came with the Misty Look theme.


I love the misty, mysterious gloom, but it really didn’t fit well with the flippant title of my blog, et cetera, and it fits even less with the new title. Fortunately, I found a good alternative among the recommended options that is now my header picture. The new pictures fits the theme of writing, and, since I’d rather be reading, the blank notebook is apropos.

Title Change

“Et Cetera” sounded a little too formal and drab. Therefore, I now welcome you to the newly dubbed blog, “I’d Rather Be Reading.” The phrase, “I’d rather be writing” has been in my mind, ever since I saw an actual website with that name, belonging to a technical writer. I’d rather be writing than doing some other things, but truthfully, though, I’d rather be reading than writing. Consumption is always easier than creating and producing.

Fresh and Easy

On Saturday, I heard sad news. The Fresh and Easy grocery store in Pasadena, on the corner of Lake and California, is closing.The closing sale started today. At 7:30pm, the store was packed, and the staff wouldn’t let us in because they were closing at 8pm.

For the last two years, I’ve been going to Fresh and Easy to get bagged salad for my weekday lunches, and I’ve also been relying on their prepared meals for convenient dinners. I even bought my latest main Thanksgiving entree there. (I got roast pork, not turkey.)

These are some of the items I like:

  • Bistro salad mix: A bag of green leaf lettuce, carrot strings, and red cabbage. The bistro salad kit includes feta cheese, cranberries and almonds, and a white balsamic dressing. Usually, I just buy the mix and not the kit for my lunches, but this week I got the kit and concluded that I should have just gotten the kit.
  • Caesar salads: The kit is good, and so is the bottled dressing.
  • Stuffed portabella mushrooms: Stuffed with a mix of cheese and spinach.
  • Asparagus saute: They stopped carrying this a while ago, but the other asparagus entrees are good, too.
  • Green beans almondine.
  • Petite carrots and green beans.
  • Vegetable medley in ranch butter: Broccoli, cauliflower, and carrots with a ranch butter.
  • Potstickers: More like steamed dumplings than potstickers, but they’re pretty good.
  • Orange chicken.
  • Kung pao chicken.
  • Tamales.
  • Salmon stuffed with feta, ricotta, and spinach.
  • Kale and balsamic butter steamer.
  • Chard and bacon butter steamer.
  • BBQ ribs.
  • Chicken burrito in roja sauce: I only tried this for the first time today, and it was good!


It’s been 13 years since September 11, 2001. On 9/11, I was at home in New Jersey, between the end of my summer internship in Berkeley and the start of a new school year at Caltech. My mom woke me up to tell me that a plane had flown into the World Trade Center. The last time I saw the twin towers in person was only a little before 9/11, when my parents, my friend and her mom, and I rode the ferry to see a Yankees game.

Soon after 9/11, I wrote a poem based on the Twin Towers, that I published on my old Caltech website. Here it is again, before this 9/11 anniversary is over:

The Twins

Two twins once stood, so strong and proud,
So tall above their other peers,
And drove away all childish fears.
Below them gathered a peaceful crowd

Until one day two birds plunged from a cloud.
A horrid sound met all their ears
That changed their smiles to pain and tears
As scorching clouds burst forth so loud.

A rush away from burning wall,
A scramble down to flee the fire,
And now there’s none left down the hall,
And now there’s no one left to hire.

Two twins once stood, so strong and brave,
And now they’ve crumbled in one grave.

This morning, I woke before 8 am to a cacophony of squawks. The Pasadena parrots were in the area! I grabbed my camera and stepped outside to find the trees adjacent to and across the street from my apartment full of squawking parrots who were gradually flying north.

Look closely, and you’ll find at least three:

parrots in tree

How many parrots can you find?

If you want a better view, try zooming in on a larger version.

For the most part, the morning was too gray for my camera to capture vivid colors.

flock of parrots in tree

Parrots in tree. They look very black and white.

However, with a bit of cropping and level changing in Gimp, I revealed a grainy closeup of a colorful fellow.

closeup of parrot

It’s green! Probably a green-cheeked Amazon.

Weather channel video

Charter is Broken

For years I was a customer of Charter Communications, but not anymore. Years ago, when I was a Caltech student, I signed up for cable TV and Internet. Charter had a special cable modem service could get on the Caltech network. It worked but was never  very fast or reliable. Once I graduated from Caltech, I switched to Speakeasy, and soon after, Charter stopped partnering with Caltech.

Over the years I kept my digital cable service and even added the premium channels. Sometimes the Video-on-Demand channels would abruptly reset the cable box, but for the most part I enjoyed having a wide selection of movies and shows like The Tudors and Dexter available any time.

A few months ago the Video-on-Demand channels became spottier, and in August my cable stopped working altogether. I called Charter’s tech support twice, only to be told by the agent that there was an outage in my area, they did not know when the outage would be over, and that my account would be credited once the outage was over. The agents told me to wait a week or two. Weeks later, I called again only to be told by a machine that there was an outage in my area with no predicted end time.

In the last few days I tried again. This time a machine went through the process of sending data to my cable box with no success. I spoke with an agent who was vague about technicians all being busy with a Video-on-Demand outage. She said she would put me through to an outage callback hotline, but the forwarding failed because the system couldn’t get my contact information.

Today, I tried to log into my online account and may have entered the wrong password several times. As a result, I was temporarily locked out. When I chatted with an agent online, she said that she couldn’t find any record of my online account and couldn’t reset it. I would have to create a new online account, even though I’ve had an online account for years.

Finally, I took the plunge. I called again, this time to terminate my account. The agent expressed surprise that the outage had lasted so long and offered to reduce my services if I wanted (I don’t have much time for TV anyway) and to send a tech when one was available (whenever that would be), but I stood my ground and have now severed my relationship with Charter.

I look forward to saving around $1000 a year. I might sign up for Netflix and take advantage of their online streaming, which is way cheaper.

Tone deaf

I always thought I might be tone deaf because, despite years of piano lessons, I still can’t identify notes. Sometimes I can’t distinguish pitch, and I absolutely cannot control my voice to match a note when I sing. However, on the online tonedeaf test, I scored 83.3%, which is considered better than normal. I guess I’m not tone deaf.