Monthly Archives: August 2014

On class, Tim Hortons, and Starbucks

While there is alot being written about the Tim Hortons/Burger King merger from the point of view of taxes and finances, this piece in the blog Worthwhile Canadian Initiative touches on something else: class

Can’t we at least get a decent class analysis of this question? There are two sorts of people: Starbucks people; and Tim Hortons people. And this class distinction is far more important than anything based on superficial differences like income and occupation. As a Tim Hortons person, who feels deeply ill-at-ease in a Starbucks, and who does not understand the menu, I cannot stop myself asking the “barista”(?) the subversive question: “Can I have a small double-double please?”

In my experience with going there, Tim Hortons is an establishment that seems to be staffed sith and patronized by working class people. As opposed to Starbucks, which seems to be staffed and patronized by middle class people. This is not to say that one class is better than another, but there appears to be this class distinction that differentiates them. The blog post linked to above talks about cultural or educated classes, but I think there is a case to be made that this also has to do with economic classes as well as a rural / urban / suburban divide.

Economically, the lowest coffee advertised by Tim Hortons is closer to one dollar (in Canada). In Starbucks, the lowest coffee advertised is closer to two dollars. While that may seem like much to some, for working class people, it makes a big difference. (Never mind that alot of the coffee bought in Starbucks is over three dollars once you start getting it from the espresso bar versus from the coffee carafe.) Likewise, a coffee and a donut costs less than three dollars in Tim Hortons, while a coffee and a snack at Starbucks is closer in the range of four to five dollars. (Based on the many coffee / snack combos I have bought at both.)

In terms of rural / urban divide, Tim Hortons has been over time making a move into the downtown core (at least in Toronto), while Starbucks has been slowly expanding outwards (e.g., Sydney, Nova Scotia recently got a Starbucks).

Those of you who say you have good taste may say: yes, but Starbucks is better. (And there will be others that say both are terrible and only indie coffee shops have good coffee.) I believe it is better too, though I don’t think Tim Hortons’s coffee is bad. (I have drunk bad coffee, and Tim Hortons is not bad.) I think for Tim Hortons customers, coffee is a hot beverage with caffeine that is good to drink while driving and at work.  Having it cost less makes a difference. Tim Hortons advertises that their coffee is fresh: that is the quality it has. Starbucks will talk of their coffee in terms of where it comes from and with terms you often hear wine experts talk about: those are the qualities it has.  Your values will determine where you buy your coffee from.

By the way, one of the stereotypes was that only middle class people (and pretentious ones at that) drank lattes. Now Tim’s has machines that make lattes and a wide range of milk based coffees too. They may not be as good as those in other places, but they are not bad and they have two other qualities: they are fast and they are lower in cost. Those two qualities are valued by working class people. And working class people like to try things too: they are no different from people with more money and more education who live downtown in the city.

Coffee is about class. It’s about the different classes we have in our society that center around money, education, where you work and where you live. Starbucks and Tim Hortons are based upon that as well, though as each attempts to grow more, they are expanding from their class base. As someone who comes from a rural working class background but lives an urban middle class background, I am comfortable in and recognize the value in both.

In Canada, we don’t talk about class much, but it is everywhere. Including the coffee shops we patronize.

All three volumes of the Feynman Lectures on Physics online

Yes, it’s true. The great Feynman Lectures on Physics are now online. Volumes one, two and three, cover everything from mechanics to quantum mechanics. A must for anyone interested in physics.

I’d also recommend it to anyone looking to write pieces on how to explain something technical.

A simple example of how to set up a PHP-MySQL application in IBM Bluemix (including the code you need)

While PHP is not one of the standard runtimes provided in the Bluemix catalog, the sample code in this git repo ( will show you how to bring your own buildpack, and this buildpack will allow you to have PHP code running in Bluemix that also can talk to a MySQL database running in Bluemix.

Among the files there is a PDF providing detailed instructions on how to set things up in IBM Bluemix.

P.S. This is sample code.  See the licence file in the repo for more details.

How much sleep do we need? Seven hours? Eight?

This WSJ article makes the case that you can probably get by with less than eight. Given the audience of the Wall Street Journal, I am not surprised they would have such an article.

For more reasonable people, this article in Real Simple (So Now We Only Need 7 Hours of Sleep? Not So Fast) makes more sense.

As I get older I lean towards getting more sleep, but to each their own.

Regardless, the weekend is coming up. Get some sleep.

P.S. The image, from the wikipedia section on sleep, shows the downside of lack of sleep.

Everyone should have a good minestrone soup recipe

And this one from Food52 could be yours. Once you get in the habit of making minestrone, you can really adopt any set of vegetables and beans you have to make the soup you want. Don’t like cabbage? Don’t use it. Out of chickpeas (garbanzo beans)? Use something else. It may not strickly be minestrone if you do, but who cares: it will still be delicious. Needless to say, this is a great way to use up bits and pieces of vegetables in your crisper.


Why Read the Classics? Italo Calvino has the reasons

It’s the weekend. You could use something to read. Instead of going to the latest books — which are no doubt very good — why not consider picking up a classic and reading it. If you are furrowing your brow at the thought, please take a moment and read Calvino’s argument for why you should in this NY Review of Books piece.

One thing that Calvino doesn’t mention is that the classics can be fun. Not all of them, of course, but many of them can be as delightful and engrossing as any book you might find.

Whatever your reasoning to select one, here’s hoping you start reading one this weekend. Enjoy!

(The image contains text from Calvino’s book, “If on a winter’s night a traveler” and it contains the best description of the process of reading. I don’t know if it’s a classic yet, but it will be and is also a great read.)

Teach your kids (and parents…and yourself) how to download software


Why? Because they are going to do it regardless of whether or not you teach them, and if you don’t teach them properly, there is a good chance they will download malware or at least the wrong software.

To back up, my son was complaining last night he could not download some software for his computer. He had gone onto Google, entered “download software XYZ” and clicked on the first thing at the top of the page. Now often times the first thing is NOT what you want: it is some company that purchased the right to show up first. I told him to instead look at the URLs that are displayed, and look for the company name in the URL. I told him to be careful about what you click on. (The software he wanted was on the first page of the search results, but about 3 or 4 entries down.)

The safest thing is to always have them talk to you before they download something. Or you email them a safe link instead of them clicking on what shows up in Google.

Thought for the Day

Via Real Simple magazine.

A return to Twitter (not the service, but the community)

After the frustration with the Twitter service for changes like this, I thought I would give up Twitter. However, Twitter is the sum of a number of parts: there is the service that Twitter provides, from the backend servers to the APIs to the user interfaces and client software you use;  and then there are the people that contribute to Twitter. Among those contributors are people I really enjoy socializing with whom I cannot connect with any other way. To give up all of Twitter means tossing out the baby, the bathwater and even the tub itself. That’s dumb. (I do dumb things often, but typically correct most of them in time. :))

To get around that, I decided to use my limited software skills and the APIs that Twitter provides to write my own Twitter client, in a way. It is a hack, but it is a good hack (for me). I am able to control what I see this way. Not only do I not have promoted tweets, etc., in my feed, but I am able to get rid of things like RTs from everyone, rather than having to turn of RTs one at a time. I’m also able to save all the tweets in a spreadsheet or some other format, so I can look at them when I am less busy, or decide on other filters I want to apply, etc. Later on I can write more filters so if a trending topic gets to be too much, I can just delete it or save it to a different file for later.

Now my Twitter experience is gone from poor to great (for me).  I have thrown out the dirty bath water, but kept the tub and the baby. This makes more sense, obviously.

Last but not least, I appreciate all the people who expressed concern over my leaving Twitter. It was very kind of you, and why I want to stick around, if I can.


Are you traveling? You need to know to look out for tourist scams

Anyone who has travelled, even a little, has likely encountered one of the scams listed here: Tourist Scams I’ve Fallen For (And How to Avoid Them). I know I have run into the Overly Kind Stranger scam, and I have been lucky to avoid some of the others, like the “It’s Closed” scam.

