Sunday, December 18, 2016

Takes on the world

An interesting perspective:

"Programs aren’t models of the world constructed from scratch but takes on the world, carefully carved out of reality."
-- Allison Parrish

Saturday, July 27, 2013


That which
    feeds us,
    directs us.

Those who
    provide for us,
    control us.

Monday, September 3, 2012

Moving out

To all my friends that are growing up, moving out, going to university:

When I moved out (oh so many years ago...), my dear mum gave me some advice. She wrote it in a very nice card, and I'm sad I can't do the same for each of you. Hopefully this will do!

  • Be proud of your accomplishments to date.
  • Maintain communication with the people who are important to you.
  • Be grateful for the things you appreciate... health, wealth, family, friends...
  • Ask for help when you need it. Accept help from those that offer it.
  • Know what it is that refreshes/recharges you, and make time for it.
  • Accept blame gracefully where blame is due (ie don't be afraid to say sorry).
  • Request acknowledgement where it has been earned.
  • Balance the give with the take.
  • Try to chose 'optimal' goals rather than 'perfectionist' goals.
  • Don't judge others too quickly.
  • Remind me about this advice if I ever forget!

And one line from me:
          Have Fun! :)

Thursday, June 14, 2012


Computer software is sometimes limited by what the hardware can do. The CPU can only perform so many calculations per second, there is only so much memory into which data can be stored. There is a given speed at which information can flow from one device to another.

This last one, the data transfer rate, is currently a bottleneck for applications running on mobile phones and devices. When using a cellular data connection, every megabyte is measured by the network provider, and the user is often charged per megabyte used.

This has implications for developers making mobile apps that connect to the internet: if every piece of data transferred has a cost, then it is important to minimize the amount of data transferred. This, I argue, is a major reason why 'webapps' (where everything is provided by an external device) are not ideal. Local apps store some data on the mobile device, incurring a once-off cost of transfer, where as webapps must transfer all data every time they are used. This 'data' includes the design of the interface and the logic of the program, as well as the content of the app. This logic and interface data don't change that often, it is the content that changes. Local apps keep a copy of the unchanging data on the device, and only update the changing content - reducing the network usage.

If there were no cost for data transfer (and here I include the cost of waiting for slow transfers), the data that describes the app's interface and logic could be transferred every time the app is used. Minimizing transferred data is currently an important consideration, but perhaps in the future it won't be. 

I imagine that this parallels other bottlenecks in the past. Such as the need to minimize data in memory in early computers, where every byte mattered. At that time, productive programmers had to be aware of exactly how memory was managed and used by their program, and the good ones knew many tricks for minimizing this. Eventually, though, these tricks became unnecessary as memory became effectively free (in relation to other bottlenecks) and programmers could spend their time focusing on other problems.

Tuesday, October 4, 2011


Masahito Yoshida is walking through Vancouver currently. He has walked from Tokyo to Portugal, and then from Toronto to Vancouver, over the last couple years.

His Japanese blog:
His English blog:

I got to meet him this last weekend as he walked the last two hundred kilometers to Vancouver. The distance that I drove in a couple hours will take him four days to walk.

He pulls a cart with all his belongings and is an IT engineer.

The parents of the family I lived with in my second year of university have done equally long distances but on bicycle, and they met him two years ago. Since then they helped him plan his trip across Canada and will be housing him for a couple nights before he goes to Australia.
Chris and Margo's bike blog:

All very neat people!

Wednesday, September 14, 2011

Puppy agility and sheep herding

My aunt is starting a dog and trainer training facility on Vancouver Island! Her and a friend are working to start a buisness teaching: agility (a competitive race over standard obstacles), sheep herding (with real live sheep!), and obedience (self control for puppy and owner).

Even if you are an experienced trainer, these ladies can help you brush up on your puppy-human communication or teach you to train other trainers!

They are rather excited about it. And are great teachers and dog trainers!

Sunday, September 4, 2011

Income Tax: credits and deductions

So I was browsing the government of canada website when I ran accross the annual budget and saw some items related to new 'tax credits'. Not knowing what this really meant, I thought I'd do some research. (My dear mother has done my taxes for all years I've been eligible so far, but it's time to start understanding it myself).

Disclaimer: This is my current understanding only! I can't commit to this being correct. Please comment if you have corrections or clarifications.

One pays tax (surprise!), to various places but in this case I'm just going to look at federal canada.

The current tax rates should be here. Basically, If you earn $0 to ~$41,000 you pay 15% of that as federal tax. ~$41,000 to ~$83,000 you pay 15% on the first $41,000 and 22% on the rest. And so on.

There are tax credits and tax deductions.

Tax deductions reduce the actual taxable amount by the stated amount. So a tax deduction of $5000 reduces a taxable income of $35,000 to $30,000. Common tax deductions include a Basic Personal Amount of ~$10,000, and CPP contributions.

A tax credit is an amount and a percent. Say $1000 at 15%. Take the percentage of the amount, 1000 * .15 = $150 in this case, and subtract that from the tax you actually pay. Examples include transit passes. You have to actually pay the amount to get it, so that $1000 is actually a maximum and you get 15% of whatever you actually pay.