1. Project GO - update

    So for the last week or two i’ve been reading a lot of the background of the Go language. Mostly about things like data structures or things like interfaces and how they work with methods. 

    I might do a whole little program to explain these, not least to myself but the next thing i’m gonna focus on is concurrency. Concurrency, as has been said so many times is not parallelism. A great explanation of this can be found on the Go blog so I won’t go into any more of that here. Theres also a great talk by rob pike about Go Concurrency.

  2. Project Go! - simple echo server

    UPDATE: i’ve actually added the code now :)

    So this is experiment number two!

    A simple echo server (github)

    We introduce the net package in this example. It’s a handy library of lots of functions that you can use to make do a lot of network functions - in our case it’s starting a server on port 8080.

    That leads us on to another new idea - constants. 

    You can find that we have set a constant called PORT just under the import statement. We then use this to set the port to listen on.

    A couple of other new things - strconv, a string conversion package, which we use to turn the integer constant PORT, into a string. Also bufio is a useful package to help with buffered input/output.

    You can find number one here and the code in github at https://github.com/matzhouse/progo_helloworld

  3. Project Go! - Hello World!

    So here it is, the first part of my plan to learn Go. I’ve hosted it on Github

    Any questions (it’s very simple!) just hit me up on Twitter

  4. Little summer project

    Over the summer i’m hoping to learn Go, a new-ish language build by some clever chaps at Google. 

    It has lots of nice features, but some of the ones i’m most interested in are all to do with concurrency.

    Anyway, i’ve got some little projects planned that should take me through the language nicely..

    1) Hello World - just because 

    2) Server program - very simple, connect and echo what is sent!

    3) Slightly more complicated server program, handling concurrent connections and possibly doing something useful!

    4) Memcache clone - very simple, using the above, then just store things in a map and return them when requested

    5) A more complicated memcache clone - should respect the memcache protocol and implement all functions

    6) An event counting service - accept packets over udp, output events per second etc

    Anyway, there you have it - the plan, plain and simple.

  5. Sharpening Fonts in webkit browsers

    Just found this amazing little bit of CSS that I had no idea about.

        -webkit-font-smoothing: antialiased;

    And that is all you need :)

  6. Started a new project this week..

    http://www.findyourperfectvenue.com is a new site that helps you find amazing venues for your perfect wedding!