My BarCampMilwaukee2 Experience

BarCampMilwaukee2 took place on October 13 and 14, 2007. I went to BarCampMilwaukee2 and I had a good time. I had an idea of what to expect since I had attended BarCampMadison earlier in the year, but I was only able to attend it for an afternoon. Since I had a good time at BarCampMadison, I decided that I wanted the full BarCamp experience and planned to be at BarCampMilwaukee2 for the entire event. This is an account of my experiences at the BarCamp.

For those who don't know about BarCamp and the philosophy behind it here is a short history. The BarCamp idea was first formed as an open source offshoot of Tim O'Reilly's FooCamp (Friends Of O'Reilly). FooCamp is a yearly invite only event put on by Tim O'Reilly where there is no set schedule and everyone is expected to participate. The first BarCamp was held in August of 2005 in Palo Alto, California and was conceptualized, organized, and put on in about a week. Basic BarCamp philosophy is that anybody interested can attend, everybody who attends must participate in some capacity, and there is no preset schedule of events. BarCamps are about collaboration, creativity, and technology.

Pre-BarCamp

I don't live near Milwaukee which made it tough for me to help out during the planning stages of the event, so I wanted to get to the venue early on Saturday to help with setup. There was a social event on Friday night that I wasn't able to attend, and by all accounts it was a good time. I arrived in downtown Milwaukee around 8:15 am. After a false start where I made a wrong turn off of Cherry Street and ended up going around a couple of blocks and turning around in a service drive, I managed to find the Schlitz Park Center.

The Schlitz Park Center is a nice group of office spaces overlooking the Milwaukee River and some pretty cool demolition of an old factory. The Camp itself took place in an unused suite on the 2nd floor of the building. The suite was mostly open space and around 22,000 square feet in area. There were a couple of small rooms over by the windows, a server room, a kitchen room, and a large space that was set aside for a sleeping area.

When I got inside the suite there were numerous things to do: move tables, clean chairs, setup the room dividers, get things ready. Since one of the most important things to do was to block off the session rooms, I helped out with that. The space was rather large and there were a bunch of large pillars throughout and a suspended ceiling. We needed a cost effective way to demarcate the session rooms. The decision was made to use bubble wrap. The hope was that the bubble wrap would help to absorb sound while still providing the illusion of an open space. In reality, we found out that it worked fairly well to split up the space, but worked pretty poorly for sound blocking.

A group of people had already cut an industrial size roll of bubble wrap into strips that would hang from ceiling to floor. I helped another BarCamper by putting paper clips into the tops of the bubble wrap mere seconds before he hung the clips over the ceiling tracks. Soon, all of the bubble wrap was up. I helped to be sure that there was a projector in each room. After that I helped with general organization of food and other items.

Meanwhile, people began to arrive for the BarCamp. The start time was supposed to be 10 am. Because of the amount of work that needed to be done we didn't start until 11 am. Everyone seemed pretty cool about it, though.

BarCamp Day 1 - AM

BarCamp usually starts with everyone sitting in one large group. Our fearless leader did the intros, acknowledgments, and the general orders of the day. Everyone is expected to stand up and introduce themselves. There were a surprising number of first time BarCampers and many people from outside the Milwaukee area. Instead of starting sessions right away, the sessions started at 1 pm. This gave everyone time to schedule sessions and eat lunch.

The visual schedule was pretty cool. Instead of the type of schedule used at BarCampMadison (sticky notes placed on a grid drawn on poster size paper), BarCampMilwaukee took advantage of the nature of the location. There were a lot of windows in the office suite. Masking tape was used to create a grid on the windows, and we wrote the sessions directly upon the windows using dry erase markers. It worked out well except when it got dark out it was very hard to see the schedule due to not having any back lighting.

The lunch on Saturday was supposed to be a potluck lunch. Unfortunately, there were more campers than there was food. A couple of the main organizers realized this and ordered a bunch of Chinese food. The food that was there was great. There was chili, tons of cookies, a nice tofu and rice dish, and more that I cannot remember. There were also a couple of truly awesome cakes that one of the camper's wife made with the BarCamp logo. They looked really neat.

The main session that I had prepared for was a session on PGP and GPG. I wasn't finished creating the slides so during this time holed up in one of the little offices and worked on the presentation. There were a couple of other campers in the room and we all talked while we did our work. It was here, however, that I found out the worst news of the BarCamp for myself. I was almost finished with the slides when I noticed the temperature on my computer's temperature monitor. It was over 70 degrees; a little warm. Usually the fan kicks in around 65 and then cycles. I couldn't hear the fan. I didn't think too much of it, thinking that maybe it had to do with the recent kernel upgrade I had applied. I shut down the laptop and rebooted into an older kernel. I waited awhile and it just kept heating up. It wasn't the greatest thing to be at a BarCamp without a working computer, but I managed. I used the laptop sporadically after this since I didn't have an external laptop cooler on me.

BarCamp Day 1 - PM

One pm came around and it was time to do my presentation. I was trying to see if my laptop would make it, but I decided it would be too risky to use it. After saying that I may need to go without slides, I got to use a donor machine from another BarCamper. The presentation went off without a hitch, although I had to skip my short demo section. Everyone who attended the session seemed quite interested. I had a good conversation with a couple of the attendees afterwards.

At two I attended a session about the Scheme programming language. It was interesting. I've already had exposure to Scheme, so I came in knowing a bit about the language. The presenter was showing everybody the importance of lambda and higher order functions.

At three was a session about the Geek Book Club. The book club gets together and discusses a tech-oriented book. The book they were reading at the time of the BarCamp was the intro to Haskell book. The session leader spoke about the book club and then discussed Haskell.

At a BarCamp you're free to do pretty much whatever you'd like. You can go in and out of sessions, do your own programming, have side discussions, whatever you wish. So, true to the spirit of BarCamp, during these first couple of sessions, I had conversations with some other campers that I had met. We had conversations about programming languages, conversations about jobs, conversations about kids and many other topics.

At four o'clock, I started to sit in on a session about web development circa 1996. A server had been setup with FTP access for the BarCamp, and the goal was to create a 1996-style website with all of the trappings of that time period: things like scrolling marquees, blinking text, and bad colors among other things. Since I didn't have a totally working computer anyway, I ducked out and wandered the halls and just took a breather from the BarCamp. I found out after the fact that I should have attended the session about Elevator Hacking because the guy presenting the session put on quite a good show.

Five rolled around and I attended a session about creating your own Bayesian Classifier in an hour. It was very interesting. The math of it is a little more than I like since I was never all that good at statistics and probability, but it doesn't take all that much code to write a Bayesian classifier.

For the six o'clock hour I hosted a discussion called Veggie Tech. We got started late because there was a giant wall sized social network map on the wall right by where the session was being held. I was also waiting to see if more people would join. I think there were only about seven people, but we got into some very interesting discussions about what the term “organic” means, brix gardening, alternate energy, and ways to conserve energy. I enjoyed it.

Seven to 9 pm were open for dinner and general carousing. Dinner was leftovers from lunch plus pizza and pasta from Edwardo's. I learned about Chicago and the awesome pizza places there from a camper who came up from Chicago. During this time I also met a guy who works for MySQL.

A PS2 was also setup to project against one of the walls. Guitar Hero 2 was put in. I hadn't played Guitar Hero for quite awhile so I couldn't resist. Everyone was playing on co-operative mode where one person plays bass while the other plays lead guitar. I played bass while another camper played lead. We played “Miserlou” and “Sweet Child O' Mine”. This guy played on expert difficulty and played absolutely amazing. He was super hard-core. I on the other hand played the first song on easy and the second on medium. Medium is usually plenty tough for me. My hand hurt after that.

I wasn't sure what I wanted to do for the 9 pm session. The guy who was giving a presentation about electric cars was walking around drumming up people to go to his session. I figured that I'd check it out. I'm glad I did. He gave an overview about electric cars, why to build them, what you can build them from, types of batteries, and more. It was based upon research he had done when he was looking into building an electric car. Another camper at the session had worked for a company that was experimenting with bromide-zinc batteries and told us a story about what happened on a very hot day at a test track in Arizona with the heat and bad welds and nice, toxic bromine coming out of the battery. All in all, this session was surprisingly entertaining and informational.

At 10 pm I had setup a HOPL session. HOPL stands for History of Programming Languages. The history of programming languages fascinates me. I like to learn where a language came from and how the language has evolved over the years. I had intended to run two HOPL sessions, one for Erlang and Smalltalk and one for Forth and APL. Unfortunately, I was unable to put together any short presentations for any of the languages, although I had done the research on most of them. I'm going to try to put together the presentations for the future. Back at the BarCamp, however, I had decided that the topic should not go undiscussed, hence the 10 pm session.

There were only six or seven people at the session, but that was OK. There was a mix of individuals ranging from younger to older. I think that was the best part. I can talk about the history from an outside standpoint, but that doesn't necessarily hold a candle to stories or reminiscing from someone who was around during the time a particular language was created and used. When I asked everyone which language they wanted to talk about everyone seemed interested in APL. We also discussed Forth. The cool thing was that one of the campers had programmed in APL and he worked for a number of years professionally programming in Forth. His observations and stories were fantastic. It was a very enjoyable session. The sessions technically ended for the evening at 11 pm, but we kept talking until about 11:30.

BarCamp Day 1 - Late Night

At the end of sessions for the night many people went home, but there was a fairly large group of people who stayed. For awhile I just wandered around checking out what was going on. Some people were sitting at tables talking, some were surfing the interweb, some were working on their own projects, some were trying to install Linux on old laptops, some were preparing for a night long code hacking session in which the website ihatetreehouses.info was created, some were sleeping, and some were playing the Wii.

Having nothing better to do since my computer was for the most part out of commission, I wandered over to where a few people were playing the Wii. They were playing some of the mini-games that are a part of Wii Play. Everyone traded off after each game. I played a couple of games of Duck Hunt and some kind of tank game. It was getting past midnight and there were three of us left. Someone came in and said that we should try out Marble Mania. What a wonderfully addictive game. You controll the tilting of the game board to move the marble by tilting the Wii controller. The other two people I was playing with played for awhile. One of the guys got tired of playing and needed a break. I played for at least an hour and a half. It was getting past 3 am and I was really tired. I handed off the controller since I was not doing well anyway. I watched the other two guys play for another few boards then went to wash up. I couldn't muster watching them play for much longer after that. I bid them good luck and goodnight then grabbed my sleeping bag and found a spot to sleep.

Unfortunately, I had forgot to bring a pillow, which led me to getting my picture taken. I was so tired, though, that after a bit I crashed and the next thing I knew it was about 8:30 am.

BarCamp Day 2 - AM

I stumbled around for a bit, managed to roll up my sleeping bag and put it back by where I had stowed the rest of my stuff. There weren't too many people around. Most everyone who decided to sleep were still asleep and those who had stayed up looked rather tired. On my way to wash up I met one of my Wii gaming cohorts from the overnight who mentioned that they managed to beat the game, but were then informed that they were only 33% done with it.

After washing up I felt a bit more ready to take on the day. I had volunteered, weeks prior, to cook waffles on Sunday morning for breakfast. My cooking parter-in-crime was setting up a cooking station. She had brought a waffle iron and I had brought a waffle iron. We got a real good flow going with her mixing up batches of batter and I cooking. We had a couple of setbacks with our power situation (Who knew that two waffle irons could trip the breaker on a power strip?) and one of the waffle irons (lots of sticking batter). With the help of others extra power was found and another camper used his massively heat tolerant fingers to deal with the sticking batter. We ended up cooking until around 10:30. Everyone was happy and the waffles were delicious! Unfortunately, cooking breakfast meant that I missed the first session of the day. That was OK, though. Throughout cooking I talked to a lot of campers about many topics. I had a good time.

I managed to get to a real interesting session at 11 am. It was a group discussion about technology and Utopia and Dystopia. It was such a successful discussion that the camper who led the session hardly had to keep anyone on-topic. A lot of interesting people shared their ideas. I think the session was also recorded for posterity. I don't know, however, if the contents have been posted anywhere.

BarCamp Day 2 - PM

The 12 pm hour brought a robot. A member of the UW Madison IEEE Robot team was at the BarCamp and he brought the team's robot. He gave us an overview of the team, the competition they build the robot for, and an overview of the robot. He also talked about the new robot they are going to build this year. The presentation was pretty cool, but the robot was the star of the show. It's interesting to learn how they build the robot and how it finds obstacles. It was somewhat amusing that the presenter had to babysit the robot as it roamed (the robot is pretty large and could probably do some serious damage to an object, person, or wall). Apparently its various sensors and detection program doesn't figure out that chairs are obstacles to go around because the legs are too skinny. The robot was built to follow a path delineated by white lines on grass and to navigate around larger obstacles. It was a very cool session.

From 1 to 2 pm I attended a session where everyone discussed their favorite open source programs and tools. I liked finding out all the various software people were using. The discussion did veer a little towards the Mac realm, though, because so many people in attendance were Mac users. I did pick up a useful tip about a program called Dia. Dia is an open source alternative to Visio. I've since tried it out and it's not too bad.

The last session of the day that I attended was a pre-planning session for BarCampMadison2. It was very well attended. There are a lot of people interested in helping out with BarCampMadison2 which is just phenomenal. I think that we'll all be able to make the Madison event really cool and a lot of fun.

After the pre-planning session I hung around and helped clean up for about an hour. After the various goodbyes I headed out. Thus ended my BarCampMilwaukee2 experience.

All in all, it was a whirlwind 32 hours or so. I met a lot of people, had a lot of really great conversations, and learned a lot of stuff. It's definitely a great experience. Being around that many brilliant, funny, and dedicated people is phenomenal. I'm definitely looking forward to BarCampMadison2.

Back to Main Page