This past Tuesday, I gave a talk at the April meeting of the Go User Group Atlanta, discussing and comparing four different Go dependency managers. The four I discussed were
I also touched, very briefly, on gb. The talk went pretty well, I think, and there was good discussion during it.
If you’re interested, here are the slides, and links to the four demo projects.
And even though I didn’t use it during the presentation, I did knock up a demo of gb, which can be found at https://github.com/joeygibson/gb-demo.
About a week ago, I decided to implement Conway’s Game of Life in Go. There was no particular reason, other than that I was bored, I wanted to do something else with Go, and I had never tried to implement Life before.
For those who don’t know, Life is a zero-player “game” in which an ecosystem is seeded, and then plays out all by itself. Once begun, each generation follows these basic rules:
- Any live cell with fewer than two live neighbors dies, as if caused by under-population.
- Any live cell with two or three live neighbors lives on to the next generation.
- Any live cell with more than three live neighbors dies, as if by overcrowding.
- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
That’s it. You start it up, and then sit back and watch for patterns to emerge. So far, I have a version that uses a portable curses-like library for console graphics. It runs on OSX, and should definitely run on Linux. The page for termbox-go says that it will run on Windows, but I haven’t tried it. I plan to build a “prettier” version using Gtk+, but that will take a little while, since I don’t know Gtk+ (yet!).
Here’s a screenshot of the current version running:
If you want to see the code, it’s on github.
Tonight I gave a lecture to the Atlanta Go User Group called “Go: Beyond the Basics.” Here are the slides from that talk:
and here is all the sample code that I showed, and here’s a PDF of the slides, in case you’d rather have that.