Wednesday, July 12, 2017

My Favorite Piano Music

YouTube playlist:
Total time about 43 minutes

1. At An Old Trysting Place
Edward MacDowell: Woodland Sketches, Op. 51, No. 3
Played by James Barbagallo
2. Couplet Sans Paroles
Emil Sauer
Played by Oleg Marshev
3. The Harmonious Blacksmith
George Frideric Handel: Keyboard Suite No. 5 in E major, HWV 430
Played by Balazs Szokolay
4. Once Upon a Time
Edward Grieg: Lyric Pieces, Book 10, Op. 71, No. 1
Played by Balazs Szokolay
5. Polka Italienne
Sergei Rachmaninov
Played by Balazs Szokolay
6. That Certain Feeling
George Gershwin
Played by George Gershwin on piano roll
7. The Ragtime Nightingale
Joseph Lamb
Played by Joshua Rifkin
8. Kickin' The Clouds Away
George Gershwin
Played by George Gershwin on piano roll
9. Tea For Two
Youmans and Caesar
Arranged and played by Claude Bolling
10. Norwegian Dance Op. 35, No. 2
Edward Grieg
Played by Cyprien Katsaris
11. Death Ray Boogie
Claude Bolling
Played by Claude Bolling
12. At the Cradle
Edward Grieg: Lyric Pieces, Op. 68, No. 5
Played by Balazs Szokolay
13. In Autumn
Edward MacDowell: Woodland Sketches, Op. 51, No. 4
Played by James Barbagallo

Saturday, August 6, 2016

The Gluten Free Burger Project

(Updated Tuesday, May 2, 2017 and June 6, 2017)

In 2006, GQ Magazine published "The 20 Hamburgers You Must Eat Before You Die." The restaurants are located everywhere from L.A. to New Haven to Seattle to Florida. We took a road trip that year, and I made a list of all these places. We ate at about half of them.

If we'd bothered to actually read the article, instead of just making the list, we might have noticed that a large part of what makes the burger is the bun. Since we must eat gluten free, and gluten-free hamburger buns were a rarity anywhere in 2006, we had to eat ours without the bun, and we missed half the experience.

Hence, my quest to identify hamburgers you must eat, served by a restaurant on a gluten free bun. Yeah, we can't eat gluten, Yeah, we want to eat our burger on a bun just like you do. Yeah, gluten-free buns are readily available. Yeah, lettuce wraps and corn tortillas do not cut it.

This is a list of restaurants purported to serve a decent burger on a gluten-free bun. We have not eaten at many of them, so now that we've identified a few, we can start checking them out. If you know anything about them, or have an opinion, or know of some that are not in our list, please comment. There is a list of resources at the bottom. I had these criteria for whether or not to list:
  1. They must list the GF bun option on their online menu. 
  2. It is not enough to just be listed on some GF web site.
  3. They must not have bad reviews on any GF web site or any review web site.

We have visited these

1. Smashburger - 300 locations
Our current favorite. A really soft GF bun. Helpful servers. And they have sweet potato fries cooked using a dedicated frier. Good shakes too. It's like fast food, not much ambience.

2. Red Robin - 500 locations
We only had a bad experience once, when they didn't really know how to cook the bun. And they tend to seat us in the bar, when we'd rather watch the children in the larger area. Their sweet potato fries are bottomless but they aren't as crisp as Smashburger's. Our favorites are the bacon guacamole burger and the DBG (with garlic aioli).

3. The Counter Burger - 40 locations, mostly in California
We ate here only once. It was good. We weren't impressed enough to visit again, when there are other places closer.

4. Koa's Seaside Grill - Lahaina, Maui
Many restaurants on Kauai and Maui will work with your gluten allergy. We just asked. The buns aren't on the menu, but they have them. (An exception to the rule.)

5. Gott's Roadside - St. Helena, San Francisco, Napa, Palo Alto
We visited the one in St. Helena when it was known as Taylor's Refresher. It was a lot of fun. The food was all huge. Everyone sits at long tables while the children play on the lawn. Don't know anything about their GF buns.

Update: We visited the Palo Alto location. The burger is big. They made my shake wrong twice before they got it correct.

6.  Armadillo Willy's - 8 locations in the bay area.
I visited the one near Blossom Hill and Almaden one day at lunch time. The burger was huge!

7. The Melt - 18 locations in San Jose, Palo Alto, southern California, Colorado, and Texas.
We went once. It was OK. The burger was nothing to write home about.

8. Scramblz - San Jose. Update 6-6-17: the bun is very soft. You can get side of GF waffles or french toast. Scramblz has a disclaimer that their kitchen is not GF and cross contamination could be a problem. We've never had a problem, but someone more sensitive that we are might get glutened.

9. Lyfe Kitchen - 14 locations in Cupertino, Palo Alto, southern California, Las Vegas, Colorado, Texas, Memphis, and Chicago. We ate at the one in Valencia near Magic Mountain. The bun was crunchy to the touch but soft in the mouth. The Farmhouse Burger is served with bacon and an egg over easy. The meat was cooked to medium, still pink.

10. Manna Cafe in Fresno. We did not have the burger, but the breakfast was wonderful.

11. Hero Certified Burgers in Ontario and Quebec. We ate at the lone outpost in Montreal. This one comes near the top of our list for its locally made gluten free bun with poppy seeds. Most of the other burgers we've eaten use the same off the shelf gluten free bun from a major baker.

12. B Good - 27 locations around Boston. We visited the one on Washington Street, near the State Street T station. The burger and sweet potato fries were tasty. They have some healthy brand of fountain sodas that still met my caffeine needs. Their niche seems to be healthy, locally-sourced food.

We visited these before they had GF buns

13. Santa Fe Bite - Santa Fe, NM
This one is owned by the owners of the Bobcat Bite, which closed. Bobcat was one of GQ's 20. Their burger was ok, but the small restaurant made it difficult. They are in a larger location now. Here is a recent review.

These locations are near us in northern California

  1. Mooyah Burger - Los Gatos, Morgan Hill, Walnut Creek, southern California, AL, AR, CO, CT, FL, IL, LA, MA, MT, NC, NH, NJ, NY, OH, PA, TN, TX, VA, WI, Canada, Mexico, Middle East. Not all locations have gluten free buns, but Los Gatos has it listed.
  2. Moxy Beer Garden - Berkeley
  3. Farm Burger - Berkeley, San Anselmo, North Carolina, and Georgia
  4. Kronnerburger - Oakland
  5. Drake's Brewing Company - Oakland
  6. Fast Food Francais - Sausalito
  7. Saturn Cafe - Berkeley
  8. Bernal Star - San Francisco
  9. BurgerMeister - Daly City, Alameda, San Francisco, Berkeley
  10. Mona's Burgers - Walnut Creek
  11. Broderick Road House - Walnut Creek, Sacramento
  12. Shoreline Coffee Shop - Mill Valley
  13. Moss Beach Distillery - Moss Beach

OK, still on the west coast, at least

  1. Burger Lounge - 20 locations in Los Angeles and San Diego
  2. Blue Moon Burgers - Seattle
  3. Cheeseburger Nation - Las Vegas, 4 on Oahu, 3 on Maui (we saw the one in Lahaina but we did not eat there)
  4. Burgerville - 39 locations in the Portland, Oregon area
  5. Wahlburgers - Las Vegas, FL, MA, MI, NY, PA, SC, Canada
  6. Blazing Onion - 7 locations in the Seattle area

At least some locations west of the Mississippi?

  1. Burger 21 - 20 locations mostly in Florida and Georgia, but also TX, IL, MI, PA, NY, VA, NC, NJ
  2. Culvers - 600 (?) locations in (in order of frequency) Wisconsin, Illinois, Minnesota, Michigan, IN, FL, IA, MO AZ, KY, SD, CO, TX, NE, OH, TN, UT, GA, KS, ND, SC, NC, ID, WY
  3. Cheeseburger in Paradise - FL, SC, VA, MD, NJ, IN, NE
  4. Guru Burgers and Crepes - Sugar Land, Texas
  5. Cafe Abiquiu - Abiquiu, NM
  6. Guru Burgers and Crepes - Sugar Land, TX - and it looks like they have gluten free crepes too!

