Nashville hack day
Clone this wiki locally
On August 11, 2012, eleven speakers gave short tech talks to a packed house at centresource. These are the talks.
The Sounds of Sirens
After spending 4 1/2 years doing "project rescues" with OGC I learned a couple of things about how to approach fl?ailing projects. With any luck the ones I impart to you will be among the useful ones.
- "Lemme go fix this" (right-arrow through the whole presentation!)
- "Lemme go fix this" (showoff slides github repo)
Rick Bradley is a peaceful protester and crunk lover with a wealth of knowledge around Ruby and team management.
Problem: text data coming in at high velocity from a variety of sources, with varying quality. The quick and dirty answer: command-line *nix tools for quickly grokking what you're getting, checking it for sanity, pulling data samples, and more.
- This talk in (what else?) a text file. Plenty of examples.
CouchDB: Hard-earned knowledge
CouchDB has matured a lot since it landed in 2005. The practices around it, however, have a long way to go. Over the last two years at ShareableInk, I've learned a lot about the good and bad aspects of CouchDB. In my talk, I'll share these lessons so that you can use CouchDB with more confidence.
Keith Marcum is practicing his Batman face.
Introduction to Nashville Software School
What is Nashville Software School? Why does Nashville need it? How is this different from a traditional 2-year or 4-year degree program? This talk explains what's happening and why—and how you can be a part of it.
Still Haven't Found What I'm Looking For
A common axiom in our field is that a backup strategy is only beneficial if you can restore the data. Likewise, a data store is only useful if you can find what you stored. Most programmers think about information retrieval too late, mainly because the tools encourage it. What if there was a tool ideal for storage and search?
Creating and Maintaining an Open Source Project
It's become easy to start and contribute to open source projects, but what does it mean to maintain a project through various stages of its lifecycle. We'll look at the why, when, and how of open source projects including how I have done it wrong in almost every aspect.
Matt George writes code for Stratasan by day and spends time with his family at night. When not sitting in front of a computer he tries to enjoy fly fishing, albeit very unsuccessfully.
Algorithms at the library
The algorithms librarians use for sorting and searching physical books are a little different from what you learned in school. The reasons for these differences are surprising. We'll look at the textbook algorithms for searching and sorting, then take a look at what the library does--and why it's better.
- Full transcript with pictures
- Slides (PDF)
- Insertion sort, the motion picture
- Volunteer at the library
Functional Programming, what's the big deal?
Functional Programming (FP) has been lurking in academia for a while now. With a crop a new(ish) languages gaining attention over the last few years, FP is making its way out of the labs and into the wild. This talk will cut through the academic babble and give you the concepts you need to keep in mind on the path to understanding FP.
- mentioned article: Michael Feathers' "Functional Refactoring and You Can't Get There From Here"
Wilkes Joiner can be viewed as a left fold over prior experiences.
The Post Office Problem: k-d trees, k-nn search, and the Johnson-Lindenstrauss lemma
You move to a new neighborhood, and need to find the nearest post office — how do you go about it? What if we also had to consider elevation in that equation? What if we were crazy beings out of time and space, and we needed to find the nearest one in 4 dimensions? 64? 128? 1024? I recently had the pleasure of being challenged to answer that question, and in this talk I'll show you how it can be managed in sublinear time using the k-d tree data structure and a neat trick called "dimensionality reduction by random projection".
- Based in large part on research by Yousuf Ahmed at NYU (PDF)
- k-d trees: J. L. Bentley, Stanford
- Dimensionality reduction: W. B. Johnson and J. Lindenstrauss
- Research fuel: Ardbeg Uigeadail
Jeremy Holland is a Senior Lead Developer at Centresource and spends most of his time writing Ruby and C. He's also a mentor and occasional lecturer at Nashville Software School, and an all-around computer science and mathematics addict.
Go Chef, Young Man
Like most developers, I use my computer in a very particular and idiosyncratic way, and am often utterly and completely lost on anyone else's computer, madly clicking and mashing buttons while expecting behavior other than the default. After a recent acquisition of a new MacBook I found myself faced with the unenviable prospect of migrating all of that non-standard configuration to a new machine. Two roads diverged: one that ended with Migration Assistant and the past 10 years of cruft, and the other that was a shitload more work. I'm apparently a sadist and chose the work. Being a fan of DRY and not wanting to repeat this experience every time I decide to buy new hardware, I started looking into configuration management solutions and several weeks later have obsessively crammed every aspect of my environment into chef recipes, owing a debt to some previous work done by the folks at Pivotal Labs, and haven't looked back.
- Source code (github)
Brandon Valentine is development manager of the largest Ruby on Rails shop in Tennessee, Centresource, and a part-time auto mechanic.
Things All Developers Should Know
Eliza Brock is a software engineer and Rails developer. She has been, among other things: the sole developer of a mobile device service infrastructure and payment system, lead developer for several startups and an independent using consulting to fund her life of crime.