The list in the article are worth reviewing regardless of how often you have travelled. The best way to deal with them is to know about them, expect them, and have a plan to deal with them.

Good luck! Don’t get scammed.


Are you looking to move things to the cloud?

Then I recommend you review this article: How to classify workloads for cloud migration and decide on a deployment model – Thoughts on Cloud.

I really like this diagram, for starters:

P.S. Yes, it is hard to read, I know. The article has a version that is readable.

I am giving up on Twitter

I am going to take a sabbatical from twitter. It’s been a long time coming, but now it feels like it is due.

Twitter has always been a weak service filled with great people that made it great despite it’s weakness. That weakness has been there since the Fail Whale days, yet there was something unique about it that made me stick around.

In what appears to be its increasing effort to become less unique and more like Facebook, I am feeling less and less like sticking around. For whatever reason, last night Twitter decided I needed to read more tweets on Ferguson in the U.S.  (This is remarkable, since almost all of the tweets I was reading in my feed and on lists were regarding Ferguson). To accomplish this, it first gave me tweets that people I follow favorited. Then it started giving me tweets of a journalist that someone I know follows. It’s one thing to put sponsored tweets in my feed, but when twitter takes away control of my feed and just fills it with tweets it presumes I want to read, I am done with being a big user of this service.

I used to love Twitter as a service. I loved it and promoted it since the beginning. Recently, though, it has become a poor experience for me. As a service, I now consider it like I consider Facebook or LinkedIn: something I can use to stay in touch with people and share things, but not much more.

I expect I will still share good things with people and actively encourage people who take the time and effort to share good things with me. During this time, I will look at new tools and new platforms to be social and to make the world a better place. (Maybe I’ll write my own.) Perhaps right now someone is working on a new and better Twitter.

Thanks for the follows, favorites,  retweets and replies.

A Mathematician’s Apology by G. H. Hardy is free and online

The great mathematician G.H. Hardy wrote a slim book that is great for mathematicians and non-mathematicians alike. Best of all

As fifty or more years have passed since the death of the author, this book is now in the public domain in the Dominion of

So yes, you can get it for free, here.

I highly recommend it. (Did I mention it is a great read for non-mathematicians, too. It really is.)

Thanks to @anitleirfall on twitter for pointing this out.

Bezos’s (naturally) says it’s time to ditch the datacenter for cloud computing

And he and Softlayer (part of IBM) make a good case for it here: Bezos’s law signals it’s time to ditch the data center  in Tech News and Analysis.

This reminds me of a similar article, by Nicholas Carr, that was famous some time ago: Does IT Matter?

In both cases, where IT is a commodity like electricity or running water, getting the lowest cost and most generic (but good quality) version of it should be the goal.

However, IT can also be used as a differentiator. So can a data center. In those cases, company’s should control and manage their IT / data center to give themselves a competitive advantage.

P.S. As always, these views are my own and not necessarily my employers. See the “About” page for more on this.

How to set up Kanboard (a visual task board inspired by Kanban) on the IBM Bluemix platform

It is very easy to set up Kanboard on Bluemix, IBM’s PaaS solution. (For those of you not familiar with Kanboard, it it a visual task board inspired by Kanban). I encourage you to visit the Kanboard site for more information. 
Meanwhile, to set up Kanboard in Bluemix, I took the following steps, some which are optional:
1) Download the kanboard code from here:
2) Unzip the kanboard folder.
3) (Optional) Copy the kanboard folder into a local test environment. I had a Xampp test environment and I put the kanboard there. (e.g., C:\xampp\htdocs\kanboard). I started Apache and then pointed my browser at http://localhost/kanboard to see it working. (One of the benefits of doing this is I can configure the Kanboard environment before I push it into Bluemix. In my case, I created some new users, changed the admin password, and added some default tasks. If I push this folder, these changes will also show up in Bluemix.)
4) I had a copy of the Cloud Foundary executable (cf.exe) to push the code into Bluemix: I put the cf.exe file in the Kanboard folder.
5) I created a manifest.yml file in the Kanboard folder. In my manifest.yml file I had the following 

– name: <my app name>
  memory: 256M
  instances: 1
  host: <my host name>
You can make the name and host name anything, though the hostname is part of the URL for the site, so it must be acceptible as part of a URL. Also the hostname needs to be unique in Bluemix. I tend to make the app and host name the same.
Open a command window, and from the Kanboard folder, enter the following commands:
  1. cf api
  2. cf login -u <your Bluemix login account>
  3. cf target -o <your Bluemix login account> -s dev
  4. cf push
Once you see that the health and status for the app is “OK”, you can either go to Bluemix to check it out, or go directly to  the url: http://<hostname>
You should be able to login and proceed to use it. (The default userid and password is here).

A good list of Bluemix benefits here

I highly recommend this post on the top five benefits of Bluemix for anyone considering using PaaS, Bluemix, or cloud technologies in general.

17 great, short novels for people like me who struggle to finish larger volumes

If like me you want to read better but find yourself struggling to get through massive books that you tend not to finish, this post is for you. Rachel Grate has put together a list of 17 great books that cover a range of old and new, very well known and some less well know. What’s on the list?

  1. ‘The Awakening’ by Kate Chopin
  2. ‘The Hound of the Baskervilles’ by Sir Arthur Conan Doyle
  3. ‘Night’ by Elie Wiesel
  4. ‘Passing’ by Nella Larson
  5. ‘Candide’ by Voltaire
  6. ‘The Member of the Wedding’ by Carson McCullers
  7. ‘Animal Farm’ by George Orwell
  8. ‘Autobiography of Red’ by Anne Carson
  9. ‘Invisible Cities’ by Italo Calvino
  10. ‘The Buddha in the Attic’ by Julie Otsuka
  11. ‘The Old Man and the Sea’ by Ernest Hemingway
  12. ‘The House on Mango Street’ by Sandra Cisneros
  13. ‘The King’ by Donald Barthelme
  14. ‘The Metamorphosis’ by Franz Kafka
  15. ‘Notes from Underground’ by Fyodor Dostoevsky
  16. ‘Who Will Run the Frog Hospital?’ by Lorrie Moore
  17. ‘The Sense of an Ending’ by Julian Barnes

 As you can see, a great range. I highly recommend you go to the post and read why they are recommended. Then head to your local bookstore and grab a handful. 

One of my favourite books is ‘Invisible Cities’: I highly recommend it.

The problem with OKCupid and Facebook and their experiments is one of trust (and why that’s good)

Trust and mistrust is one thing that has not been explicitly mentioned in the many critical pieces about the experiments that Facebook and OKCupid have done with their users, but I think it is a key aspect of this that should be addressed.

When dealing with organizations, there is a degree of trust we put in them. Facebook has been eroding that trust for some time by evading it’s privacy settings. Now we find out that it is actively trying to see how effective it is at affecting people’s mood. It seems OKCupid is basically lying to you to see if it makes a difference.

However you feel about their actions, I think the common response is to trust these organizations less. I make an effort to avoid engaging with Facebook as much as I can. I haven’t used OKCupid, but I used to be interested in their data analysis:  now I no longer trust that analysis and I think it’s just as likely that they make up the data. I suspect others feel the same way,  and that can’t be good for either of them.

Furthermore, I am now distrustful of similar organizations that want to collect data on me. Two apps I downloaded recently, Happier and Unstuck, both looked appealing to me at first. However, after some thought, I stopped using them because I worried that they might misuse that data for their benefit and my detriment. I had no specific reason to believe they would misuse it, but Facebook has bred that mistrust, and that mistrust has spread.

Ultimately that mistrust is bad for organizations trying to build new technology, at least in the short term. However, in the longer term, I think this is a good thing. I think that mistrust and scepticism towards organizations will lead them (at least the smarter ones) to have more respect towards their users if they even want to have any users. Without that mistrust, organizations will continue to abuse their users in any way they seen fit. That abuse has to stop. This mistrust is a step towards stopping it.

P.S. This image…

… is from a great post on how Facebook has eroded privacy settings over time and is worth a look.