The east coast or somewhere else far away

  1. The Nomad Hotel - New York
  2. The Little Beet Table - New York
  3. Vinsetta Garage - Berkley, Michigan
  4. Bareburger - 25 locations, mostly in NY and NJ
  5. Dakota Blue - Atlanta
  6. Sprig Restaurant - Decatur, GA
  7. South City Kitchen - 2 locations in Atlanta
  8. Yeah Burger - 2 locations in Atlanta
  9. Mainely Burgers - Cambridge, MA

Closed since this list was first created

  1. Four Burgers - Cambridge, MA

Monday, March 21, 2016

What programming language should I learn next?

The latest programming language rankings came out last month, and the most popular languages have not changed much since last time, nor have they changed much over several years.

When I think about learning a new programming language, I think about several things:
  • How easy is this language to learn?
  • How will I learn the language? In a community college class, online tutorials, or just study the manual?
  • What can I use this language for?
  • What tools does this language require? Can I install it on my computer?
Here is a summary of this information for the most popular programming languages.

LanguageDifficultyUsed forLearn at
JavaScriptEasyWeb clientCollege
JavaMediumGeneral purpose, AndroidCollege
PHPEasyWeb serverCollege
PythonEasyGeneral purpose, scripting, QA, ITCollege
C++DifficultGeneral purpose, embeddedCollege
RubyEasyWeb server, scripting, QA, ITOnline
CSSEasyWeb stylesCollege
CEasyGeneral purpose, embeddedCollege
Objective-CDifficultMac and iOSCollege

These languages have a ranking from 1 to 10, but the fact is, they are all very popular languages and no one language is used a lot more than any other language on the list.

JavaScript is used on more than 90 percent of all web pages worldwide. You can use JavaScript to create animations, validate web forms, create web applications that run on data, and exchange data in the background with a server. JavaScript is a very easy language to learn, and you can learn it at almost any community college.

Java is a general purpose language that is used in many embedded systems. Embedded systems are things we don't typically think of as computers, like set-top boxes and electric meters. But Java is probably most famous for programming Android apps. Java is not too easy to learn, but it is not super hard either. You can learn it at most community colleges and some universities.

PHP is used to create web servers that can access SQL databases. It is the most widely used web server language, being the language of choice for about 70 percent of web sites worldwide. It is easy to learn. You can take a class at several community colleges.

Python is one of the easiest languages to learn. It is used a lot for IT scripting. You can learn it at many community colleges.

C# is used to program Windows and Windows Phone applications in the .NET framework. It is a hard language to learn. Some community colleges offer classes.

C++ is an older general purpose language. It is used a lot for embedded systems programming (see above). C++ is hard to learn. Many community colleges offer classes, and some universities.

Ruby is an easy scripting language. It is used in many of the same applications as Python, but the Ruby on Rails framework lets you set up a web server quickly without having to learn PHP and Apache. For that reason, a lot of startup companies use it to quickly set up their web sites. But later, they will switch back over to PHP for the long term. Ruby is one of the few languges that is rarely offered as a college class. You'll have to buy a book or take an online tutorial. Ruby is an easy language to learn, but setting up Ruby on Rails is difficult.

CSS is the language for making web site styles. I'm surprised it is on this list. It is important for making web sites, but it is not a true programming language. You can learn CSS as a part of most HTML classes in college.

C is an older version of C++ that is not object oriented. It is a very fast and powerful language, easy to learn, but also dangerous. It has many features that only experienced programmers should use, but beginners try it anyway. It is mostly used in embedded systems that must work very quickly, "in real time." You can learn C as a part of a C++ class in college.

Objective-C is the language for writing Mac and iOS apps in Xcode. Until two years ago, it was the only option for writing Apple apps, which explains its wide use. Some colleges offer Objective-C classes, but most colleges are switching over to the newer Swift language. You can find a Stanford class in Objective-C and Swift online, but they expect you to be a smart Stanford student.

What about other languages?

Swift is Apple's replacement for Objective-C. It is much easier to learn than Objective-C. But Swift hasn't yet caught up with Objective-C because it has some idiosyncrasies and it is missing a few features. Also, programmers have been using Objective-C for many years, but Swift has not been available that long yet.

