Skip to content

Instantly share code, notes, and snippets.

@smith
Last active December 23, 2015 17:09
Show Gist options
  • Save smith/6666767 to your computer and use it in GitHub Desktop.
Save smith/6666767 to your computer and use it in GitHub Desktop.
Notes On Strange Loop 2013

Notes On Strange Loop 2013

The second Strange Loop I've attended was truly an amazing conference like no other. Last year's was fantastic, but this year was just, well, you really had to be there. Even so, I'll try to give a summary of stuff that happened.

Negatives

To get it out of the way now, these are the things I didn't like:

  • It's a multi-track conference, so after every talk I heard from a bunch of people who just saw a super-awesome talk that I missed. This isn't really something that can be fixed, and it's mitigated by the amazing fact that all attendees have access to all the videos immediately after the conference, which is what most of my watching time will be in the near future. I only mention this to emphasize how many amazing talks there were.
  • All the videos are available to attendees now, but they will be slowly released to the public over the next 6 months. That's great, but the problem is I'm going to be telling people right now, "You totally should watch this!", but they won't be able to until it's released, and I don't have a good way to keep track of when they're released in relation to the people who didn't attend that I want to share with.
  • The breakfast only had cupcakes, croissants, fruit, and cereal, which was kind of a bummer if you want to eat gluten free or just want some eggs.

Take-aways

  • The problems with diversity in technology can be overcome if we choose to do something about it. It's not about bringing non-white-male people in so we can show off the numbers, it's about removing barriers from people, encouraging them, and making them feel like they belong.
  • The tools we're using in software development do not provide the insight needed for us to truly understand the problems we're trying to solve. The solution to this problem won't come from the outside, but will come from the people at this conference and our peers. The future is amazing, and we're the ones who can build it. Right now.
  • I need to start using Erlang.
  • I need to start using Clojure.
  • I need to start using Haskell.
  • I probably don't need to go to CS grad school, but I need to go read some CS papers and learn from the academics who show up at conferences like this.
  • All the really smart people who's blogs you read and twitters you follow? They are your peers. Regular folks, most of whom would be delighted if you asked about their work or advice or mentoring or just to have a beer. Go to a conference and meet them and meet more people you've never heard of who also will blow your mind and are nice and fun to hang out with.

Wednesday, September 18

Emerging Languages Camp & Workshops

These happened Wednesday, and next time I go back I really have to attend. Unfortunately I didn't this time, but everyone I talked to said they were great.

Thursday, September 19

How Prismatic uses machine learning.

Though I'm a complete AI noob and know nothing about it, Jenny presented an overview of Prismatic's machine learning methods for finding out which articles are relevant. I left the auditorium feeling like it all made sense, and the whole thing was interesting and exciting.

Jason Gilman showed off the ideas behind his VDD Core project, tying in the visualization of the algorithms we make. VDD Core is a Clojure library, but these are powerful ideas that could be implemented in any programming environment.

I like the idea of having a /viz directory in my project along with /src, /lib, /doc, and so on. Jason was influenced by some of Bret Victor's ideas, and it's awesome that somebody is going out and actually building tools to realize this.

This was a really good talk about how DNSimple uses Erlang as a backend to PowerDNS to enable some of their features.

As an Erlang beginner and somebody who knows more DNS than I'd like, this talk felt like it was at a perfect level for my knowledge. The examples showed off Erlang's binary parsing strengths. I left the talk wanting to learn more about the subject, which is always a good thing.

These girls are from Columbia (the country), and are in high school. They learned Rails through the Rails Girls program, and came all the way to Strange Loop to talk about it. I was so impressed by their bravery in getting up there and sharing their experiences.

The next time you tell yourself you can't speak in front of people, imagine having to do it when you don't speak the language natively, have never done it before, and are in front of 1000 of professionals at the top of their field. Laura and Adriana made it look easy. ¡Buen trabajo!

Sarah gives a brief history of women's involvement throughout the history of computing. Women have been deeply ingrained in and important to the development of these technologies from the very beginning. It was interesting to learn about all of them, and more girls who get told this isn't a field for women need to be taught about this history.

I've been fascinated by Datomic and enjoyed hearing about it again this year, This talk had examples from a real-world app, Room Key, and showed how they use Datomic. It was cool to hear about this, though somewhat abstract to me since I've never actually used Datomic.

