BrickHack: A Look Back

By Mike,

Note: This post is less of an instructional “how to bootstrap your own hackathon” and more of a historical summary and lots of shout-outs. But feel free to take any useful bits or get in touch about the former.

BrickHack photo featuring yours truly

When thinking about how to start a post detailing what might be the largest project (in scale at least) I’ve been involved in, I went back to my retrospective of PennApps that I wrote a year ago. This quote shows up near the end:

PennApps offered me a fantastic first large hackathon experience, and we’re hoping to try and replicate that experience at RIT going forward.

Wow. Even when we first got started with codeRIT we didn’t plan to make anything bigger than a ~50 person hackathon1 by the end of spring 2015, if that. The main plan was to set up a team of RIT students we could bus out to hackathons every weekend. Maybe get jerseys and flags and propel RIT into the hackathon community. And yet, my wishful self wished for a hackathon at RIT. This is the story of how it happened.

Getting Started

Somehow PennApps Spring 2014 got onto my radar. I had been undergoing an identity crisis of whether games or the web would be my future, and that hackathon gave me a chance to play around with my web side. The promise of free travel and food and programming was too good to pass up. And boy did the team at UPenn deliver.

A week later I found myself talking to Carl Domingo about how incredible the whole experience was. I bemoaned the nonexistence of a hackathon or even a hacking community at RIT2. Carl and his go-getter personality decided to take action, and so we began weekly meetings for codeRIT3. To further compliment Carl, he began writing an agenda and taking notes so that we can now relive the beginning. The first meeting notes from April 2nd, 2014 give a short summary into our direction:

  1. Need more members (students + faculty)
  2. Need organization
    • Constitution, Mission Statement
    • Board?
    • Teams?
  3. Need a way to conglomerate all information about RIT hackathons
  4. Need a way to find out about off-campus hackathons
    • Need ways to organize and fund attending those hacks

The next week there is one note in particular I like for its random inclusion since we weren’t planning a hackathon at the time:

Hackathons should have “hack” in the name.

After a couple more meetings in April, there is a meeting with the Dean to formally present our plans. While I was not there, I believe it can best summarized as, “Surprise! You get to host a hackathon now!” As it turns out, some company named Datto was opening an office in Rochester and had recently approached the college with a fistful of cash and a desire to fund a hackathon. And just like that, we were a student group with a dual mission: build up the RIT hackathon community and create the largest hackathon ever hosted at RIT. Or written more formally:

  1. Create an organization for all RIT hacking resources
  2. Establish connections with other hacking organizations
  3. Participate in other college hacks
  4. Ultimately, to create our own RIT hackathon

The last two meetings of the semester went long with how much we had to begin planning for. We also brought in speakers to share sage advice: Remy Decausemaker, resident hacker community builder and the driving force behind many smaller hackathons at RIT4. Amy Chen, a member of HackRU, offered us advice and a template for the organization. Brynn Claypoole5, the director of PennApps, gave us insight into running a large-scale hackathon. The team left for the summer feeling energized and excited for what we had accomplished in such a short period of time. Plus Tyler Somers gave us the best logo anyone could ever ask for:

codeRIT logo

Installation

We started back up in the fall in high gear. Before our first group meeting we met to brainstorm a hackathon name and landed on BrickHack6. During our first meeting, we had a surprise showing of a few freshman who had no business knowing that we existed, ready to help out in whatever way they could. One of those freshmen, Stefan Aleksic, had been trying to organize a small hackathon for incoming freshmen and worked with Ben Cohen, RIT hacker extraordinaire, to try and get it going. Stefan’s plans didn’t work out, but we managed to get him and some of his new friends on-board for BrickHack. We also gained Jen Lamere, who had helped organize WiC Hacks the year prior.

We held a public codeRIT meeting a couple weeks into the semester. We hoped it would drive awareness of the RIT hacker team we still wanted to build, as well as act as a recruitment campaign for anyone interested in creating a hackathon. As appears to be the trend in this story, the event worked better than expected and we had 29 people volunteer to join the group.

Carl speaking at the first public codeRIT meeting

With all the success on the hackathon creation front, we nearly forgot the original goal of codeRIT was to attend hackathons. However, by the end of the semester all of the organizers had attended at least one hackathon. I did a hat trick of hackathon weekends, attending PennApps X, Software Freedom Day at RIT, and Big Red Hacks. By sending codeRIT members to hackathons, we grew awareness among other RIT attendees and made connections with the organizers at other schools.

Hands down, the largest problem we dealt with in the fall was locking down a date and a venue. There is no sage advice to share after going through that experience. We were a student-run group that had deliberately avoided being an official RIT club, we had never hosted a hackathon before so we had no prior credibility, and apparently we tried to book a venue too late7. Finally out of pity we were granted GCCIS, which worked out really well in the end.

Contributing

My own efforts were small, but I am likely the most qualified to write about them. At the beginning of the semester we created an organizational structure, and for some reason I ended up being told to lead the Travel & Outreach team8. This manifested into budget planning, bus route planning, and speaking with organizers about how they planned their events. I made sure to dodge the bullet of implementing those plans and graduated in December, but thankfully Stefan Aleksic, Brandon Nieves, and Velizar Demirev were able to pull through and get it done.

One event I am happy to have helped with was the initial shakedown begging for money at the fall Career Fair. Brandon led the Sponsorship team at the time and invited Colden and I along since we had jobs lined up and didn’t need to use the career fair for its intended purpose. We knocked on Google’s door first because Brandon knew the recruiter and why wouldn’t they want to sponsor? Of course we got the hardest questions with answers we hadn’t yet come up with, leaving us dead in the water. But we rebounded with a couple easy wins from Microsoft and Apple9, and the smaller companies were so engaging. A lot of them were just happy to have someone to talk to that didn’t require a sales pitch about their own company. In an unexpected turn of events, the Staples representative responded with such enthusiasm that we left the booth with a heaping pile of swag and they ended up being one of the biggest sponsors.

Usage

The beautiful BrickHack flag

From the time I graduated to the big event on April 18-19, I basically had no more contributions. Returning for that weekend was an incredible victory lap. We had more than 300 hackers attend, roughly half from outside schools. BrickHack was on the Major League Hacking Spring 2015 roster and the Democrat and Chronicle wrote an article about it. A couple news stations aired evening segments. But most importantly, the feedback from hackers and sponsors throughout the event was very positive. Of course there are things that went wrong or could have gone better, but the trailblazing hackathons at other schools gave us a model for success even in round one.

I didn’t set out to make a big successful hackathon. Nor did I. All I did was spend 3 years hanging around other people who get stuff done and convince them that this was worth doing. Most of the early codeRIT team hadn’t even attended a large hackathon before they began planning one10. Half of us were planning to graduate in the fall, and even with senioritis the train kept chugging forward because of the dedication that team has.

Now I get to look forward to the future of this event, hopefully for years to come. Maybe one day they’ll shell out some money to bring me back like we did with Gregory Koberger, the creator of RIT48 among many other things. Never did I imagine this being a part of my legacy at RIT, but I’ll take it.

Footnotes

  1. For those of you who don’t know what a hackathon is, I will include a great summary by Scott Bureau: “The ‘hack’ in hackathon refers to the problem solving and exploratory programming that occurs during these 12-, 24- or 36-hour coding competitions, not someone who breaks into a computer system. But hackathons are more than coding. They have become a popular way for students to impress future employers, give back to the community and socialize.”

  2. I was ill-informed as to what was actually available for weekend hackers outside of game jams, but at least I was correct that RIT did not have a big annual hackathon.

  3. In those early days, we had Colden Cullen, Brandon Littell, Piper Chester, Veronica Wharton, Nate Perry, Craig Cabrey, Ben Kantor, Michael Timbrook, Tyler Somers, and likely a couple others I am forgetting. Thank you everyone for helping set up the group before having any idea what it would become.

  4. I can’t speak highly enough of Remy. He fought for years to get a Free and Open Source Software & Free Culture minor at RIT, which Colden and I were the first to graduate with after taking a class with Remy in Spring 2014 and subsequently packing the remaining classes into our schedules for our last semester. He made the FOSSBox into a welcoming hacker community long before codeRIT ever existed. He ran plenty of RIT hackathons. And now he has the opportunity to scale up his abilities by working with Red Hat.

  5. Since the last couple footnotes turned into thank-you notes, thank you Brynn for giving me Advil at 3:00am at PennApps X. It was a small thing, but I had a splitting headache and would’ve been in terrible shape otherwise. Oh, and for making PennApps great.

  6. It took awhile to officially remove the space from “Brick Hack,” which came down to aesthetic preference. I wish we had a picture of the whiteboard with all the names, there were a couple good alternatives that escape my memory. Ultimately BrickHack won because it highlighted a unique feature of the school, had “hack” in the name (suck it PennApps), and it has a great double meaning since hackers can “brick” their hardware.

  7. Seriously, who are all these people booking the Field House for every weekend slot a year in advance? Stop it, some of us live more spontaneously and need to book that thing only nine months in advance.

  8. This role greatly amuses my mother, who raised an introverted child that would never voluntarily put “Outreach” in any of his professional titles. My dad and I still let her do the talking in social situations, it’s just so much easier.

  9. We got about one sentence into our pitch before Myke Olson offered us money and dinner at Nick Tahoe’s that night. Greatest feeling ever.

  10. Carl’s first big hackathon was PennApps X in the fall. Less than a year later he’s getting paychecks from Major League Hacking.


Source: programmer blog

Updating a Node.js App in Azure

By Mike,

Recently I moved my Ghost blog from OpenShift to Azure. After following some instructions on how to install Ghost in Azure (it’s easy), I was disappointed to see it was a couple versions behind the latest.

Updating your app

In my case, I downloaded the latest version of Ghost from Github. I logged in via FTP and updated the files. I toyed with the idea of doing this via the console, but without an unzip command I figured FTP was the best route.

Opening a console in Azure

Having a console is so much faster than moving node_modules over FTP. To get one, go to https://<your-site-name>.scm.azurewebsites.net/ and open the Debug Console. Use cd site/wwwroot to get to your hosted content. In this directory, you should see at least see package.json if not a node_modules folder.

Installing Node packages

From this point, you should make sure your website is stopped in the Azure console. If you do not stop the site, you will very likely run into errors with files already being in use.

From here, you have a couple options:

  1. npm update is the standard method for updating an existing installation. Give it a try, and if it works then you’re done. If not:
  2. rmdir node_modules /s /q will delete the node_modules folder and give you a clean slate. npm install should work from here.

You can now start your site back up.


Source: programmer blog

Picking a JavaScript Panel Framework

By Mike,

This post was originally sent as a response to Jeff Houde, the developer of wcDocker, who asked why I didn’t pick his framework.

Initially when I set out to find a framework to create web-based game development tools, I found DockSpawn and wcDocker. DockSpawn had a better first impression, which I will credit to a fairly pretty website that has code examples and documentation, as well as the framework being easier on the eyes. I also like the panel docking that closely resembles Visual Studio.

I ultimately made the decision to use wcDocker over DockSpawn because you were still actively developing (the last update to DockSpawn was in February 2014) and because I have more experience with Javascript over Dart. Also I wanted to experiment using Bower for developing a project, and integrating that into wcDocker so that I could see how Bower works from both the perspective of a package developer and a package consumer sounded like a perfect setup.

And it was a perfect setup! I got to see and fiddle with the internals of wcDocker, and help clean it up where I could. Figuring out how to “modify” another script (jQuery-contextMenu) without actually touching the source was a great lesson, albeit it one that I had to rely on my friend Danny Shumway to help solve. So good times, let’s build with wcDocker using Bower.

Then Golden Layout appeared on Hacker News. I hadn’t done anything more than combining wcDocker and React on my own project, so I was still at a point where I could switch frameworks. Both frameworks are trying to solve the same problem, but Golden Layout had examples, tutorials, documentation on top of being in active development, looking as pretty as DockSpawn, and having (somewhat) cleaner code structure for developers. I was concerned that the project wasn’t hosted anywhere but his own website, but he began hosting on Github shortly thereafter. I am still concerned that he is using a Creative Commons license on his code, as that is unexplored legal grounds. Concern aside, I chose what I thought was the best framework available at the time.


Source: programmer blog

PennApps Fall 2014: HN Special

By Mike,

PennApps X logo

Midnight. As I climb in bed to get a shortened night’s sleep, my phone vibrates. A message from Dhruv Baid, Director of Travel & Outreach for PennApps, telling me that I have “more than 3 seats” to fill with last minute attendees. I reach out to my household (Danny, Tim, Sean, Rashele) with no takers, but through Sean’s microphone in Destiny I manage to convince Colden. Colden suggests I ping Carl, who also accepts. Content with the amount of effort put forth at this late hour I go to sleep, only to be awoken at 5 am to go get on a bus.

On the bus, the three of us brainstorm ideas to hack on. My original plan before Carl and Colden signed on had been to add Firefox support to HN Special, but that was meant to be a solo project. After awhile we come up with a couple good candidates: A Kinect joystick, where the player’s body acts as an analog stick and their hands are buttons, and Guitar Hero + Kinect, which involves lining up 5 people and having them alternate between crouching and standing to play a note on the fret board.

One opening ceremony later, we speed-walk over to the hardware room and grab two Kinects. We rip into the Kinect SDK and quickly get a demo program running that overlays a skeleton onto each person in the scene. Success! Or… wait? Why did it crash there? Try putting your hand on top of me again. Yep, that did it!

It turns out even with the new Kinect, the software cannot handle more than 3 people without crashing. No more Guitar Hero modification. But what about the human joystick? A little bit of searching led to find it exists already.

Sleep deprivation effects us all.

Carl, Colden, and I went for a midnight stroll to discuss our options. We had only burned four hours of hacking, but without another project that we were passionate about building, things felt grim. What if we got started with tools for Dash? No, we should save that for later. Revisit Stats At Last (my last PennApps project)? Nah, the others don’t have the same passion I do about seeing that come to fruition. Something with a drone? Oculus Rift? Leap Motion? But all the quick projects you can build for that hardware have been done already!

Eventually Colden agrees to hack on HN Special with me. Carl decides to use the time to start learning Swift, Apple’s latest programming language, to build a food and wine pairing app for iOS.

Meager amounts of sleep and a couple massages later (they had massages on Saturday!), we arrive at the expo floor Sunday morning to show off our efforts.

Expo floor. You can see me in a purple shirt on the center right. Original: https://secure.flickr.com/photos/mager/15052189150/in/set-72157647524545851

Colden and I show off our work to a grand total of 4 people: a judge, a college freshman, a Mozilla rep, and Nick from SendGrid (better known as “the happiest person on the planet”). Plenty of passersby looked into the screen, marveling at the pixels within. After a little bit we packed up and meandered around. I quickly noticed a pattern: I only stopped to look at “fun” projects. Inevitably all those projects involved a hardware component. The most stark moment came as I waited to try out a Myo hacked to work as a mouse, and a PennApps Health Hack at the next table had zero visitors.

Hardware, especially bleeding-edge technology, has an inherent draw to it. That’s likely why we wanted to hack on a Kinect v2, and why many of the top 10 finalists utilized new hardware. Yet only one of the top 10 hacks actually had a health care application: Scolio. Most of the flashiest hacks aren’t going to be useful outside of a hackathon demo. Heck, even our Kinect projects were concieved as projects that would be fun demos rather than actually being useful to anyone.

This approach to hackathons feels wrong, or at least like we’re missing the mark. Ben Cohen, a fellow RIT hacker and PennApps attendee, phrased the issue as “hackers building tools for hackers.” We stay in our bubbles, and initiatives like PennApps Health Hacks can only convince so many people to leave the bubble. What we need is a hackathon that champions projects intended to benefit the larger non-hackathon community. Random Hacks of Kindness and Software Freedom Day are two examples of events geared towards this mindset, but the largest school-sponsored hackathons are the ones that stand the most to gain from reorienting their goals. I am hopeful that Brick Hack, RIT’s first school-wide hackathon, will share this mindset of promoting projects that do good for the world, not just one-off hacks for a show floor demo.


Source: programmer blog

Student Spotlight: Daniel Jost

By Mike,

This post is the full question set of the article published in University News, a publication at RIT. Thank you to Derrick Hunt for the questions, and shoutout to Brandon Littell for sharing the article space.

Name: Daniel Jost
Year: 4th year (senior)
Major: Game Design and Development
Minors: Psychology, Free and Open Source Software and Free Culture

The sun was bright and my eyes were squinty.

What brought you to RIT?

Two big reasons stick out: a solid game development program and the school culture. When I first visited RIT I knew I had found a place that I would fit in and make lasting friendships.

Why did you choose to major in game design and development?

I’ve held an interest in game development for years. I started out doing public relations for game mods as well as community moderation, but I didn’t come to appreciate the programming aspect of games until I arrived at RIT.

How did you land your co-op at Microsoft?

A recommendation from Brandon got the ball rolling. My interviewers found my involvement in the open source community as well as my work with games to be good enough to take a chance on me.

What did you work on?

I was a web developer for the Admin Console in Windows Intune. Intune is a computer and mobile device management package for companies to manage their employees’ machines, and my efforts were aimed at improving the administrator experience. Yes, it’s not games, but I have been doing web development professionally for a few years and I am happy to have been able to work with that group.

What is the RIT community like at Microsoft?

It felt like it was kept under wraps, but I met people from RIT everywhere I went. I think we’re slowly going to take over the entire company.

What do you like the most about Seattle?

The area feels like an extension of the culture I love at RIT. Plus it feels like they built the area around nature rather than trying to overrun it.

How did your co-op prepare you for graduation?

Well I got a full-time offer, so pretty well! This will be the first semester that I haven’t had to worry about finding work, so I am looking forward to focusing my efforts into my school work (read: creating games) and contributing more open source code wherever possible.

What are you most excited for about graduation?

Getting to work at Microsoft! This is the kind of opportunity you don’t ever think will happen going into school, and I am excited to start that phase of life.

What have been some of your best memories from your time at RIT?

Last semester a group of six students created an open source game engine, Dash, while a group of eight that I led created Spectral Robot Task Force, a turn-based strategy game built with Dash. We called ourselves Circular Studios, and that group offered me the most rewarding work I’ve done at RIT. Getting to work with people who have developed specialized skillsets offered all of us the opportunity to bring forth something bigger than I had imagined possible in a semester of work, and I can’t wait to see what we can do with one more semester left.

Do you have a favorite place on campus?

Go get a Tiger (now listed as a Mascot) from the RITZ Sports Zone. Why RIT doesn’t lather all their food with Tiger Sauce I will never know.

How would you sum up your years spent at RIT?

Rewarding. I was constantly challenged to better myself, and I developed lasting relationships with students and faculty.

What will you miss most about RIT after graduation?

Tiger Sauce.

Is there anything you wish you could have done during your time on campus?

I wish I could have attended a hackathon at RIT. But keep your eyes peeled, my dream may yet come true…


Source: programmer blog