SQL, particularly MySQL, is not on this list but it ought to be. MySQL is a language for accessing the most common form of database. It is used a lot with PHP. So it ought to rank up there almost as high as PHP. The reason it is missing from this list is because of the way the data was gathered.

Perl is a popular language that has been losing ground to Python and Ruby, because they all do similar things but Python and Ruby are much easier than Perl.

Go (or Golang) is a new language from Google that is easy to use, but hasn't really found its niche yet.

Groovy is a new language that combines the best of Java and the scripting languages like Python. It uses Java syntax, but it can be run as a script without needing a Java compiler.

Wednesday, February 10, 2016

The Software Development Process


It starts with the customer telling you what they want in the software project. The customer might be a paying customer. Or it might be another department within your company, your boss, or the instructor in your class.

It is important that the customer, whoever they are, tell you clearly what they are looking for. The main avenue for communicating this information is the requirements document. This is a written formal document that lists everything the customer is looking for.

The communication of the requirements document is usually followed up with a face-to-face meeting to settle details and verify there are no misunderstandings.


You or your company will then reply to the requirements document with another document called the specification. The specification will list all the details about how you will accomplish the customer's requirements. The specification will usually be created with conferences and meetings, because it must be detailed and specific; it is rare that one single person knows all the details about design, coding, testing, pricing, customer contact, and so on. Those functions are usually split up among different departments. So the specification document may require a bit of coordination.

The customer will then review the specification and sign off on it once they believe it sufficiently handles all the details they require.


Of course, someone must code the customer's final product. Traditionally, coding does not start until the specification document has been signed off. In the modern world of technology, this rarely works. Instead of proceeding neatly from step to step in this process, we frequently work together on all steps at the same time. All modern companies like Google and Facebook work this way. You can tell if you are looking at an older or more traditional company because they want you to know about SDLC or Software Development Life Cycle. You can tell if you are looking at a more modern company because they are looking for things like Agile.

In Agile programming, there may be a lot of back-and-forth between requirements, specification, and coding. Because of this, the requirements may change while you are in the process of coding. So you have to be ready to change plans at a moment's notice without complaining. This is why the process is called Agile (able to change direction quickly).


Every software product must be tested. Larger companies usually devote whole departments to nothing but testing. This is an important part of the software process. Without it, you may release a product that has bugs, and this will give you a bad reputation. If your product is not fully tested, it may get bad reviews in the iTunes store (or Google Play) and other potential buyers may decide not to try it.


This can easily be the longest part of the software process, because maintenance can last many years. Every time Apple changes Swift or Xcode, or the libraries, or a new product comes out (iPad Ginormous?), you may have to change things in your code. Also, buyers will report bugs in your code, and request new features.

So it is important that you write your code clearly, with comments, so next year, when you are trying to fix a bug, you can remember how your own code works. You'd be surprised how easy it is to forget what you were doing after you've not looked at your code for a while.

Thursday, December 10, 2015

My peaceful tree

I hope we can code this scene in my high school class next week. This version is SVG. We can convert it to HTML5, then finally create a Swift app.

Tuesday, December 1, 2015

Reno Erat Rudolphus: Christmas CD 2013

This one has classical, pop, techno, piano, children, and even bluegrass.

Nicolaus Esterhazy Sinfonia1The Virgin Mary Had A Baby Boy
Andy Williams2Kay Thompson's Jingle Bells
Golden Guitar Project3White Christmas
DJ Santa Claus4Silent Night
Nicolas Spencer5My Favorite Things/Carol of the Bells
Straight No Chaser612 Days of Christmas
Jack Jezzro7Deck the Halls
Nicolaus Esterhazy Sinfonia8Carol of the Bells
Stephen Miller9O Come O Come Emmanuel
Nicolas Spencer10The First Noel
The Clarke Family11Angels We Have Heard On High
The Cedarmont Kids12The Virgin Mary Had A Baby Boy
Nicolas Spencer13Thou Didst Leave Thy Throne
Simhah Chamber Collegium14Angels We Have Heard On High
Ray Conniff15The Little Drummer Boy
James Beuregard and Keri Taylor16I Cannot Tell
Jason Gray17Easier (Song of the Wisemen)
James Beuregard and Keri Taylor18Infant Holy, Infant Lowly
Nicolas Spencer19Brahms Lullaby

