May 31, 2012

Finally understanding Unicode and UTF-8

Posted in Software at 23:25 by graham

Unicode maps 32-bit (4 byte) integers, also called code points or runes, to characters. UTF-8 is a way of storing those code points using less than 4 bytes per character.

61 is the Unicode code point for a, 229 is å and 5793 is . Unicode is how most modern programming languages represent strings: Java, .Net (C#, VB.Net), Go, and Python3, for example. Code points are usually written as two hexadecimal bytes prefixed by the letter u, or four prefixed by U. In python 3 this will display ᚡ:

print('\u16a1')

Read the rest of this entry »

May 26, 2012

Go @ Vancouver Polyglot Unconference

Posted in Software at 01:05 by graham

I attended Vancouver’s Polyglot Unconference, met some wonderful people, and got to present a session on Go (#golang). Here’s broadly what I said:

How do you decide what to learn?

You have an amount of cognitive resources to spend every day, what do you invest them in? You have a pile of books at home you’re going to get to, a growing list of “read later” bookmarks, and a list of tech you’ve been meaning to play with. Hopefully that list will be even longer by the end of today.

I’d like to propose a model for prioritising what you learn. And I’d like to share why I think Go is worth learning.

Picture a Venn diagram, three circles, with their intersection about where I’m standing:

Read the rest of this entry »