

Show HN: Column is a Yeoman generator built for hackathons - matt_creager
http://movefastbreakthings.ca/column-a-yeoman-generator-built-for-hackathons/

======
matt_creager
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.

~~~
k3n
> 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.

~~~
matt_creager
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.

~~~
k3n
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.

------
CookWithMe
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!

~~~
matt_creager
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 :)

------
imjared
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!

~~~
matt_creager
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](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.

------
robiijn
Nice +1

Will also try this generator at the next hackathon!

Thx Matt :)

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

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

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

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

