Why I don't like hackathons - <AUTHOR> http://infotrope.net/2014/11/28/why-i-dont-like-hackathons-by-alex-bayley-aged-39-12/ <comment><USER3> haha. that's hilarious. i worked at a company that was trying to change its image from 'sweatshop' to 'we know tech' image (like a google or facebook). What better way did they think to accomplish this than to have 30 of their engineers work for 24 hours straight developing features they were too stupid to come up with on their own!...oh yeah, they had a ping pong table too...so its all good. And shitty pizza.

I'm 40 now, and i remember my manager was like "You going to the hackathon? I want you there." I'm like "are you kidding me? I'm not coding for 24 hours straight with no sleep...and then have to come into work the next day...damn dude, if you're going to have us do a 24 hour session, at least do it during the day (not a weekend)"

He really had no response for that.

the kicker was 1st place was a $50 starbucks gift card.

<comment><USER4> Was it a "big corp"? I work at one, and sometimes they do these kind of initiatives, to sound "hip" and all that jazz. They are optional but _de facto_ mandatory, and almost everybody hates it. It seems that we can't take a day or two to rethink and reimplement something that's problematic, but we can (or have to) play "startup" for a day or two. It's as cringeworthy as it gets; you can easily tell that everyone wants to go home or even do _real_ work. And the hypocrisy is mesmerising.

Somebody else here in HN (can't recall the thread) said this kind of initiative in megacorps were "mandatory fun". I can't put it better than that.

<comment><USER5> "They are optional but de facto mandatory, and almost everybody hates it."

I'm about the same age as OP and I have a lot of big corp experience and ALL "after hours team building activities" are thiny veiled punishment. ALL of them. The only people who don't see them as punishment (at least in public) are the primates winning the dominance ritual by forcing their slaves, err, I mean employees, to do stupid stuff. Or severe stockholm syndrome victims. What a bunch of jerks. If I don't hate them before the teambuilding, I hate them after it, thats for sure...

Non mandatory I don't mind although I'd never attend. Make it mandatory and you light the fire of hate.

<comment><USER6> As somebody from the Anglophone world, the only good after-hour team-building exercises involve lots of really good food and getting hammered.

<comment><USER7> Except, what about the people who don't drink?

As someone who works somewhere where these "team building exercises" take place, if the rest of the group is going to be drinking then there is 0% chance of me going. I don't mind people enjoying themselves around me, but I'm not interested in spending time with them as they drink more and more and consequently start acting stupider and more belligerent.

A lot of people enjoy getting shit-faced, but some people don't. I'm the latter. It's enough for me to truly feel sorry for any recovering alcoholics who mistakenly apply for a position on my team. Does all team-building have to include drugs (yes I'm including alcohol as a drug)?

<comment><USER8> Look, western cultures have been using alcohol to promote social bonding for thousands of years. It works.

<comment><USER9> I'm not saying I completely disagree, but we've been doing lots of things for long periods of time that we stopped doing for good reasons. I wouldn't be entirely surprised if drinking large amounts of alcohol becomes 'abnormal' in the not-too-distant future.

Don't get me wrong: in my current social circles drinking often and rather heavily is still the de facto social activity, and I enjoy it, albeit less, uh, vigorously than the past. Hangovers have become a bigger issue as I'm getting older. Anyways, some of these same groups also smoke heavily and I've noticed that particular behavior disappearing almost completely in some other groups I interact with. So perhaps alcohol will eventually 'phase out' in a similar way, at least in significant parts of society.

Getting 'hammered', even semi-regularly, is very unhealthy and it might not even foster stronger social ties as efficiently as other methods. It's just the easy default, for now, just like other things have been the easy default in the past.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I agree with some of these points and I understand why some folks don't like hackathons. I especially understand why some don't like company hackathons or PR hackathons.

I go to about one or two of them per year, am 36 years old, and here's what I DO like about 'generic' hackathons - that have no single sponsor:

        - It's a break from my daily routine (I work from home, so its good to mingle)
        - It's a lot of fun and I meet smart like-minded people.
        - I get to laser focus on learning new tech without any emotional commitment.
        - I know it's all for naught so I have no problem starting something and then not feeling 'guilty' about throwing it away afterwards.
        - Its a serious mental challenge.  I do it more for the personal competition (like golf) rather than competing against others

There are several other reasons, but those are the top for me. I never going in expecting to win (and I never do), so treating it like a weekend of nonsense probably helps.

<comment><USER11> That's all fine, but the author's points stand.

They are a bit like LAN parties. Don't expect much more than that, and if that's what you want then it's all fine. However, for getting stuff done they are not a good format and his criticisms are valid.

