Today is the last day of my apprenticeship at 8th Light. Looking back at the last four months, I'm amazed by how much I've grown. The process was challenging, but very much worth it. Last fall, I promised myself that I would dedicate a few months of my life to learning about agile software development, and I just completed that goal. Check.
Having the opportunity to work with everyone at 8th Light was such a gift; people here are incredibly generous with their time and knowledge. There are some smart folks who spend their days in this office, and just having the ability to pick their brains on a daily basis has helped me to improve tremendously. I would recommend this apprenticeship to any and all developers who aspire to be better at what they do.
Moving forward, I'm excited to use what I've learned at 8th Light to build cool stuff. I've been hanging out with people who are involved in Open Gov Chicago, and I recently pulled together a Google Group for Urban Transportation Geeks—a collection of people who want to use open data sets and other tech resources to address transportation issues in our fine city.
Though my apprenticeship has officially ended, the learning process is far from over.
Friday, March 30, 2012
Monday, March 19, 2012
Refresh after SXSW
I spent the last week in Austin, Texas for SXSW, where I was surrounded by a wonderful concentration of folks who are excited about using technology to push society forward. Now back in Chicago, I'm slowly getting back into the swing of things and learning some new technologies as I go.
I recently completed my first Linux install on my Asus EEE netbook that was previously running Windows Starter 7 (blech). I've been wanting to use Ubuntu on this machine for awhile, but the limitations of my super sweet vintage iBook G4 finally prompted me to take action and make it happen. Now working on a Linux machine and without access to Textmate, I decided that this would be a good opportunity to learn Vim. Learning Vim has slowed my Artisan story progress, but it's worth it.
I don't have a whole lot to report on my progress, but I will say that it was very cool to go to SXSW and feel like I can have better conversations with other Ruby developers. Four months ago, I would have felt lost in conversation. I'm looking forward to seeing how my understanding progresses another four months down the road.
I recently completed my first Linux install on my Asus EEE netbook that was previously running Windows Starter 7 (blech). I've been wanting to use Ubuntu on this machine for awhile, but the limitations of my super sweet vintage iBook G4 finally prompted me to take action and make it happen. Now working on a Linux machine and without access to Textmate, I decided that this would be a good opportunity to learn Vim. Learning Vim has slowed my Artisan story progress, but it's worth it.
I don't have a whole lot to report on my progress, but I will say that it was very cool to go to SXSW and feel like I can have better conversations with other Ruby developers. Four months ago, I would have felt lost in conversation. I'm looking forward to seeing how my understanding progresses another four months down the road.
Friday, March 2, 2012
Juggling Notation Kata
I performed my first kata for 8th Light University today. It's a method that determines whether or not a pattern is composed entirely of repeating sub-patterns.
That is:
It was good to practice a kata over and over again until it felt like second nature. On the other hand, performing it in front of 60 people was a lot more difficult than I thought it would be. Under pressure, I somehow lost my ability to see detail, and I stumbled...and stumbled some more. Then I decided to erase my previous step and start over. I regained my composure and finished the kata.
Thinking, coding, narrating, and performing at the same time was quite challenging, but it's good to be challenged. If things are always easy and error-free, it's a good sign that you're stagnating in your progress.
Here's the code for my repeat Kata:
That is:
repeat?([4,4,1,4,4,1]) # => true
repeat?([3,3,3]) # => true
repeat?([4,4,1]) # => falseIt was good to practice a kata over and over again until it felt like second nature. On the other hand, performing it in front of 60 people was a lot more difficult than I thought it would be. Under pressure, I somehow lost my ability to see detail, and I stumbled...and stumbled some more. Then I decided to erase my previous step and start over. I regained my composure and finished the kata.
Thinking, coding, narrating, and performing at the same time was quite challenging, but it's good to be challenged. If things are always easy and error-free, it's a good sign that you're stagnating in your progress.
Here's the code for my repeat Kata:
def repeat?(pattern)
chunks(pattern).each do |chunk|
if divides_evenly?(pattern, chunk)
slices = []
pattern.each_slice(chunk) {|sub| slices << sub}
return true if slices.uniq.length == 1
end
end
return false
end
def chunks(pattern)
(1..pattern.length/2)
end
def divides_evenly?(pattern, chunk)
pattern.length % chunk == 0
end
Subscribe to:
Comments (Atom)