Rich Hickey is a great speaker, though I enjoy his talks with less code (Hammock Driven Development, Simple Made Easy) more than the ones like this. It was a good intro to core.async, but since I'm not using Clojure on a day-to-day basis, it's still going to take me some more work and actually playing with it to really grok what he was talking about. Up until now I've been excited by some of David Nolen's examples in ClojureScript, since it's a way out of the Callback Hell/Promise Purgatory that most front-end developers currently inhabit.

I was a little sleepy at this point in the day, so I didn't get a whole lot out of this, but it's a cool technology. The web UI is pretty impressive (http://benvie.github.io/continuum/), but was pretty hard to read on the projector. I need to dig deeper into this so I can start using ES6 now.

This talk made very little sense to me, which was one of the reasons I liked it. In less than 40 minutes, Jay McCarthy had build an operating system with threads and contiuations in Racket in less than 40 lines of code.

I'd have to watch the talk about 20 more times and learn and practice the code over and over before being able to get any of this, but it's nice to see something that just makes your brain stretch out.

I'd like to be able to see the world like Jay does, with such a deep understanding of the machine and its concepts. I'm sure when he runs a program he has a totally different view of what's happening behind the scenes than most of us.

This may have been my favorite talk at the conference. She shared her experience and related it to the roots of the disparities in diversity in technology.

You get Sally Ride, Nichelle Nichols, and more, along with a message that girls or anyone who doesn't fit the current software developer demographic stereotype, can inspire and be inspired to get involved and make our field one that we can be proud of.

This place is just too much for words. I'm not going to try to explain it, just go there. If you're ever in St. Louis and have kids and a soul, bring them here, maybe for a few days.

The kind of minds that go to Strange Loop love to explore, and at City Museum you can really do that: Go down a 10 story slide, climb through the sky in a cage, get lost in underground caves, and just, just, just go there and see for yourself.

On the first floor: Moon Hooch. The perfect band for the perfect crowd at the perfect venue. I saw these guys this summer and raved to everyone I met, and nearly lost it when I found out they were playing here. Buy their stuff and go see them if you get the chance.

There also was a League of Legends tournament put on by Riot, and a bunch of good food, beer, and conversation.

My decision to attend Strange Loop next year might actually hinge on whether or not they can rent this place out again, it was that good.

Friday, September 20

Martin Odersky gave a nice overview of types and the way different languages handle them. He also spoke about Dotty, his new experimental language that might one day become the basis for a future version of Scala.

This talk had some good ideas about architecture, and I learned what CQRS was, but the actual content was a bit heavy for my taste, as it walked through the code without much of a big picture that I could see.

I've used and built architectures like this, and while they seem smart up front, the overall complexity can get in the way. I didn't ask about this, though it may have been a good discussion.

I went to this talk because the smart people I know have been talking about Raft as an interesting concept. It did a great job of showing an overview of how Raft works.

He made the mistake about half way through of allowing questions at any time. That's not always a bad idea, but given this audience I felt sorry for Ben. It became a bunch of really good questions about the edge cases and "what happens if..." It was like watching the professors shred the dissertation of a student (though they didn't mean it that way, and it wasn't his paper, he was just presenting what he knew about it.)

Still, I learned something, so still winning.

The actual session for this got cut off because somebody passed out during the talk and had to be revived. Fortunately they were OK, but Tom didn't get to do his demo. To the benefit of everyone, he presented it during lunch.

At this point of my life I think the time I've spent in front of a computer with a keyboard is probably still catching up with the time I've spent in front of a NES. I had a huge smile on my face every second of this demo.

He built a robot that could see into the NES RAM while the game was running and figure out how to win. I didn't expect to learn new NES cheats during this conference, but I did. You can see some of these videos now at http://www.cs.cmu.edu/~tom7/mario/

I've been a big fan of Kyle's work on Riemann and now Jepsen, so having him show off a teardown of the CAP characteristics of some databases that he hadn't done in the original Jepsen series. It was delightful.

It was cool to learn about what asm.js is and what's being done to improve native performance in browsers. Though I'm not a game or graphics programmer, it's useful to see where languages that compile down to JavaScript are going.

Samantha showed off Hopscotch, which is kind of like Scratch, but geared toward the iPad. She had great insight into what it takes to teach kids programming, and the talk kicked off some excellent questions and suggestions on other tools and methods to teach programming to kids. This is a passion of mine, and might just make me get off my lazy butt and finally put together that Lisp for pre-K curriculum I've been kicking around in my head.

Chris's presentation on Light Table last year got me super excited, and like most I was expecting another talk on Light Table. Instead, he first talked about the research they've done to determine what's wrong with our programming environments and what is programming, anyway?

He showed off Aurora, a new prototype project that takes advantage of the data- as-code ideas in Lisp and Clojure to build an environment for expressing ideas and turning them into code.

If Bret Victor's talk last year showed us shadows cast on the wall of the cave of our tools and thought around programming, Chris this year took another step to helping us break loose from these chains that bind us in the dark.

The fact that the final keynote was pure sweet dripping philosophy shows just how special this conference really is. I never got through more than the first few hundred pages of GEB, nor have I read I am a Strange Loop, but this was a treat. Not only that, it made me question the existence of my consciousness and being. You don't get that at Java One.

This is another part of the conference that just can't be explained and just would not happen anywhere else. I could try and explain that there was a band playing Bach, an aerialist, actors, and quines being programmed in Lisp all happening on stage at once in an opera house, but it just couldn't do justice to this performance.

If you've never read Hofsteader's work it may have been really weird, but it was really weird if you kind of knew what they were talking about.

The only part I didn't like was the complaining some did on Twitter afterwards. Forget all that, this was astounding and unprecedented art to be experienced.

Talks That I Really Wished I Hadn't Missed

The Hotel Bar Track

This is the best part, and not just because there's booze. Sitting down at a table and just listening to some of the wonderful people here go on about every topic is so much fun. I didn't come with a big group, so I kind of just floated around and listened in and contributed where I could. A sample of things that went on:

  • "People say this is an industry. It's not. It's a pop culture." Loved that. So many ideas that we call new have been done before in academia or in the past 50 years of software. Instead of constantly building on them we just grab the nearest hip thing, which may be poorly implemented version by somebody who didn't bother to read the original research, or worse, something already proven to be a bad idea 30 years ago.
  • People who successfully have funded Kickstarter campaigns advising somebody who was thinking about starting one.
  • The interplay between testing, visualization, documentation, and monitoring in the software development life cycle.
  • Interviewing and hiring practices.
  • The evolution of the JS runtime into a byte code interpreter, or not.
  • Developer boot camps and the career paths of those who attend them and the companies that hire them.
  • The de-evolution of building architecture and preservation of historical landmarks.
  • Lots of other awesome things.

Conversations about Chef

Since I work for Opscode, I had my ear to the ground for all matters related to Chef and the cloud and configuration management space. A few things people talked about:

  • Some just love Chef and Opscode and think we rock. That's nice to hear!
  • "It's Better Then Bash Scripts." I wouldn't put it on a T shirt, but hey, it's a start.
  • The documentation is lacking when it comes to deploying serious Windows systems. There needs to be something between Learnchef and the docs that documents real- world situations, especially on the platforms that are now not well documented.
  • We need to hire more people to work on documention, especially for Windows.
  • Had a nice conversation with someone who had worked on Pallet. They aren't as visible as a lot of the other competitors to Chef, but it would be worth looking at them seriously and taking a look at Pallet's good ideas.
  • What ideas does the functional programming space have to offer to improve the configuration management space?
  • Was talking with someone and they asked if Chef could do something like, "Give me 5 Rackspace web nodes, an AWS DB thing, and so on, and just boot up that configuration for me." The workflow described is spiceweasel, but it's so awkward to say, "Yeah, sure it can, you just have to download this other project from Matt Ray named after an obscure Futurma gag and make a YAML file!" This is a common workflow and should be more integrated with Chef.

Conclusion

Just like last year, I come out of this thing exhausted, with my brain broken, yet completely energized and knowing that we're the ones who make the future, and only our failure to take hold of this and go do it is holding us back.

So much love and thanks to the organizers, speakers, attendees, people who paid for me to go, and everyone involved at every level. See you next year!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment