Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Column is a Yeoman generator built for hackathons (movefastbreakthings.ca)
21 points by matt_creager on Nov 5, 2013 | hide | past | favorite | 14 comments


Column, like the majority of the side-projects I've been involved in, is the result of my own personal failures & frustrations. Namely:

"Why is it always such a f^*k#ng pain in the ass to get a hackathon group organized!"

I'd like to believe the majority of the dev community is regularly participating in hackathons, they should be, hackathons are a fantastic way to put down our day-to-day responsibilities and remind ourselves why we pursued this career in the first place: it's ridiculously fun. Fun to learn, play with new tech and get a bit competitive.

You know what isn't fun? Endless discussion over which server-side framework to use, which folder structure makes the most sense, which client-side package management system to use, how to bring everyones preferences together. That stuff has a time and place, but during a hackathon? Not so much.

Column is my first attempt to make choices suitable for a hackathon: Which tools will allow us to co-ordinate effectively, to work on different parts of the project without stumbling over each other?

It's a start. Let's build tools that enable us to focus on what's important during a hackathon: winning... I mean having fun.


> Endless discussion over which server-side framework to use, which folder structure makes the most sense, which client-side package management system to use, how to bring everyones preferences together.

It sounds like the challenge is dealing with different people that have differing opinions on what to use, and with this project you're just saying "Use this, trust me!" and hoping that nobody objects? The answer to the problem is to prescribe as much as you can beforehand, so that there is effectively no room for discussion around these points?

It doesn't seem to actually solve any problems around gaining consensus, it just pushes one very opinionated view. Or perhaps I've misunderstood completely.


A number of challenges exist, one of them as you mentioned is just a matter of people having different opinions, another is peoples specializations, if you don't frequently work with client-side tools you might not have been introduced to LiveReload for example.

Prescribing an approach beforehand is exactly what I'm advocating, the best way I know how, with an example :)

I think what we need right now is opinions, mine, yours, anyone with expertise and the willingness to apply it to this problem really, so we can begin the process of iterating on it, improving it.

It won't be the best tool for every hackathon, but we can create a solid foundation.


Ok, that does make more sense in the context of dealing with those unfamiliar with the problem space. And I agree that it's good to have something to bring to the table, as it can demonstrate the fitness of the proposed solution, or if nothing else, provide a starting point.


You're contradicting the problem that you've set out to solve. Now at a hackathon, when debating with my team which frameworks to use etc we now have another scaffolding tool to debate over. This involves those who might not like yeoman, may not prefer the template library you're giving them. As well there will be those who've looked at your repo and simply don't agree with the code your scaffolding.

I like the idea, I really do, but the problem you're solving is all wrong. This isn't a solution for teams to get organized, because in the end you're just another member of their team saying "This is whats best".

This is a solution for a team who finds themselves at a real-time/node/web-app hackathon working with technologies they don't know and its a quick way to guide them in "A" direction, weather its the right or not they will decide once they learn more.


Hey Zypho, thanks for your feedback :)

I mentioned that I really built Column to solve my own problems first (my fiance might say I need medication, not more software), I happen to be a real-time/node/web-app developer, and participate in hackathons, so you've hit the nail on the head with your last statement :)

I'm hoping that just bringing some attention to this issue, and how we're trying to solve it will help teams recognize that preparation is critical, and an easy way to make participating in a hackathon both more fun, and more informative.

One important point that I think you're making here, is that we need to defend each choice, for example: What makes Swig a good hackathon templating solution?

Debate is important, debate will help us reach some consensus over which tools make appropriate defaults and why. So when the argument begins (hopefully prior to the hackathon), why this tool? You can point them to a landing page which provides the key benefits of each tool, with links to the documentation, and whatever else might help a team get started.


One observation: This is indeed a problem for web development, but a non-issue for mobile development. Whether iOS or Android, one guy just clicks "New Project..." in their IDE and pushes it into a git repo (one may have discussions at this point whether to use a public github or a private bitbucket repo...), the others pull it and everyone is ready to go.

That said, teams shouldn't only form around ideas, they should also form around technologies to avoid endless discussions. Also, be open to work with a new technology and ask others if they want to do pair programming with the newbie being the observer/navigator. I did this once. After an hour or so I felt I could provide valid input. Also, pair programming is a really good way to get to know another person!


We should take a page out of mobile developments book and provide a pretty graphic that illustrates the 'new project' flow for a web app!

Good point, I joke a lot about being 'victorious' at hackathons, but the truth is, knowledge > than a t-shirt :)


Nice! I'll be very opinionated here but thanks for using Swig instead of something more abstracted like Jade. Keeping it as close to HTML as possible definitely speeds up development for me.

I'm not usually one for hackathons but definitely do like to spin up mini app ideas and just tinker. I'll give it a shot!


Thanks, honestly, that was my personal preference intervening too, the goal was to use something that allowed you to drop logic into a template (yup, that's a bad practice but it's a hackathon, so who cares?) and didn't scare of someone potentially unfamiliar with template languages (as you mentioned Jade is very different from HTML at first glance).

If you find anything else you think would be useful, let me know. I've got my eye on https://github.com/stephenplusplus/grunt-bower-install as a means of quickly dropping script tags in, and I think some method for simple heroku / aws deployment might be handy too.


Nice +1

Will also try this generator at the next hackathon!

Thx Matt :)


Great, let me know if you run into any issues!

I'm really interested in your feedback, we need an optimal hackathon configuration :)


I'm going to use this on my next hack day for sure.


Thanks Adam, that's awesome, looking forward to your feedback!




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: