RC 00 (it begins)

It is day 3 at the Recurse Center (RC)!

Me experimenting with Haskell and Rust

It has been a whirlwind of orientation, meeting awesome people, learning about (and about the existence of) new cool things, setting up and settling in.

This was my second day here:

  • 8-9am: Research blogging tools to create this very website. Decide on Jekyll + github pages + namecheap domain as a good solution
  • 9-10am: Update MacOS to Mojave after experiencing ruby-related jekyll issues
  • 10-11am: Using this great tutorial, get jekyll and bundler installed. Get jekyll serve working and start developing this blog
  • 11-12pm: Pair programming workshop! Create a version of Conway’s Game of Life in python. Gist here.
  • 12-12:15pm: Discuss wind speed measurements using an arduino with someone working on an auto-steering sailboat. Yay mech eng knowledge!
  • 12:15-1pm: Lunch chat with someone, discuss what Rust is and why people are excited about it (memory and type safety)
  • 1-2pm: Participated in an “Intro to Haskell” workshop. No loops, variables don’t vary, unclear code execution order…what is this language??
  • 2-3pm: Continue site development
  • 3-4pm: Category theory discussion group. First foray into theoretical math in a long time. Approachable intro by the few folks with deeper knowledge on the topic.
  • 4-5:30pm: Further introductory Haskell chat, help solidify some core concepts intro’d earlier
  • 5:30-6:30pm: Non-technical presentations (7 mins max) - folks did them on cross stitching, rube goldberg machine demo, cats, contact juggling, architecture, and the origin of the English language

It’s everything I had hoped for and more.

The space is incredible, with tons of work stations, a large library, 5 or 6 functioning vintage PCs from the early days to play with, breakout rooms, an LED project you can control via your computer, a nap space, and clean and functional kitchen/lunch area.

My goals here are (in no particular order):

  • Gain a stronger foundation in computer science theory (algorithms, data structures, complexity management, etc.)
  • Continue to build on my statistics and probability knowledge, likely with some forays in to AI projects
  • Learn of more “unknown unkowns” - concepts that I didn’t know existed but are incredibly interesting and/or useful
  • Reshape my assumptions about education and what the learning process looks like
  • Become a much more effective programmer so I can kick ass at my next role

Some pitfalls I’d like to avoid:

  • Have my time dominated by learning tools rather than understanding concepts and theory. Learning a tool (e.g. a new programming language, framework, library, etc.) can be done when it’s time to implement conceptually complete visions
  • Stretch myself too thin by trying to learn everything and then feeling like I’m not really learning anything
  • Get sucked in by “the hype” around a language or domain without properly evaluating whether or not it is the best way to spend my time at my current stage of development
  • Lose steam by pushing too hard, feeling like I’m not succeeding, or failing to achieve my incremental goals

I’m so excited! Pitter patter…