Sunday, November 29, 2015

A Red-Nosed Christmas: Playlist 2002

This playlist has some 60's artists like Percy Faith, Ray Conniff, and Andy Williams interspersed with techno tracks, comedy, and (I hope) food for thought.

Percy Faith1Joy to the World
Percy Faith2Do You Hear What I Hear
Guitar3It Came Upon A Midnight Clear
Ray Conniff4Little Drummer Boy
Andres Segovia5Greensleeves
Trans-Siberian Orchestra6Christmas Canon
Anne Murray7Christmas in Killarney
Trans-Siberian Orchestra8Revenge of the Sugar Plum Fairy
Techno Mix9Jingle Bells
Dean Martin10Rudolph the Red-Nosed Reindeer
Jimmy Buffett11Run Rudolph Run
Big Bad Voodoo Daddy12Rockabilly Christmas
Elvis Presley13Santa Bring My Baby Back
Roy Zimmerman14I Tawt I Taw Ol' Tanty Claus
The Chipmunks15The Chipmunk Song
Cheech and Chong16Santa Claus and His Old Lady
Nat King Cole17Chestnuts Roasting
The Foremen18Buy War Toys For Christmas
Andy Williams19Some Children See Him
Randy Stonehill20Christmas Song for All Year 'Round

Quirky Christmas: Christmas Playlist 2001

Only my family and closest friends know that many years, I like to create a Christmas CD to share. This playlist is the first Christmas CD I put together (and arguably the best). I believe it is from 2001, because it seems to reflect the events of 2001.

Larry Norman1Christmastime
Tom Lehrer2A Christmas Carol
Frederick Fennell3Sleigh Ride (Leroy Anderson)
LA Guitar Quartet4Nutcracker - Overture (Tchaikovsky)
LA Guitar Quartet5Nutcracker - March (Tchaikovsky)
LA Guitar Quartet6Nutcracker - Russian Dance (Tchaikovsky)
The Roches7Hallalujah Chorus (Handel)
Handel8Concerto a Due Cori
John McCutcheon9For Unto Us A Child Is Born (Handel)
Mannheim Steamroller10Do You Hear What I Hear
Mannheim Steamroller11Away In A Manger
Pierce Pettis12Miriam
Bruce Cockburn13Cry of a Tiny Babe
Kathy Mattea14Straw Against the Chill (Bob Franke)
Dennis Lee15Jesu, Joy of Man's Desiring
David Massengill16Jesus the Fugitive Prince
John McCutcheon17Christmas in the Trenches
John Lennon18Happy Xmas Was Is Over
Bing Crosby & David Bowie19Peace On Earth / Little Drummer Boy

Friday, November 13, 2015

Animated Adobe Icons

We are doing these icons in the high school class. We have not finished the last icon yet. We are drawing them in SVG. We are animating them using JavaScript.

Sunday, October 25, 2015

Reformation Day

A long time ago, my company sent me on business trips to western Minnesota to install electrical equipment. On one of those trips, I met a nice gal of good Minnesota Norwegian stock and asked her out to a music concert at the college in Fargo, North Dakota.

Being a good Minnesota Lutheran, she told me about her church in Moorhead. (There are so many Lutheran churches in Fargo and Moorhead, I'd never be able to remember now which one it was.) I had the privilege of visiting there the following Sunday, the last Sunday of October.

Reformation Sunday is not only a day to remember the events of 1517 Wittenberg, but also a time to celebrate with a grand midwestern potluck. Had I known ahead of time, well, I'd still not have been able to cook up anything in the motel room. But the little old ladies of the church welcomed me warmly and introduced me to their favorite potluck dish: lutefisk. "You'll either love it or hate it," they said. "It's like fish flavored jello," they said. How could I possibly turn this down? Fortunately, they didn't give me a lot!

After the potluck, I visited this nice gal and her family at her home, and we took turns playing the piano. It was a wonderful afternoon.

On another occasion, one of the electrical workers invited me to his home for lunch, and they served me corn freshly cut from their very own property.

After visiting Minnesota several times, I decided that the good Lutherans of Minnesota are far and away the friendliest people I've ever met. If they have any of the Lake Wobegon quirks, I never noticed.