OpenBSD hackathons ( [http://www.openbsd.org/hackathons.html](http://www.openbsd.org/hackathons.html) )tick a few of the boxes though:

\+ not competitive

\+ for working on ongoing projects and known problems, rather than throwaway flashy toys

\+ keep the "good" from regular hackathons

\-----

\- still overwhelmingly for a certain demographic (particularly non-inclusive as they are invitation-only)

\- still likely to be not very healthy

I've been to one of these, and although I did win, I don't think it's particularly useful other than for entertainment, meeting people, etc. Which admittedly are good goals on their own. But anything other than young males will likely feel increasingly excluded in these events.

<comment><USER12> "still overwhelmingly for a certain demographic (particularly non-inclusive as they are invitation-only)"

Isn't the OpenBSD hackathons basically self-selected by being for people who contribute to the project.

"still likely to be not very healthy"

Given the trip reports from the last couple, they had a lot healthier (and funner) time than my last trip to Vegas. I seem to remember a hike as part of the events.

<comment><USER11> I think so, they look interesting but I haven't been to one so I cannot report. From the pics it seems to me that they're something like 90% male in their 20s-30s.

I realise now that my other post was not very clear. I went to a "hackathon" but not an OpenBSD one.

<comment><USER12> "From the pics it seems to me that they're something like 90% male in their 20s-30s"

That's not a problem of a hackathon, its the basic demographic of contributions to open source.

<comment><USER11> Yep well, it's the landscape of OSS and software development in general extending into the hackathon. Not something that should be policed IMO but many people would like a different landscape.

</comment></comment></comment></comment></comment></comment><comment><USER13> I think a "non-interruption weekend" specifically designed around healthy food and sleep breaks is more fruitful in general.

The true value of a hackathon is twofold (imo)

\- you don't have normal office interruptions and the like and can focus on one thing for an extended period

\- you get to meet interesting people and exchange ideas

I think just focusing on that and mostly ignoring the "extremeness" of hackathons would be awesome. Instead of thinking "how can I code on for hours" a better focus would be "how can we generate a very productive and pleasant environment and still reap the benefits of hackathons".

For example, if it's a biggish place, childcare for parents would be something I'd think about before diving into how to get more coffee to the venue ;)

<comment><USER14> I think a third benefit is forcing you constrain the scope of what you're doing very aggressively. It makes me way more productive.

<comment><USER15> Did one a couple years ago - there were just 4 of us, and I was the only software guy. In ... about 30 hours (including my drive time to/from home a couple times) we had a decent-looking and moderately functional piece of software. It actually did quite a lot of stuff, but not what was originally talked about. But everyone was still impressed. Why? Mostly because I was able to focus on a few core things while saying _no_ to most ideas/requests. I just kept saying "no", over and over, while working. Once the base was done, it was easier to say 'yes' to some ideas, or at least sketch them out.

We came in second place, out of about 20 teams that started the Friday night. I chalk about 80% of it up to the focus/constraints and ability to adhere to those.

</comment></comment></comment><comment><USER16> The reason I don't like articles like these - although I actually agree with a lot of her points - is because the term "hackathon" now covers such a wide variety of events, and not all of them have the characteristics she describes.

For example,

> You can tell me all you like about how collaborative the atmosphere of your > event is, but if you are awarding prizes for the "best X", you just sound > hypocritical. If you want me to believe the event is collaborative, don't > make it a competition.

I fully agree with this point and wish more hackathons didn't have judges and prizes. But some don't - I watched the presenting of a tech music hack weekend once, and there were no judges. They gave prizes out entirely at random - <USER2> there were some iPads, good prizes to! The atmosphere was great.

I've also been at hackathons that had great food that wasn't pizza, and hackathons where they encouraged ppl to leave at 6pm.

But I think we need to be careful not to tar all "hackathons" with one brush here. It's interesting that people are now using different words like "Hackstuff" from the article (another reason ppl use different words is that the word "hack" tends to put non tech people off massively) and I'm not sure where this leaves the usage and common accepted definition of "hackathon".

<comment><USER5> "because the term ... now covers such a wide variety of events, and not all of them have the characteristics she describes."

AKA its agile.

</comment></comment><comment><USER17> Incoming rant:

 _> >> They're unhealthy_

I totally agree. I love good food and a good nights sleep. I left the high sugar, high caffeine, junk food diet at University. Just the thought of it makes me cringe now. I've also been trying to fix my destroyed sleeping pattern due to University night life and after two months its finally returning to normal.

 _> >> Competition, meh._

Another good point. I'm a competitive person at heart but I don't see any reason to be competitive over low - mediocre products built in two days. I want to build products that I'm proud of.

Why does everybody think that you generally build _good_ products in an insanely short amount time?Why sacrifice your health over something you won't be 100% proud of. Why are we in such a rush?

 _> >> A welcoming environment for people of all skill and confidence levels, with opportunity for mentorship, learning, and working at your own pace._

This. I'm still new to the software development sector as a fresh out of college graduate and to be frank, my confidence levels are low because I see everybody else doing amazing things that I wish I could do now.

A mentor would be a major plus. Having someone guiding you on the right track is seriously overlooked.Of course you will sometimes fail and the road will be bumpy but at least a mentor will make it a little easier and avoid common pitfalls

I'm a thinker, I hate rushing into things; its like building with a poor foundation. I prefer to think, research, think again before implementing an idea.

As with every hobby, hackathons are great for some people and not so great for others. I personally, enjoy a lot of the things the author said. I love moving around eating good food, lots of water, good sleep and a lot of exercise. Does that make me a bad developer because I don't fit this stereotype developer?

The worst part is when a company expects you to have gone (or go to) to hackathons in order for you to get a job. It really says a lot about what the kind of people they hire and what kind of company they are.

<comment><USER18> You have to take the long road - the people producing amazing stuff didn't get there fresh out of college. I had similar feelings as recently as a year ago - today marks two years as a software engineer for me, and I'm finally at a point where I'm not worried.

You will get there if you invest in yourself - learn new technologies, hop into IRC & ask questions, and go to meetups and talk with knowledgeable professionals.

<comment><USER17> Thanks for the advice and encouragement. I am definitly going to invest in myself and take time to improve, its just that when you look at Show HN, you begin to think your years behind everybody else.

</comment></comment></comment><comment><USER19> On mothers not coming to hackathons: at Museomix[1] events we have at least 50% of women and many moms. Anecdotally, I clearly remember that at the very first Museomix in 2011 Nathalie, a participant, had a 3 months old daughter at home. Her dad was keeping care of her.

Museomix last 3 whole days, is probably beyond the traditional hackathon (in the sense that devs are only a part of the teams. 1/6th to be precise).

I guess the absence of moms is rather a question of general gender imbalance and culture of the event. [1][http://museomix.org](http://museomix.org)

<comment><USER20> I'm a mother of two young children and was a bit puzzled by the gender issue. Now we are past the breastfeeding stage, my husband is just as capable of looking after our children as me (and when my first was very tiny, I took him to a tech conference and the committee were very helpful and found me somewhere private to feed him). Doing these things at weekends is a hobby and having a family is going to get in the way of that, but don't see that affects women any more than men and it's a decision you make when you decide to have a family.

</comment></comment><comment><USER21> They haven't been open to the public (yet), but at Khan Academy all ours have been "healthy hackathons."

Have personally loved it. Eating and sleeping well required. We even bring in healthier snacks than normal and force people out at midnight.

More here if interested: [http://hackweek.khanacademy.org](http://hackweek.khanacademy.org) [http://bjk5.com/post/56123354891/how-we-ran-the-second- khan-...](http://bjk5.com/post/56123354891/how-we-ran-the-second-khan-academy- healthy)

</comment><comment><USER22> > Why can't I work on an existing project?

Man I'd love to join a hackathon where you are encouraged to work on your personal projects, and you get to share it with other attendees, and they get to share theirs with you, and hopefully someone finds your project interesting and then it's not a 1 man project anymore or vice versa.

Most (if not all) hackathons in my country are sponsored by companies to try out their new api's, gather potential hires under one roof, or for investors/business people trying to find developers/co-founders.

<comment><USER23> > Most (if not all) hackathons in my country are sponsored by companies to try > out their new api's, gather potential hires under one roof, or for > investors/business people trying to find developers/co-founders.

This accurately describes every hackathon I've been to in San Francisco. (Facebook, Heroku, RackSpace...)

<comment><USER24> Hopefully I'm being Captain Obvious, but:

Using hackathons as a hiring tactic doesn't seem like a very smart idea, given how self-evidently discriminatory it is on the axes the OP describes.

<comment><USER25> >Using hackathons as a hiring tactic doesn't seem like a very smart idea, given how self-evidently discriminatory it is on the axes the OP describes.

Assuming that this is a problem for the companies in question. Personally, i agree with you: there ought to be Less Discrimination. I'm just wondering if a stereotypical SV outfit worries much about that.

</comment></comment></comment></comment><comment><USER26> OpenBSD was one of the first projects to start hackatons. I think they even invented the term. The idea behind them is great and does not have many of the downsides indicated: just get together and work on things that require more 'bandwidth' than e-mail or IRC or sub-projects where you can quickly progress when tackling it with a couple of other people. Besides that, it's a good occasion to meet fellow project members, have a barbecue, and talk all night.

However, most hackatons that I see in my mailbox are completely different. They are often:

\- A way for a company to get some app programmed as quickly and cheaply as possible (you win a price and we get all rights).

\- A way for companies to recruit. Both technical (which developers are good) and non-technical (who is willing to give up their life if we ask them to) datapoints can be gathered with ease.

<comment><USER27> > The idea behind them is great and does not have many of the downsides > indicated: just get together and work on things that require more > 'bandwidth' than e-mail or IRC or sub-projects where you can quickly > progress when tackling it with a couple of other people. Besides that, it's > a good occasion to meet fellow project members, have a barbecue, and talk > all night.

That kind of meeting is more generally referred to as a sprint, isn't it?

<comment><USER28> Depends on which genesis of the word 'hackathon' you prefer.

OpenBSD and Sun both did 'hackathons' in June 1999, OpenBSD's more of the high-bandwidth collaboration type, Sun's more of the 'promote our APIs' sorts.

</comment></comment></comment><comment><USER29> It just occurred to me that Hackathons which stress on the caffeine-induced sleepless continuous-production aspect of programming are the opposite of what Rich Hickey termed "Hammock driven development" : [http://data- sorcery.org/2010/12/29/hammock-driven-dev/](http://data- sorcery.org/2010/12/29/hammock-driven-dev/)

I guess the "furious activity IS productivity" approach of such hackathons is appropriate if you're building the next great website where the assembly of components is the challenge but they are probably not great for solving open- ended problems such as designing an algorithm or figuring out how to solve a puzzle (a business puzzle, a programming puzzle, a life puzzle).

<comment><USER18> The description of "Hammock-driven" development is very similar to how one has to function in academia, where the problems are hard and a lot of time thinking is necessary.

I also like to operate this way - the solutions created in such moments of brilliance just cannot be reproduced while in constant states of stress.

</comment></comment><comment><USER30> _So what are hackathons good for?_

They're great for MBA-bots who want young, naive developers to crank out a barely functional proof-of-concept for free.

<comment><USER31> Agreed, it's really that simple.

Hackathons make a lot of sense to the people that profit directly from it and/or whose job is little more than babbling buzzwords and "getting the team on fire!!", which you only have time to do if you're not bashing your brains pulling all-nighters programming (no objection in doing this for fun, obviously)

</comment></comment><comment><USER32> AKA why I don't like $COMMON_PASTTIME. This could easily be "Why I don't like Hand-gliding", or "Why I don't like book-clubs"

>Domestic and carer responsibilities are unevenly distributed, which means women are more likely to be too busy to attend hackathons than men are.

Domestic responsibilities are unevenly distributed. This is bad. It has nothing to do with Hackathons.

>Attending a weekend-long event means massively rearranging my life.

Has this guy never been on holiday?

>if I spend two long days in poor lighting and poor ventilation, sitting hunched over my laptop at a meeting table in an uncomfortable chair, eating pretty average catering food or pizza [...] I feel like crap.

If that's an issue, bring your own food. Drink more water.

<comment><USER33> > Has this guy never been on holiday?

The author is a woman.

Presumably, if you're going on vacation, you're massively rearranging your life for something that you want to do. In the case of employers who hold these mandatory hackathons, you're going to put some of your employees in a tough spot.

It's one thing to pay for a babysitter so the parents can go out and have a night to themselves, it's another thing to have to pay for a babysitter because you're going to an event that forces you to stay awake for 24 hours, which you don't even want to do in the first place. If you don't work well in hackathon conditions, then it's a total waste of time and money.

<comment><USER34> Where does it say that the post is about _mandatory_ hackathons organized by a _company_ for its _employees_?

Also, I think you're missing the point of the parent post. The point is that the balance of pros and cons of a hackathon is a subjective matter. Some people enjoy their intensity and challenging conditions, others hate the inconvenience. You can observe this for hiking and other demanding hobbies.

Bottom line is that if a hackathon, hiking, etc happens to be a way you love spending your free time, you will _want_ to rearrange your life to participate.

<comment><USER33> I believe we're talking about two separate issues then.

The only hackathons I've participated in are the type I spoke about (mandatory by company for employees) and are the only ones I'm familiar with. In the context of a work obligation, I understand the issues with childcare, etc.

If we're talking about events that are taking place outside of work, then I view them like I would view a running event or concert or any other elective activity: go if you want, stay home if you don't. In that context, I agree with you and hadn't considered that hackathons like that exist outside of the workplace.

</comment></comment></comment></comment><comment><USER35> Biggest worry for me is impostor syndrome. I'd be terrified of turning up and being absolutely useless and achieving nothing. I don't go to conferences for the same reason.

<comment><USER36> There are a lot of people who feel like that, me included (at times I kinda expect my parents to tell me that I have been playing grown up long enough and that it is time to come home and go to bed at my old bed time).

My best recommendation is to go there anyway, and you will see that you can more than you will ever imagine (useful advice, right? just telling you to do it anyway). Also remember that it is absolutely okay to be scared out of your wits (relevant blog post [http://headrush.typepad.com/creating_passionate_users/2007/0...](http://headrush.typepad.com/creating_passionate_users/2007/03/helping_users_f.html)) and do it anyway.

</comment></comment><comment><USER37> -> They exclude people with lives and responsibilities <-

This is the strongest point.

I will contribute to your project, I will not spend the night drinking Mountain Dew and eating pizza.

<comment><USER38> I didn't appreciate the insinuation that people who DO attend hackathons have no lives.

</comment></comment><comment><USER39> As a developer of Libreoffice, I would love to go to a hackathon, but only if there wasn't much competitiveness. Also, it would help if I lived in Europe, but I live in Australia and (unless I'm mistaken) I'm the only active Australian developer of Libreoffice.

</comment><comment><USER40> I've attended a couple of local hackathons run by [http://www.bathhacked.org/](http://www.bathhacked.org/) Won a category and overall at the initial one (in a team) and won a category at the latter one (on my own).

The initial hack was 1 day and the latter 2 days. I'd guess I did a similar amount of work in both but felt far more relaxed over a 2 day event by keeping the hack objectives small. They are still mentally tiring experiences and you need time to recover.

Negotiating with my wife to create completely free weekends while juggling child care was also relatively hard.

I was then invited to a hack in Bristol a couple of weekends ago, but just could not make it because of family commitments. There was also an element of distance (only 12 miles away but right in the centre of the city) however was offered the ability to hack remotely and just come in to present. I just could not do it due to family commitments AND knowing this would be in effect working back to back weeks without a break.

I do agree that prizes were less important to me than the 'fun' of doing a hack. To win was just icing on the top.

The disappointment in a hackathon is that most of what you create is throwaway and the idea of after a hackathon, having workshops that develop and deliver a product is very very appealing.

</comment><comment><USER41> Hackathons are awesome. I try to do like 6 or 7 a year. And I'm married and in my mid 30s.

To take the OP's points one-by-one:

\- Hackathons are worth the commitment. They're a fast, efficient way to try out 1) new frameworks and APIs, 2) new employees/cofounders, 3) new ideas.

\- Hackathons only exclude people with "lives" who don't choose to make the event a priority. Hackathons filter out timid and less motivated people (and those two attributes are related) and you're generally left with pragmatic people who will make it through the weekend.

\- The OP is right. The inconvenience isn't evenly distributed. Life isn't fair.

\- Hackathons are only as unhealthy as you make them. Gardening can also be quite unhealthy if you don't wear sunscreen.

\- Competition is a positive force, and the extrinsic motivation of judgement and a deadline are real, and good for the hack you produce.

\- Since this is a competition, you can't work on a preexisting product any more than you could start a marathon a kilometers up the road.

\- They're not just toys. Take a look at POWr.io and Zaarly, both of which came out of hackathons. There are many others, and if anyone knows of some of the top of their head, please reply with them.

I think it's great that people are coming together to help code on your gardening project. Hackathons may not be right for you, but they are definitely right for me and the dozens of ambitious people I've coded with at hackathons over the years.

<comment><USER42> Hackathons filter out people with _shit to do_. "Timid" people are not filtered out, except insofar as any competitive environment does. Similarly, "less motivated" people are not filtered out, because it is so, so much easier to crank on something for a weekend, damn the results, than to work incrementally on building something great. One takes a short burst of effort. The other takes significant long-term will. Finding the former to be a waste of resources is not a lack of ambition and certainly not a lack of pragmatism.

</comment></comment><comment><USER43> It doesn't sound like they have been to very many. The majority of the people at a hackathon actually go home at night. Quite a few don't even stay the full day. It's perfectly OK. I used to stay from Friday night to Sunday night coding the whole time at the longer events like Startup Weekend, but after I got married I go home for few hours each night at the wife's request. No one has complained.

I don't think most people expect to win either. For most it is just a fun way to try out APIs or other ideas and work with friends and make new friends. It's typically very easy to grab something like three.js, the Uber API, Meteor, etc. and hack on it all weekend and then if you want to integrate it into your real project later you'll see that you learned a lot hacking. I've picked up lots of new coworkers from hackathons too, so it is valuable for recruiting.

The value of the hackathon is not the prize money times your chance of winning it minus the time spent. You can benefit from the hackathon even if you don't win. With their current attitude, I don't think the author could benefit from going, however.

<comment><USER44> ^ This is really important to get. Hackathon isn't some required thing you absolutely have to do, or even finish for that matter.. Its a great way to get your feet wet not only in whatever you're hacking with/on, but just to meet the community.

If you're going to go to try to win, that's great.. but people shouldn't feel that there is some sort of responsibility to be there, and to give it your all. I have left hackathons because of other commitments, or I just got bored.

</comment></comment><comment><USER45> I only was at one Hackathon, yet, and the article pretty much summarizes my thoughts. Instead of working on the Hackathon I did some pull requests to actual FOSS projects. One guy actually presented the thing he did for a FOSS project.

Aren't there hackathons from like Mozilla, Django, Rails communities who just meet to get some specific set of features, bugs or tests out of the way?

<comment><USER46> Those are usually called "sprints".

<comment><USER45> Thanks! Very good to know! ([http://en.wikipedia.org/wiki/Sprint_%28software_development%...](http://en.wikipedia.org/wiki/Sprint_%28software_development%29))

</comment></comment></comment><comment><USER47> I've been to a few hackathons over recent years. On occasion I've found them very useful. Forcing yourself to come up with a good idea that you or a small team can build quickly is a great exercise. They've also helped improve my public speaking and presentation skills when it comes to technical subjects.

I will say that you often see quite dull entries from people attempting to make commercially viable products, and that those entries often do well with the judges. I think the participants get more out of it if they go all out and use their imagination, without worrying about the end result. I'd prefer if the prizes at some hackfests were biased towards creative thinking rather than producing an MVP for a product the hackfest organiser can commercialize. This would also make it less like "work at a weekend."

</comment><comment><USER48> If you don't like them you don't attend them it is as simple. For me hackathons are great place to meet people with familiar interests and share experience.

<comment><USER49> The author is building alternatives: civic hacking meetups. So for people who hack the institutions around them, it never has to be as simple as going or not.

Personally, this cultural critique is far more interesting than any hackathon I've seen. I was even at a company which hilariously tried using hackathons to pay off technical debt, instead of simply scheduling it. (The damned Scrum Master was surprised I had no intention of staying during weekends; somehow he thought this plan would overjoy me, since I claimed we mismanaged technical debt.)

</comment></comment><comment><USER50> I've never heard of this kind of hackaton. These sound like startup-thons. All those I've attended have been more in the spirit "come and hack on whatever you want, discuss ideas, show of your work" which I think has been great.

</comment><comment><USER51> I've been to several hackathons, and I have a hard time relating to the article.

The hackathons I've been initiated by some open source communities (sometimes sponsored by a company, but that company wasn't involved in the topics), and were mostly not about the hacking, but about high-bandwidth communication between folks that usually only converse via bug trackers, IRC and email.

There are no prizes. Often no new projects come out, but existing ones are advanced.

I get the impression that there are two kinds of hackathons, the commercially motivated, and the community one.

IMHO it makes a lot of sense to distinguish those two when talking about hackathons.

</comment><comment><USER52> Does 'not for everyone" cover this?

Exercise is a decent metaphor. Gyms are "for everyone." Some people like them more than others, but most people can stand 30m in a gym. Few people really love them.

Swamp runs are not for everyone. Some people love them. They get wet, mucky and have a silly fun time. Try to force your wife who doesn't want to swam run to swamp run and you will soon have an unhappy wet wife.

Talking about stuff online pushes everything a little further into Oscar Wilde manifesto territory. I'm think I'm doing this right now.

BTW, is the "Why I ___" format an Oscar Wilde Homage?

</comment><comment><USER53> I've been to two "Major League" hackathons (CalHacks and YHack) and really enjoyed my experiences at both as a current undergrad studying CS. Not often do I get the chance to meet 1000+ people my age that are interested in exactly what I'm interested. It's a great time for meeting new people, and maintaining relationships after the weekend is done. I landed an internship this Summer in SF from building a hack and talking to engineers, so I'd say it's been an incredibly valuable experience.

</comment><comment><USER54> I'm a Hacker and a Dad, and I rarely get to Hackathons unless I'm randomly there by chance. That happens often enough that I have an opinion about Hackathons, only because I am a frequent attender of Hackerspaces.

As a Dad, my time is very valuable; my kids do not suffer for my nerdy nature. In fact, my first hackerspace is the one I share with the boys. The second hackerspace is Metalab ([http://metalab.at/](http://metalab.at/)), and I'm a social attender - i.e. I don't really commit, but rather just attend. To be honest, after a week of watching the 5 and 7 year olds, its a great thing to see the 20-something year olds, the 30-something year olds, and maybe even a few teens, hacking away on something in the social cornucopia that is your average, every day Hackerspace.

Here in Vienna, I sometimes run into other hacker-Dad's, and one for one either have other commitments, socially borne, and therefore they are mutable, or else they have the long-term view. What matters though, is that all of these hacker-Dads share the desire to pass it on. Its a wonderful thing indeed to see a 4 or 5 or 6-year generation doing amazing things with the end-results of their Dads (or Mums) few hours spent, here and there, soldering .. hacking .. tweaking .. twiddling.

tl;dr :- Home is the first hackerspace, or at least it should be.

</comment><comment><USER55> Amen.

I am 20 years old and I share almost every single point as in the article. If not every single one honestly.. :P

</comment><comment><USER56> Oh boo-hoo, "it's really inconvenient and unhealthy and it's competitive and I'm a damp rag." Man that read sucked the life out of me.

<comment><USER57> "I have a very fulfilling life, full of hobbies, friends and shit to do. Your hobby sucks! Don't you have anything better to do with your life, other than eating pizza and drinking caffeine and having fun coding?"

</comment></comment><comment><USER58> I can also relate to the article because some hackathons that I have been to feel like you're building this thing that you know you are going to throw away. And events where you are able to use a new language you're under time pressure to just get it working rather than understand it. I'd rather spend a whole day on my own projects.

I've been to two other hackathons that are focused on attracting girls and women into the STEM arena ([http://www.stemettes.org/events](http://www.stemettes.org/events)) but they don't exclude guys. The idea is more around splitting the participants into groups of different ability and helping them build something. I really enjoyed that the event is about learning/mentoring more than about wining prizes and I found it really rewarding to help kids that had some interest in coding.

The events are quite different from the 48 hour hacks because they are also catering for 6 year olds with short attention spans, but it felt like I was helping to show that coding is accessible to anyone of any age.

If you're a coder in London I highly recommend volunteering with them.

</comment><comment><USER59> I've worked with teams on 48-hour film projects, in which you create a short (7 min) film in a weekend, quite comparable to a hackathon. On a team of 20 people, we charge two participants fulltime with organising catering: healthy meals, snacks, etc. It really does wonders for the motivation and preventing cranky reactions from the stressed-out director of photography on Sunday afternoon

</comment><comment><USER60> I agree with all the points, and yet at the same time I like these hackathon jam thingies.

I have a real life with real responsibilities and I live deep in the countryside to so I just don't get hackathons happening around me.

But I've started to make 'me' time to go meetups, game-programming jams, 'make' kind of things and that kind of stuff. And I love it, even if just a spectator and just for a few hours.

Along those lines I recently invited myself to look around a real rocket project (I'm an armchair enthusiast) and here's my pictures: [http://williamedwardscoder.tumblr.com/post/102953980123/home...](http://williamedwardscoder.tumblr.com/post/102953980123/home- made-space-rockets)

I think that kind of project is like a years-long hackathon if you squint from a sufficiently high altitude.

</comment><comment><USER61> Internal hackathons can work. We recently had one where we basically shut down most of the company for two days (it was a Thursday-Friday).

People could opt-in or do their regular work. They could stay late if they wanted but it wasn't required. It worked well because no one was surrendering a weekend.

</comment><comment><USER62> Not sure if this post mentioned acquiring customers, but a hackathon can be a good sales channel.

Our last hackathon landed us a fortune 500 company as a customer. They were on the judging panel.

I think we were disqualified from winning due to adding new features to an existing app.

</comment><comment><USER63> I'm 39 and a half too. I hear you. Maybe it is an age thing!

<comment><USER64> Im 24 and think he brings up good points. So maybe age is not a thing?

<comment><USER65> I am 23 and I agree with the article

</comment></comment></comment><comment><USER66> Hackathons are like LAN-parties for coders. I visited both.

4 person lans and 600 person lans.

3 person hackathons and 100 person hackathons.

When I do a lan with friends, we are 4 - 8 people and play games for fun, when I went to a 600 people lan, there were competitions and prizes.

Same goes for hackathons.

You can do your own thing if you don't like whats going on.

Hell, you could even do a big hackathon, like I did a 600 person lan once and make your own rules.

I stopped going to such big events for the reasons listed and did funny small ones with my friends.

</comment><comment><USER67> There's always the option of not taking the hackathons that seriously. The one I did some stuff for I popped in in the morning, found out what it was about, went home a wrote some code for about 6 hours and then popped back the next day to present. My team mates were non coders. We didn't do to bad though not in the top 10%. It was quite fun though. I'm noticeably over 39.5 and think I'll skip the all night there stuff.

</comment><comment><USER68> Yes, people with responsibilities are excluded, but that is life. You don't see parents of young children out clubbing till 4am. Younger people go out clubbing because you can feel shit the next day without the kids wanting attention. Not being able to go to a hackathon for a whole weekend is something you'd have to give up too if you had other priorities.

<comment><USER33> That's fine if your hackathon is optional, but many workplaces make them mandatory or they exist in a kind of gray area where you're not required to go, but it's "highly recommended" you go if you want to continue to advance in the office.

And sure, if your employer puts you in that kind of situation, it's shitty, but not everyone has the ability to just up and quit for greener pastures.

</comment></comment><comment><USER69> What I've found to be much more successful are weekly Hack Nights. I gave a talk about it earlier this year: [http://confreaks.com/videos/4140-cascadiaruby2014-cloning- th...](http://confreaks.com/videos/4140-cascadiaruby2014-cloning-the-seattle- ruby-brigade)

</comment><comment><USER70> Looking on the other side of the coin, can anyone mention any positives (personal perspective of course) from attending a hackathon?

Personally, I would rather contribute to a FOSS project rather than getting involve in hackathon.

<comment><USER5> You can meet people.

If you don't like the experience, assuming your employer isn't punishing you by forcing attendance, you just walk away if you don't like it. Assuming you're not walking away from your job, you're walking away from little more than an entry fee (if any) and some (likely) free food.

Also theres no interview process (again, assuming your boss isn't an evil bastard forcing you to attend as a condition of employment). So not knowing anything about hbase is no disqualifier from attending and being "the hbase guy". Although if you try that unless you're a true genius, or very lucky, don't expect many job offers LOL. Very few job reqs for "candidate will demonstrate 48 hours experience with GNU R" or whatever.

</comment></comment><comment><USER71> A big part of when I go to hackathons is meeting new people, coming up with new interesting idea, learning from other's idea. It's a good learning experience, and I get to network with people.

</comment><comment><USER72> I wanted to write this for a month or so. Nice to see that I am not alone.

One point I wanted to point was, they just encourage you to remember you code and write it all at once. They are kind of memory testing.

</comment><comment><USER73> The best is when your PM goes to one and then comes in on Monday expecting you to implement all your features by 1AM if he gets the Pizzas in...

IMO it breeds bad habits of coding, planning and management...

</comment><comment><USER74> I would be very suspicious of finding a job offer at a hackathon. A company who wants workers that are willing to go without sleep to code are just looking for naive talent to exploit.

</comment><comment><USER75> They're good for young people. When I was young I would have found them inspiring.

</comment><comment><USER76> +1000 usually hackathon are the extension of a stereotype that a developer should make a fantastic app in 24h. I can understand about designers and business models, but to project and develop a real app from scratch take a lot of time.. if you don't use pre existent code

</comment><comment><USER77> Next from the author, "Why I don't like startups."

 _meh_

<comment><USER39> No sleep, constant work, crappy pay, crappy code and you get pizza. Is this your idea of startups? If so, get the hell out of that startup if you are a salaried employee!

</comment></comment><comment><USER65> Agree.</comment>


EBay Will Spin Off PayPal into a Separate Company - <AUTHOR> http://www.wired.com/2014/09/ebay-paypal-split/

<comment><USER2> This story is #3 on the front page right now.</comment>


The comeback of static typing - <AUTHOR> http://kishorelive.com/2013/02/24/the-comeback-of-static-typing/ <comment><USER2> The lack of popularity for static typing can be laid mostly at the feet of Java and C++. A language with a truly good type system like Haskell, OCaml or Scala gives you more advantages without many of the disadvantages of a Java- style system.

Too bad too many people were too poisoned by Java et al to consider switching to one of the good statically typed languages; happily, their recent popularity (like this blog post :)) has gotten people to consider them.

<comment><USER3> You can't really say that Java and C++ are not popular languages. C++ is only really popular, IMHO, because there hasn't ever been a good competitor to it in the compile to native programming domain except for C. However, Go and Rust, IMHO, are interesting approaches and I wouldn't be surprised if Go or Rust replaced C++ over the next 10 years. I imagine C will still maintain its popularity in very low-level systems programming.

The thing about Java is that it is really hard to write clever hard to maintain code in it. Sure, it makes it painful to develop with, but because it leads to maintainable code the code never gets thrown out and rewritten and almost by accident very large multi-million line code bases grow over time in it. These huge code bases lead to a lot of jobs for people doing maintenance on them, not because developers like the language, but because the code still works and never becomes impenetrable, as most large code bases often do.

<comment><USER4> I like Go, but it will never replace C++. Nothing that uses a garbage collector ever will.

The Go authors are saying that Go is for "systems programming". What they apparently mean by that is server side infrastructure stuff, the kind that is now frequently written in Java. Things like Hadoop, Tomcat or even database systems.

What they don't mean (I believe) is operating systems, device drivers, embedded systems, real time stuff including many trading and telecoms systems, graphics pipelines, signal processing, libraries that are too complex to rewrite in every language (like browser engines), etc. There's a very long tail of these things and it's growing as we get more intelligent connected devices.

Much of that is now written in C++. The question is, will C come back to replace C++? I don't think that's going to happen. I love C. It was my first language and I admire its simplicity. But there is one thing that C++ has over C: RAII. RAII is an ingenious universal resource management tool that gives us 90% of the productivity gains we get from garbage collection without any of the unpredictability, and it helps with resources other than memory as well.

Forget templates and all that fancy stuff. C++s raison d'etre is RAII. So, I think, Rust may have a chance to replace C++ (purely from a technological perspective) but Go unfortunately does not.

<comment><USER5> > I like Go, but it will never replace C++. Nothing that uses a garbage > collector ever

Only future will tell.

I have used in the past desktop operating systems (Native Oberon and AOS) without any single line of C++ code, written in GC aware system programming languages (Native Oberon and Active Oberon).

I do like C++ a lot, but I am quite confident that manual memory management will eventually be a sweet memory of old coders.

<comment><USER5> Update to my own comment.

I don't mean that Go will be that language per se, but that whatever we might use for doing systems programming in future OSs will be GC enabled, even if it allows for some way to do unsafe/system _local memory management_.

</comment></comment></comment></comment></comment><comment><USER6> As no-one else has mentioned it yet, here's a link to a copy of Chris Smith's excellent "What to know before debating type systems" article:

[http://blogs.perl.org/users/ovid/2010/08/what-to-know- before...](http://blogs.perl.org/users/ovid/2010/08/what-to-know-before- debating-type-systems.html)

If you're at all interested in the real strengths and weaknesses of different kinds of type system but don't yet have much experience in the field, this is a solid and impressively neutral starting point.

</comment><comment><USER7> I think language evolution will always be cyclical like this--dynamic languages sprint ahead, and the static languages eventually catch up.

The reason is that dynamic languages are so easy to build--they usually start out as hobbyist projects. Not to overly-trivial it, but these days most anyone can sit down with a compiler book and have an interpreted language up and going quickly.

So dynamic languages evolve quickly--it's easy to try new things, see if they work, see if they don't.

Static languages, on the other hand, are hard to build--you don't often see hobbyist language developers coming up with type systems in their spare time. Type systems are hard.

And the tooling for static languages is hard too--dynamic language users live in emacs/vim/Sublime, but static language users are going to want an Eclipse IDE, refactoring, etc., etc.

So, static languages evolve slower.

 _But_ once someone has put the time and effort into a static language, and has the tool chain polished, I assert that most programmers (of course not all) that sprinted ahead to the dynamic languages will find themselves tempted to wander back.

If the syntax is the same (once the static languages catch up), why wouldn't you want static typing, given that, even in dynamic language programs, 95%+ of the calls could be statically verified anyway?

(Admittedly, how you deal with the remaining 5% (reflection, macros, XML, whatever) is left an exercise to the reader.)

Great case in point: Groovy. The original creator, James Strachan, was a hobbyist, and I believe (admittedly putting words in his mouth), if not consciously, built Groovy as a dynamic language because it was easy. But now he prefers Scala, which is basically the same syntax, but with all of the extra infrastructure around typing/tooling/etc.

<comment><USER8> > But now [James Strachan] prefers Scala, which is basically the same syntax, > but with all of the extra infrastructure around typing/tooling/etc.

James has actually moved on from Scala to helping build statically-compiled language Kotlin!

<comment><USER7> Ha! How interesting. I didn't know that; thanks for the update.

</comment></comment></comment><comment><USER9> _"Over time, not only have I learned to appreciate languages with good type systems, I actually now prefer them for solving certain classes of problems."_

I think that dynamic typing seems easier at first, but after a while you see how static typing would catch mistakes you make. While one programmer gains the experience necessary to appreciate static typing, a new programmer starts programming and doesn't have that experience yet, thus the static vs dynamic debate is always with us.

I described it here: [http://www.databasesandlife.com/the-cycle-of- programming-lan...](http://www.databasesandlife.com/the-cycle-of-programming- languages/)

<comment><USER10> thats very true it will always be with us. i started in C ..spent a lot of time there and felt crazily liberated in perl, php and javascript. - but i still love and use C, ( and recently objective-c ).

this all boils down to skill with tools - cordless drills are amazing ..and so are floor drill presses

</comment></comment><comment><USER11> I think static typing (10+ years ago) got a bad rap not because of static typing as such, but everything that came with it (and didn't necessarily need to). I'm talking about the languages of the time (C, C++, Java primarily).

C is a bit of the one out here in that its static typing is a really thin veneer as you can cast things to whatever you want them to.

Python and Ruby (in particular these two) more than anything else allowed you to write really terse, expressive code. The canonical Python example of this is defining a tree data structure:

        def tree(): return defaultdict(tree)

or solving the N-queens problem in ~6 lines of code [1].

Java and C++ OTOH were (and are) _much_ more verbose but only some of this has anything to do with static typing.

All of this is one reason I'm incredibly bullish on the future of Go for such reasons as:

\- no interfaces. If an object implements the methods expected by a consumer then it compiles otherwise it doesn't;

\- incredibly simple OO system;

\- no exceptions as such (particularly checked exceptions in the case of Java, which IMHO are just horrible). Some consider this a minus. I tend to think that exceptions tend to get abused for flow control and aren't the panacea they're made out to be;

\- simple semantics for function returns and the ability to return multiple items;

\- opinionated formatting (I'm not one of those people who has almost religious zeal for the placement of curly braces and indenting so I'd rather just have a standard and stick to it, whatever it is);

\- compiles to a binary rather than running on a VM;

\- simple grammar with fast compilation. This last point is contrasted particularly well with C++;

\- coroutines (or rather goroutines) as a first-class language citizen for solving concurrency problems;

\- the "defer" mechanism for resource cleanup. I find this _much_ easier to read than tortured try-finally semantics and nesting.

Another way to put it is this: a lot of vim/emacs users judge IDEs as horrible based on having (often briefly) used Eclipse, which is a bit like judging the car by having once driven a 1975 Trabant.

Don't judge static typing by Java or even C++. Judge it by Go.

[1]: <http://rosettacode.org/wiki/N-queens_problem#Python>

[2]: [http://www.time.com/time/specials/2007/article/0,28804,16585...](http://www.time.com/time/specials/2007/article/0,28804,1658545_1658533_1658030,00.html)

<comment><USER12> _"Python and Ruby (in particular these two) more than anything else allowed you to write really terse, expressive code."_

If you like being able to write terse, expressive code, you'll love APL,[1] where Conway's Game of Life[2] can be written in one line as:

      life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}

[1] - <https://en.wikipedia.org/wiki/APL_(programming_language)>

[2] - <https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life>

<comment><USER13> We also want our code to be _readable_.

<comment><USER14> I think a really simple rule-of-thumb for code is: "can you dictate it through the phone?"

<comment><USER8> Code has nested structures which are commonly shown with indentation, which it's difficult to communicate vocally with say, intonation. E.g. think about how differently you'd dictate this variation on your reply...

I think a really simple rule of thumb-for-code is "can you dictate it?" through the phone.

</comment></comment></comment></comment></comment><comment><USER15> > A few years back, one big lure of Python or Ruby used to be the functional > constructs that they offered like higher order functions.

This statement surprises me.

<comment><USER16> Why's that, dons? They are playing a bit fast and loose with what 'higher order functions' means, but, for example, one of Ruby's best features is blocks. The details of higher order stuff in Ruby is certainly... messy, but blocks are a great introduction to the concept for people who haven't used them before. I've taught the concept to high school kids on their first day of programming, (mostly through a physical metaphor involving a list of chores on a piece of paper) and they picked it up easily enough.

<comment><USER17> I can't speak of Ruby (or for Dons :), but I'm not sure Python's use of hof's is a good example to learn from when it's lambda scoping rules produce such "interesting" results.

>>> monomials = [lambda x: x(star)(star)i for i in [1,2,3]] #(not sure how to escape stars for exponentiation properly, whatever)

OK, what will these functions evaluate to at the point 2.0?

>>> monomials[0](2.0), monomials[1](2.0), monomials[2](2.0)

(8.0, 8.0, 8.0)

The i variable was captured as an address which all the lambdas share. For an _integer_. Ouch.

You can do "lambda x,i=i: x(star)(star)i" and capture the value properly, but to me this is a landmine waiting to be stumbled upon every time I write a lambda. I for one will often forget to do this, at least so long as I also keep using other languages which can capture integers as _values_ without hijinks.

<comment><USER18> I wonder if anyone knows why subtlety exists in Python. Is it because reference semantics and HOF are fundamentally incompatible, or could it have been avoided somehow but still retaining reference semantics. The most common complain about lambda in Python is that it is restricted to expressions, which is a conscious design decision that could have gone the opposite direction.

<comment><USER19> The subtlety sixbrx mentions used to be present in C#, but it has been mostly fixed by moving the declaration of the foreach loop variable inside of the loop [1]. Like Python, C# has reference semantics. I'm surprised that Guido van Rossum didn't make a similar change when he broke backwards compatibility in Python 3.

[1][http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closi...](http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closing- over-the-loop-variable-considered-harmful.aspx)

</comment></comment></comment></comment></comment><comment><USER20> I agree with his view, but I could never find a static typed language that was useful in a long run.

Haskell was amazing as long as try don't need to do much io. When I started spending more time fighting the constraints than being productive I stopped.

Ocaml was also not bad. But their strict restrictions on what opetators can be used with what types is annoying when you do lots of calculations. Having to explicitly cast numbers all the time was not inviting either.

Rust sounds great, but after a day of playing with it I saw it's really not ready yet. A couple of places needed wrapping in "unsafe" block to start working as expected. Some keywords and ideas were also going to change soon. I couldn't get used to the restrictions coming from not having exceptions or early function returns. It really adds some maintenance code.

Scala was probably the best so far, but the heavy vm is annoying.

So... still waiting for that perfect language.

<comment><USER21> >I couldn't get used to the restrictions coming from not having exceptions or early function returns

I'm probably being getting confused about what you mean here, but I thought you can return from anywhere in a function in rust using 'return'. I think Option types are one way to propagate errors back up the stack (with the compiler forcing you to handle them), but I don't know how practical that is in reality.

I agree that Rust isn't ready for production use though, even in the few weeks I've been trying it they have decided to change parts of the language. Also the standard library is lacking in documentation and is pretty inconsistent.

<comment><USER20> What I mean is that if you don't have exceptions and `return` returns only from a given block, it takes some serious exercise to break out of a "fn ... { ...each { ... match ... } } }".

Return will only return from one of them, so to signal an error from the match block, you need to:

\- save the result in a mutable variable in a function

\- do something that results in "false" returned from each block

\- return the result from the function (probably casting mut->immut on the way)

What I'd really like is either a stack unwinding exception, or a `return` keyword that's different from the "last expression in a block" syntax. Last expression could give a result for a closure, match, if, etc. while `return` could always break out of a function. For example (pseudo-code, proper syntax doesn't matter here):

        fn parse_into_list(s: &str) -> Option<Stuff> {
            let res = do s.map |c| {
                match c {
                    bad_character => return None
                    ...
                }
            }
            Some(Stuff(res))
        }

Instead of:

        fn parse_into_list(s: &str) -> Option<Stuff> {
            let mut result: ...;
            let mut correct: true;
            do s.each |c| {
                match c {
                    bad_character => {correct = false; false}
                    good_character => { do_stuff_with_result; true}
                }
            }
            if correct {
                Some(Stuff(result))
            } else {
                None
            }
        }

</comment></comment></comment><comment><USER22> The title should have been "My personal comeback to static typing", because static typing was never gone.

<comment><USER23> well if you read HN religiously you might have thought otherwise

</comment></comment><comment><USER24> I have distilled my thoughts on this down to: if you think dynamic typing is the only effective way to do things you probably have never done any significant debugging or maintenance. Dynamic typing is a solution, but like all solutions it has limits. Here is my longer article on the topic before I distilled down to the above: [http://www.win-vector.com/blog/2012/02/why-i- dont-like-dynam...](http://www.win-vector.com/blog/2012/02/why-i-dont-like- dynamic-typing/) .

</comment><comment><USER25> Disagree that static typing is important- it's all about static analysis. Static analysis has come a long ways for dynamic languages, see TypeScript or the Closure JS compiler for example.

<comment><USER26> Static analysis is a great tool, but the guarantees of a typing system can be much stronger (and as a result, can inform the static analyzer much better).

<comment><USER25> A typing system != static typing!

Static typing means that the types cannot change. Dynamic languages can still declare types. It's just that they are allowed to morph. A good analyzer can track those changes and know when types are equivalent (TypeScript does this).

Furthermore, typing is one mechanism to express contracts within your code- such as 'this method takes argument X which is of the form Y and will return something which looks like Z'.

More complex analysis requires more and more annotations to specify the contracts of the methods. An example is a C function which takes a char* and an int. You want to annotate that the int indicates the length of the char* buffer, and have a static analyzer enforce that.

I am _all_ about code contracts and enforcement of those contracts. But this is not necessarily tied to a static language.

<comment><USER27> There's just a different set of terms used here.

In static typing context, "types" is a lexical construct of subexpressions. In this context, dynamically typed languages are "untyped" or "unityped" (one type for all expressions).

In dynamic typing context, "types" are the runtime tags of data with rules about dispatch and what kinds of tags are allowed with what operations.

I think for the benefit of communication, we should refer to the static, compile-time annotation on sub-expressions as "types", and the entity dynamic languages calls "types" as "tags".

Your example:

> More complex analysis requires more and more annotations to specify the > contracts of the methods. An example is a C function which takes a char* and > an int. You want to annotate that the int indicates the length of the char* > buffer, and have a static analyzer enforce that

This is of course certainly compatible with types. Something like:

        func : (n : Int) -> Ptr (Array n Char) -> ...

This is the type of the contract you specified.

Static types and static analysis are basically variants on the same idea. However, static types is part of the ordinary workflow, and static analysis is often treated as an "after-the-fact" feature. This will not work as well, since much of the power of types relates to techniques to structure our programs so that types cover as much as possible.

</comment></comment></comment></comment><comment><USER28> One of the points the author makes, is that static typing improves code maintainability and refactoring. I've used both static and dynamic languages. When I was younger I preferred dynamic typed because they were easier to start with and code, but now that I've grown more experienced and dealt with highly complex projects, I prefer static typed. Being able to debug, maintain, and refactor code is much easier and less risky in static typed languages.

</comment><comment><USER29> I think dynamically typed languages have become so popular because in simple examples they look great to novices. You don't need to know much syntax about defining variable types, you don't have to type as much, you don't have to figure out why adding an integer to the end of your string won't work, etc. Later, when they try to build something large enough to be useful they realize just how much they traded for that little bit of convenience. For example in PHP:

      $id = 1;

      $dbh = new PDO($connectionString, $user, $password);

      $sql  = ' SELECT column';
      $sql .= ' FROM table';
      $sql .= ' WHERE id = :id';

      $stmt = $dbh->prepare($sql);
      $stmt->bindParam(':id', $id);

      if($stmt->execute()) {
        // Do stuff
      }

      //This echos ID: 1
      echo "ID: $id";

      if($id === 1) {
        echo 'This should be true, we set $id = 1 at the top.';
      } else {
        echo 'Instead we get here because PDO casually changed our variable into a string and "1" != 1.';
        die('in a fire dynamic typing.');
      }

<comment><USER30> > you don't have to figure out why adding an integer to the end of your string > won't work

You're confusing dynamic typing with weak typing. A language can be dynamically typed (types are checked at runtime) without doing things like automatically converting integers to strings, integers and strings to booleans, etc. etc.

Conversely, a language can be statically typed and still do some of those conversions.

</comment></comment><comment><USER31> I very much like Go's approach to static typing. Go allowed me to retain the flexibility and ease of development that Ruby and friends provide, even though the output is fully statically typed. It's great!

<comment><USER27> HM type systems have been providing this benefit (to a greater effect than Go) for ~40 years...

<comment><USER5> That is Go's PR on the move, presenting Go features as novelty.

My personal one is how fast it compiles, given I was doing the same thing with Modula-2 and Turbo Pascal in the mid-80's.

</comment></comment></comment><comment><USER32> For the dev building the library static typing is a very convenient thing to have. All the ins and outs have very clear rules enforced at compile level.

However, for the user of the library, it simply gets in the way. This may be avoided though if the library has been designed well enough that strange internal types are not exposed to the user unless absolutely necessary.

<comment><USER2> Actually, I find the opposite to be the case--static typing helps me use unknown libraries. The types immediately let me know exactly what a function expects and what I should expect from a function. They also prevent me from using things incorrectly most of the time.

Essentially, the types are compiler-enforced documentation. They also make discovering functions easier--a type is a succinct summary of what a function does, so I can just browse by types to find what I want quickly. Augment this with great tooling like Hoogle (a type search engine) and you've got a truly awesome development system.

</comment></comment><comment><USER33> I am sure you don't care but Scala runs on the Java virtual machine.</comment>


Indian version of Y Combinator... - <AUTHOR> http://iaccelerator.org/

<comment><USER2> "Indian version of Y Combinator"

Yeah Right!

From the FAQ

"When the company is formed we set up a bank account. When the bank account is set up we deposit a check for the full amount of our commitment ie. 5 Lakh directly into it. A company secretary is brought in to distribute funds from the company checking account as per the budget instructions. Adjustments to the budget can be made at board meetings. Founders _do not_ have direct check writing control of the bank account."

You need to buy an extra laptop, wait for the next board meeting and/or get approval from the "Company Secretary".

"Founders _do not_ have direct check writing control of the bank account!"

Sounds like a great way to run a startup!

And they have the audacity to call it "The Indian version of YC".

I doubt PG and co sit around approving line items and writing checks every other day! AFAIK they hand over the money at the beginning and that's that.

<comment><USER3> Perhaps to prevent rampant Collusion, Corruption and Casteism in India. [http://business.rediff.com/report/2009/sep/24/indians- among-...](http://business.rediff.com/report/2009/sep/24/indians-among-most- corrupt-while-doing-business-abroad.htm)

<comment><USER2> "Perhaps to prevent rampant Collusion, Corruption and Casteism in India."

(If you were being sarcastic, I couldn't detect it in your sentence, so I will respond to it as written. Apologies if I didn't catch the tone right.)

yeah sure. When a seed funder decides to spend 10,000 $ on a company _after_ extensive interactions with the team, his first concern is to avoid "collusion corruption and casteism" and so he has to have line item veto ;-)

I wonder if PG and co lose their 17,000 $ occasionally to people who just take the money and blow it gambling in Las Vegas? After all they just hand over the money, with no "guarantee" that the team will _actually_ start coding/running a company.

</comment></comment></comment><comment><USER4> Sorry to be all negative about this. I am guessing this would be another IIT/IIM circle jerk. Everyone else will be filtered out. I will change my mindset when I see the proof. Till then, cynical.

<comment><USER5> What is so wrong about IIT circle?

No doubt, they are top brains of India. PERIOD

<comment><USER6> Actually most IIT-ians are amazingly persistent in a way that, I think, overshadows their "genius". It takes a heckuva lot of studying to get through that test. Years and years of studying. To be able to do that you have to be amazingly persistent.

That kind of dogged persistence helps when doing a startup.

The IIT-ian you need to watch out for is the one that keeps reminding you that he's from IIT. This kind of guy has usually not done anything else with his life.

Sridhar Vembu of Zoho went to IIT-Madras. He aint doing too bad!

So IIT helps but you certainly dont have to be an IIT-ian to succeed. Some day I hope to prove that :P ...

The only negative "opinion" that I have about IIT-ians (from the ones that I have met) is that they are very good at solving clearly defined problems but they have a hard time defining the problem itself. Ie they have a hard time figuring what the problem is in the first place. If you can give them the problem, clearly defined, they will solve it for you.

(Again this could just be my prejudice :) ...

<comment><USER7> You should look up Sridhar Vembu's posts on anti-credentialism. In fact he prefers hiring kids out of highschool and teaching them programming rather than hiring engineers (let alone engineers from the IIT).

I love the IITs. Of the 5 enlightened professors I met in India, 3 were at an IIT. I had some of my best times at events at IITs. But using those as a filter is stupid and as you point out, in the case of those who brag about having gone to an IIT, its invariably counterproductive in my experience.

<comment><USER6> Thats only because he cant afford IIT-ians.

Seriously if theres one credential which you ever do respect its IIT (pre-2000) graduated. At one point of time they were either very very bright or very very hardworking. Of course this might have changed in the years after graduating from IIT.

(Note: After 2000, they rebranded a lot of the state level colleges to "IIT" status.)

<comment><USER8> There's a huge difference between respecting credentials and filtering based on them. The former is not binary. I am simply arguing that an IIT degree is neither necessary nor sufficient to be a successful entrepreneur.

<comment><USER6> Absolutely.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I tried <http://news.iaccelerator.org/> and was disappointed.

<comment><USER10> If needed, I could help on bring up a site like news.ycombinator.com using Reddit opensource code. (like <http://www.123emprender.com>). Let me know!

</comment></comment><comment><USER11> Is anyone here applying? What are living expenses like in Bangalore? 5 lakh (500,000 Indian rupees or ~$10,000) is a lot of money, isn't it? It sounds like they have literally copied YC, forgetting the difference in living costs!

<comment><USER12> 5L is not a lot of money in Bangalore but for 5 to 10% equity, good feedback and support I would be very much interested. Sadly their application deadline was September 12. :(

Approx burn per person in Bangalore: Initial: Relocating+ house deposit+ registration+ CA + desktop + table + chair + net connection setup + office stationary: About 1L. Monthly: Rent + utilities + food + net + cheap vps: 12-15k, Phone + travel: 5k. Extra: 15k.

So, we are looking at about 60k monthly and 1.5-2L initial burn for 2 non- Bangaloreans to go and do a start up there.

<comment><USER13> I think that is painfully high. What is the "extra" 15K? What kind of phone do you use that costs you 5K, travel included? My very expensive phone plan costs me less than 1000/mo because 75% of my calls are made roaming. I spend over 5K a month traveling, yes, but my commute is 55km each way. If I worked in the city, say, 15km from where I lived (which is high), phone+travel would be under 1500mo.

Disclaimer: I live in Mumbai.

<comment><USER12> Err yes... I too am in Mumbai. My phone bill comes to 1000/mo and traveling to about 2k but you got to budget for the occasional flight to meet potential investors or for a family emergency back home. So I think a net 5k a month average is reasonable. One could certainly get rid of the 15k a month but that would probably amount to getting rid of insurance and the national savings scheme and stuff like that. That's probably a personal call though...

</comment></comment></comment></comment><comment><USER14> You want 10pc equity for 5 Lakhs and all you are going to do is setup a bank account, which cannot be directly operated by the founders??? Top it all of with a Wordpress blog for a website, and you're not really instilling much confidence.

Comparisons to YCombinator is highly unfair to YC.

</comment><comment><USER15> Not comparable to YC.

Having said that, I think the initiative is good, though its not mature yet. They are evolving over time, they have come from saying something like "we will put in a big place and give you a bed, table, pc and Internet connection so that you can work whenever you wake up" [treating as kids or just coders, 2008] to saying something like "we will give 5L and open an account for the company" [treated as entrepreneurs, 2009]. Still, a long way to go.

The 2008 archives with some photos <http://www.ciieindia.org/blog/category/iaccelerator/> . I do agree that they have a bad choice of photos on the blog, it does effect PR.

Moreover they will need someone like PG to make it like YC, that ain't happenin' that easy. :-)

Still, I wish them luck! We do need "worthy" YC clones in many countries.

</comment><comment><USER7> Freeman Murray seems like a cool guy. iAccelerator doesn't seem to be bureaucratic like the other incubator type things I have seen in India. The best part is iAccelerator is also in my hometown of Ahmedabad. Go iAccelerator, I am rooting for you.

<comment><USER16> Thanks for the plug. iAccelerator is moving to Bangalore for this year's winter season.

<comment><USER17> Its a bit late now. The last date was Sep 12 :(

</comment></comment></comment><comment><USER18> Is the guy on the right wiping his nose on his shirt or sniffing his arm pit? Not to be picky but that immediately shot out at me when the page came up.

In any event, the world needs more of these.

<comment><USER19> You should probably do them a favor and fire off an email if you think it's bad PR.

<comment><USER20> I liked it. Bunch of good ole desi boys hanging out. I am tired of the faux- posh bollywood look.

</comment></comment></comment><comment><USER21> It'll be very interesting to see the kidn of start-ups that come out of this venture, even if its not useful to compare it against what Y Combinator has produced.

</comment><comment><USER22> I would consider moving to India for a top-tier incubator program. It seems like a nice long-term bet to place.

<comment><USER23> An interesting question is what sort of bets are better placed in India.

Presumably, business models that require labour more or less linear to scale would be the right kind to base in India. That is the opposite of what startup generally gets thought of as otherwise. I see no reason why a services 'startup' is a bad idea. There is plenty of improvement to be made there.</comment></comment>


Google will pay for free wireless in S.F. parks - <AUTHOR> http://www.sfchronicle.com/politics/article/Google-to-pay-for-free-Wi-Fi-in-city-parks-4682622.php <comment><USER3> I know there is a lot of negativity around big companies like Google doing "free" things like this. There is even mis-trust over a sense of unease at the notion of "there is no such thing as a free lunch."

These feelings are totally valid, and they unfortunately can prevent the rest of the community from acquiring a valuable resource. Free wifi in San Francisco (One of the techiest cities in the world) feels like a "no-brainer." Free wifi represents the values I would like to see more of in the world, namely cooperation, altruism and generally an increase in non-monetary exchanges.

As for the rest of the negatives, the kind of data Google might collect is statistically useless - the sample bias is just too strong. And since I have worked at Google, I know that many many Googlers feel VERY STRONGLY about not doing creepy/immoral things like that. You may feel differently, and that's ok, and I suggest attempting to meet and talk to more Googlers.

Finally, there has been much criticism about Google "not giving back" to the community. First, as an employer, Google pays their employees well, and all the taxes associated with that (see articles about SF's budget to a record high due to tech employment, and the boost of social services as a result). Secondly, Google buses, while derided, create a calmer, more peaceful city population, and massively reduce the # of cars on the road. And lastly by pushing forward projects like this (and I'm sure that SF city is preventing things like capture portal ads or whatever) I feel this improves the city.

<comment><USER4> _many many Googlers feel VERY STRONGLY about not doing creepy /immoral things like that_

Many Googlers != All Googlers != Google

How would you explain this? [http://mashable.com/2012/02/17/google-caught- tracking-safari...](http://mashable.com/2012/02/17/google-caught-tracking- safari-users/)

<comment><USER5> Reading that article and the follow up[1], it looks like Google made use of a quirk in Safari to give third-party cookies that would otherwise be blocked. No other major browser blocked third party cookies in this way, so the workaround just made Safari act like, e.g., Firefox. The quirk was relatively well-known, used by other advertisers and "like" buttons and such, and the article says that "Facebook even encourages developers to exploit the same Safari quirk Google targeted here.".

Google then: * Acknowledged the problem and apologized * Stated that the workaround was meant to be used for their "+1" buttons and such, but not for advertisements * Stopped giving out these cookies for advertisements on Safari * Was sued by the FCC for $22 million * Is now being sued by consumers on nebulous grounds

If you accept the claim that it was an accident to begin with, I don't see that Google did anything wrong.

[1] [http://mashable.com/2013/01/25/google-safari-tracking- lawsui...](http://mashable.com/2013/01/25/google-safari-tracking-lawsuit/)

<comment><USER6> Google is a serial offender when it comes to privacy violations. Not really different from big banks who are caught committing fraud but always manage to settle with a big wad of cash, without having to admit any guilt whatsoever.

<comment><USER7> Comparing Google ethics to banks ethics. sorry you said wat?!

I worked for at a credit bank and I am still shocked at how immoral my coworkers were... I mean there was no limit : racist discrimination with the first name to calculate a risk on a consumer credit ? checked. Intentionally put people under with credit, anticipating the fact and be first to recollect ? checked.

At Google, from day one if you remember one thing they tell you : You never mess with private data ever.

</comment></comment></comment></comment></comment><comment><USER8> I'm disappointed to see they're already on to offering free wifi elsewhere when the network they installed in Mountain View still suffers terribly. I've never seen it operate better than barely usable/non-existent. Hopefully this ends up better.

</comment><comment><USER6> No such thing as a free lunch/wifi. I suspect Google want to capture data which they are currently missing out on due to people using 3G/4G networks. Also it doesn't hurt to improve their image in San Francisco.

Non-paywall article: [http://techcrunch.com/2013/07/24/free-wifi-san- francisco-goo...](http://techcrunch.com/2013/07/24/free-wifi-san-francisco- google/)

<comment><USER9> For Google, $600k is a rounding error. It's the cost of one engineer. Even if somehow spending $600k could net a 10x return, it would still be relatively pointless. Remember, Google routinely kills off working products that bring in far more revenue and collect far more data. Google would have collected far more data from Reader alone.

Sometimes a cigar is just a cigar and a charitable act is a charitable act. If you want to invent a hidden agenda for this, then the most reasonable one would be Good PR.

<comment><USER6> Have you forgotten Google's history? i.e. StreetView cars guzzling down Wifi access point data.

<comment><USER10> Is that wrong? It allows them to offer location based services without making people use GPS. This is a service that you can disable, by the way.

I don't see anything wrong with collecting SSIDs that are being broadcasted onto public roads.

But to get back on topic- Google is doing a good thing here and should be commended for it.

</comment></comment></comment></comment><comment><USER11> When is the last time anyone here has connected successfully to outdoor wifi? Here in NY, I try it all the time in the parks that offer it, without success.

(I haven't tried Google's wifi near their office in Chelsea, maybe it's better.)

Wifi seems consistently to be a poor choice for large, uncontrolled spaces. If anyone can make it work through sheer engineering will, it's Google, but the evidence thus far is that it is a misapplication of technology.

LTE et al do a much better job of it, because they are engineered for such environments. Why do we keep pinning our hopes on wifi?

<comment><USER12> _Why do we keep pinning our hopes on wifi?_

It is the only wireless technology that is standard on every device.

</comment></comment><comment><USER13> This is awesome. I'm glad to see Google doing things like this.

</comment><comment><USER14> Link to similar article that isn't behind a paywall?

<comment><USER15> [http://www.sfgate.com/news/article/Google-will-pay-for- free-...](http://www.sfgate.com/news/article/Google-will-pay-for-free- wireless-in-S-F-parks-4682622.php)

(Picked because it was also a SF area newspaper/news website, similar to Chronicle).

<comment><USER16> sfgate isn't just "a SF area newspaper/news website, similar to Chronicle", it is the same entity as the Chronicle. You'll notice that the page lined at sfchronicle.com has the sfgate logo in the upper left corner and the page linked at sfgate.come article has the Chronicle logo.

(You'll also notice that, URL differences and some presentation issues like font choice aside, the photo, caption, and the line of the article above the paywall fold on the Chronicle site are identical to the photo, caption, and first line of the article on the sfgate site.)

</comment></comment></comment><comment><USER17> I sort of wish that google wasn't a private company anymore. Their service is so pervasive and so fundamental to society that I think it should really be nationalized. Or, since it's international, taken over by the U.N.

Or: to attack the same problem from another angle: I'd be happier if we had either decentralized replacements for Google and Amazon and Ebay.

I'd prefer these platforms - and the vast wealth and power they create - to be either in the hands of the general public, or in the hands of democracy, than to be controlled by the whims of the nouveau riche.

<comment><USER18> The NSA would love it too.

</comment></comment><comment><USER19> Yet another SF space to be crowded with laptop-wielding techies? I welcome this news with the same gusto I'd welcome it if Exxon paid for free interstates in Yosemite.

</comment><comment><USER20> Hopefully they're preparing to produce a device that works in a park. Still waiting for the 21st century to catch up with the Psion 5 MX and PalmPilot...

</comment><comment><USER21> but then they will quickly pull the plug on it once someone actually starts using it.

they have just done that with the Netflix deal and Chromecast - <USER2> cancelled, barely 24h after it was made available.

it's bad enough to be dependent on gsearch and gmail, no need to also get dependent on wifi access, etc. for "free", with no guarantee it will work tomorrow.

</comment><comment><USER22> will it work as well as the free google wifi in mountain view?

</comment><comment><USER23> Until they won't.

</comment><comment><USER24> Google Wifi in Mountain View is horrible, I can't imagine this will be much better. 2.4GHz is always a shit-show in any major city. 5GHz is an option, but not nearly as many mobiles have it, and the available channels on each device vary wildly. Plus that would start creating noise for a certain WISP I have a fondness for and don't want to see them affected.

<comment><USER25> I've never actually successfully connected to it on Castro Street, although I only ever tried inside buildings. I thought it had been disabled or something, I didn't realize it was just like that normally. :(

<comment><USER26> You need a "WiFi modem" to use it effectively inside a building.

<comment><USER25> Do you mean an external antenna with higher gain, and/or an outdoor antenna and internal repeater?</comment></comment></comment></comment>


Ask YC: Project management - <AUTHOR> I'd like to ask everyone, since I'm working on a project management app:
 1) How does your perfect project management app look like?
and as a bonus
2) What are your grips with basecamp?
Thanks <comment><USER2> Perfect project management app = pen and sheet of paper or whiteboard with stickers.

Anything computer-based is too boring and not very helpful in real life. Project management is a process, not an app. It should be done by people, not computers, and it requires energy and discipline, not algorithms or bar charts.

Face the reality: [http://talkback.zdnet.com/5208-9593-0.html?forumID=1&thr...](http://talkback.zdnet.com/5208-9593-0.html?forumID=1&threadID=9337&messageID=186421&start=0)

This may sound crazy but my suggestion for a project management app would be to include some funny or gameplay elements. How about a lottery inside project management app? ("Complete a milestone on time and get a chance to win a case of beer!"). Something to entertain and encourage poor souls who would be forced to use the app.

<comment><USER3> I'm pretty happy using a bug database for this. We're using FogBugz which is capable of remembering tasks, who they are assigned to and when we expect them to be finished.

</comment></comment><comment><USER4> Pen and paper + Tinderbox (<http://eastgate.com/Tinderbox/>).

I use Basecamp more as a structured way to communicate priorities and timeline. It's helpful as a central place around which people across time zones can orient themselves. Look at it as project-oriented blogging. It's not very helpful (or interesting) unless there are multiple people involved in the project.

For a game-oriented take on project management, check out David Seah's The Printable CEO Series (<http://davidseah.com/blog/the-printable-ceo-series/>).

</comment><comment><USER5> Devshop (<http://devshop.com>) is helping us keep our project on task and understand where our distractions are coming from. If someone wants to unfreeze requirements they know it's their fault we're not going to meet the schedule.

Basecamp is basic. 37s develops simple apps for a mass market of simple needs. If you exceed the need for simple you have to find something else. Since your here you're probably not that simple. ;-)

</comment><comment><USER6> moleskine: en.wikipedia.org/wiki/Moleskine

</comment><comment><USER7> I've written a long response, <http://cowoh.org/~craig/perfect_project_management_app.txt>.

</comment><comment><USER8> I created this at the company I worked at a while ago:

<http://stufftodo.dedasys.com/>

It's basically a fancy todo list with sharing between people. I decided to open source it after seeing that there wasn't a lot of interest, and moving on from that company (I developed it on my own, so I own the rights to it). It's probably not right for everyone, but I use it and like it as it's very simple and direct.

</comment><comment><USER9> If you're on a Mac, try OmniPlan: <http://www.omnigroup.com/applications/omniplan/>

Or Merlin: <http://www.merlin2.net/>

Both are superb & Merlin's a bit better.

We use OmniPlan (got a cheap license).

As for webapps.. haven't seen any good project management apps.

</comment><comment><USER10> basecamp is already pretty intuitive and pretty good for average consumer usage. competing with them is going to require a lot of catch-up.

</comment><comment><USER11> ive never seen my perfect project management app, but I use basecamp for the to-do lists. I think that my biggest problem is forgetting to use basecamp, because it is not engaging. Maybe you could make something that texts/emails you or calls you on a daily basis and lets you know the top 5 projetcs you have something due on? Or maybe make it more like a whiteboard in style.

</comment><comment><AUTHOR> Thanks everyone</comment>


Groupon: Doomed by Too Much of a Good Thing - <AUTHOR> http://blogs.hbr.org/cs/2011/08/groupon_doomed_by_too_much_of.html?cm_sp=most_widget-_-default-_-Groupon%20Doomed%20by%20Too%20Much%20of%20a%20Good%20Thing

<comment><USER2> This is a poorly reasoned article. I will only respond to the two bolded statements but the bulk of the article is questionable:

 _businesses should become profitable before they become big_

This is contradicted by virtually all of the big, successful internet companies. I would challenge anyone to name even one internet company that was profitable before it was big (such as Amazon, Google, Ebay, Facebook, Twitter, Yahoo, etc).

 _Groupon's fundamental problem is that it has not yet discovered a viable business model_

Groupon has discovered the most outrageously viable business model of pretty much any company formed in the past 10 years. It takes 25% of the business it facilitates. Totally unheard of in such mature markets as small business services and retail.</comment>


What firefighting taught me for my job as an engineering manager - <AUTHOR> https://wolfgang.gassler.org/firefighter-experience-impact-on-leadership-style/#not-only-for-managers <comment><AUTHOR> A Question that came up while reading: What happens when I start with collecting all the ideas and too many ideas are coming up? Do I need to put a particular focus on managing these ideas? How to treat the team fairly when everyone comes with an idea?

<comment><USER2> Due to my experience you are in a very lucky position if there are too many good ideas popping up in your team. Of course, you also have to manage them and do some prioritization, in the best case together we the team to get the buy in and to find the most promising projects you want to work on. Maybe you also have to align them with company goals but so far, I haven't encountered a situation when ideas were impeding the business.

Have you already encountered such a situation?</comment></comment>


An LLVM backend for GHC: implementation and benchmarks: PDF  - <AUTHOR> http://www.cse.unsw.edu.au/~pls/thesis/davidt-thesis.pdf

<comment><USER2> That paper is for a BS thesis. Some MS students in my old school would struggle to even understand it. There were always pockets of us that did interesting things on the side, but this would go far and beyond above the expectations for the average student.

<comment><USER3> Interesting, because I initially thought it was an MS thesis and was a little less than impressed. I will say that that was a lot of work for a BS thesis. Porting the GHC is not a simple task!

</comment></comment><comment><USER4> Registered Nofib:

"The native code generator offers the best performance of the three but its a fairly close race, with the LLVM back-end less then 4% percent behind and the C code generator less then 7%. While this is slightly disappointing that LLVM doesn't provide a performance advantage over the NCG back-end, it is very promising given its early stage of development that it is able to produce code of the same level of quality as the NCG and C back-end. Both of these back- ends benefit from years of work and optimisation, while the new LLVM back-end has only been in development for around 3 months and only just recently reached a usable state."

Data Parallel Haskell:

"[...] the LLVM back-end shows a very impressive performance gain for all the tests, bringing an average reduction of 25% in the runtime of the tests. The reasons for this are two fold. Firstly the LLVM optimiser and register allocator simply outperform the NCG. Secondly and of far greater impact is the use of the custom calling convention used to implement registered mode, as outlined in section 3.3.4."

Also interesting:

"As can be seen from the table, the LLVM optimiser produces no noticeable effect on the runtime of the program, indeed for the nofib benchmark suite it actually slowed it down."

</comment><comment><USER5> The article uses an interesting way to note speed differences, using relative (-20%) changes rather than absolute (0.8) differences. I've not seen that before and I'm not sure I like it.

For example, something -99% is 100x as slow as the original, while something +100% is only twice as fast. I think especially the average is wrong. With the above example, the average would be 0%, or 'no change', which IMHO isn't fair.

<comment><USER6> He uses the geometric mean (the Nth root of the product of N numbers), which is mathematically correct in this case.</comment></comment>


Comparison of svn software. SVN vs GIT vs MECURIAL vs CVS - <AUTHOR> http://www.timedoctor.com/biz3.0/git-mecurial-and-cvs-comparison-of-svn-software/ There are a lot of opinions regarding which version control framework is the best, and can force programmers and project management teams into fierce debate.... a guide for PMs gettting started with version control. <comment><USER2> Does not adequately cover hg.</comment>


At Dulles Airport, Trump's Border Protection officers are accountable to no one - <AUTHOR> http://www.slate.com/articles/news_and_politics/jurisprudence/2017/01/at_dulles_airport_trump_s_customs_and_border_protection_officers_are_accountable.html <comment><USER2> Honestly, I'm not sure why there aren't calls to boycott the US airline system until this sort of thing is put to a stop.

I'm horrified by Trump, but see this as just one step in a direction things have been headed for years.

I doubt anything will change it until people speak with their wallets because that seems to be the only thing that gets the attention of those in power anymore.</comment>