hacker news with inline top comments    .. more ..    31 Mar 2013 News
home   ask   best   5 years ago   
Problems with the TSA saizai.com
159 points by grief  3 hours ago   102 comments top 15
DannyBee 1 hour ago 5 replies      
I was with him until I watched the actual video, where he basically comes off like a guy deliberately looking for a fight who gets one. He tries to pull the "i don't have to explain why it's a medically necessary liquid, you fuckers should screen it".

All they did was ask why it was medically necessary, which is reasonable, in order to prevent people from abusing the policy.

His citation that the special needs memo says things like "a doctors note" are recommended, not required, doesn't say anything to the contrary. Nowhere in the memo does it say "you will not be asked to explain why it's medically necessary", and in fact, the reason they probably recommend doctors notes/etc, is to avoid having to repeat a verbal explanation 100x over.

Realistically, if he challenges this in court, he's likely to end up making bad law.

People don't like to hear that non-sympathetic plaintiffs and bad actors often cause bad law to be made, but it's reality. Judges aren't automatons, and the law isn't that rigid in most cases (which is yet another thing engineers/etc don't like to hear).

He seems to act like fourth amendment law is not open to interpretation, or that fourth amendment law has not changed over time (in fact, to his detriment, since there are a lot more exceptions related to border searches and searches used to ensure security than their used to be).
By doing this he misses the one mildly likely result: He will be the cause of a new exception to the 4th amendment.

javert 2 hours ago 4 replies      
My mother can't travel by plane, because she has aphasia (can't speak) and a leg brace, due to her stroke.

If I go through the airport with her, there is no guarantee the agents will let me stay with her and explain the situation. She can't remove the leg brace on her own for them to make sure it's not a weapon, and TSA agents can't do it properly.

So, basically, taking her to the airport is a recipe for having her verbally abused (treated like a mentally handicapped or non-cooperative person), and then physically abused (TSA agents going under her clothes to determine that she's just wearing a leg brace).

Maybe there's some special procedure for dealing with this, but it's easier to just not travel than risk it.

The TSA is a direct, overt violation of the 4th amendment (search and seizure). Thus, the US federal government is not legitimate under the US Constitution. (No, I am not advocating rebellion, violent or otherwise.)

If we simply let the airlines handle their own security, which is not a violation of the 4th amendment, none of this would be an issue. Moreover, it would make air travel and security screening a voluntary relationship between consenting parties (travellers and airlines), instead of a coercive relationship between two consenting parties and government agents.

ShabbyDoo 1 hour ago 1 reply      
I have a prosthetic leg and travel weekly. Apparently, the TSA's official policy is (or at least was) that, if asked my me if I am allowed to remove my leg and place it on the x-ray conveyor belt, they are to tell me doing so is forbidden. However, if I simply do so, they are not to stop me. I presume the theory to be that travelers might somehow mis-understand and create a PR disaster by claiming that an amputee was forced to remove his leg.

If I leave my leg on and walk through the metal detector, I must wait around until a male agent is available to swab me, check for explosive residue, and determine that I am not carrying a weapon. It's much more efficient to take the leg off and waddle on my knees through the metal detector.

Most of the TSA agents know me at this point, but occasionally a new person will be caught off guard. Usually, they are speechless in fear of breaking two seemingly conflicting rules: (1) don't offend, humiliate, etc. and (2) don't allow passengers to do stuff they aren't supposed to do. I see some panicked motioning to a supervisor and hear, "Oh, he comes through here all the time! ...Yes, it's allowed." Occasionally, a new agent will tell me, "You can't do that, sir!" When I reply that I've done so well over a hundred times in the past couple years, they defer to a supervisor who informs them of my "rights." [Quotes to convey the absurdity of the situation, of course.]

It is because of my experiences in hearing TSA agents make-up a rule out of thin air that I do not doubt the author of the blog posting. Interestingly, I suspect that my notoriety actually has lead to less scrutiny over time -- the frequency at which my carry-ons are hand inspected has decreased over time.

w1ntermute 2 hours ago 9 replies      
We complain about the TSA on here all the time, but it's important to remember that the average American sees absolutely nothing wrong with what the TSA does. They genuinely and wholeheartedly believe that the TSA is helping to make the skies safer for Americans, and that it is doing so without violating any civil liberties. The idea that "if you have nothing to hide, why do you care if the authorities search you?" is a widely held belief.

If we are to dismantle the TSA from its core (rather than just poke holes in it every now and then for specific grievances), public education is the first step, not litigation.

rdtsc 2 hours ago 2 replies      
I have a speech impediment. Sometimes, especially when I am tired or upset I can't talk to save my life. I have in the past written note cards to hand out and I carry a notepad and a pen with me. I had not idea they would refuse someone to use them. Well, I guess I should say I am not surprised. To be politically incorrect (insensitive) a good number of TSA employees don't seem to be very bright.

I hope your case is successful. Over the years TSA has caused nothing but pain, waste, and abuse without catching a single terrorist red-handed with a bomb.

js2 2 hours ago 3 replies      
On March 1, 2013, San Francisco TSA

FYI, "Covenant Aviation Security, a private company under contract with the Transportation Security Administration (TSA), provides passenger and baggage screening at SFO." Per http://www.flysfo.com/web/page/atsfo/saf-sec/

xutopia 1 hour ago 0 replies      
To those thinking that he's just causing a fuss for no reason. The same could be said of Rosa Parks. We need people like him to move our rights forward.
peteforde 1 hour ago 0 replies      
What I wouldn't do for some of the folks that have accumulated wealth via tech exits to get together and create a pool of $20-50M to start an organization that will both lobby to dismantle the TSA and provide education and defence for those who are bullied in the meantime.

Look at the good that the EFF and Creative Commons have done. It's time for people to reclaim their freedom of movement.

FWIW, I'm Canadian and I would sign up for a regular donation if such an organization existed. That's how frustrated I am by the global chill that the TSA/DHS has created, all without a single documented terrorist caught.

pandaman 1 hour ago 0 replies      
The problem is not with the TSA per se but with the representative democracy. Every elected official that has a choice to repel some stupid rule or law is present with the following game-theoretic matrix:

repel then some incident happens that can be somehow associated with this - it's a catastrophe even if the association is completely superficial, the media will manage to spin it to cause enough damage.

repel then nothing happens - there is a minor positive outcome but incumbents already have an overwhelming advantage.

don't repel - there is a minor negative outcome but incumbents already have an overwhelming advantage.

Until incumbents start routinely losing elections repelling any "safety" regulation is the worst move you could make. There is very minor upside and a huge downside.
So we will have to keep our kindles showing the splash screen while the plane is waiting at the gate and throw out toothpaste at the TSA checkpoints. Any possible relief will come either from the money pressure (e.g. confiscation of lighters apparently had been interfering with the airports operation so much that it had to be repelled) or political stunts (e.g. Obama showing the terrors of sequester by allowing pen knives and hokey sticks on-board).

coudron 1 hour ago 1 reply      
Wow. Was thinking Sai had a logical complaint until I watched the video of him interacting with the TSA (or whatever company does security in SFO).

It's clear by the video, he was trying to troll TSA rather than get through security with his medical liquids.

He can't expect to not justify and explain why his liquids are considered medical. Otherwise, every person who paid $4.50 for a soda before security would just pull the "It's medical! You can't ask questions card"

cj 1 hour ago 3 replies      
I really don't like most of the TSA's procedures either, but watching the hidden camera video, it seems like the OP went in to the situation expecting to have an issue with the TSA. If you approach the TSA adversarially, it's logical that they'd respond unpleasantly.

OP: In a patronizing tone: "You're required to accept it, and to screen it. You have the means available to screen it, namely xray and explosive trace detection"

TSA: "Sir, where are you going?"

OP: "That's none of your business"

xenophanes 2 hours ago 6 replies      
Lots of good points. But he does state his disability in public on the web, no problem, while also complaining that he doesn't want to be outed at airports. I'm unclear on why being outed at airports is so bad if telling the whole world is ok. If he addressed this apparent contradiction I'd sympathize even more.
nathanlil13 2 hours ago 0 replies      
This is disturbing. I'm in awe at the TSAs complete failure here.
sybhn 2 hours ago 1 reply      
Would be interesting to see if a parallel private system could work. The state could maintain standard to which the private network should adhere, i.e. min basic security, etc.
In other words break down the monopoly of travel from the state, you know, like in a free society?
I generalize on air travel this because all other forms of travel aren't really adequate in a country as big as ours.
holograham 2 hours ago 1 reply      
While I agree with your arguments and grievances I disagree with your methods. Too adversarial. Just an opinion.
Callbacks are imperative, promises are functional jcoglan.com
148 points by timcraft  5 hours ago   70 comments top 15
SeanDav 0 minutes ago 0 replies      
I don't agree that there is any fundamental difference in functionality between callbacks and promises.

Promises don't somehow magically make asynchronous code easy to write while leaving callbacks out in the cold. They have very similar strengths and weaknesses and I didn't find any of the OP's arguments compelling.

mbostock 3 hours ago 3 replies      
Not to focus too myopically on the given example, but I can't help but wonder why it's a requirement that the first file be handled specially? A less contrived example would make the argument more convincing.

If I wanted to compute the size of one file relative to a set, I'd probably do something like this:

.defer(fs.stat, "file1.txt")
.defer(fs.stat, "file2.txt")
.defer(fs.stat, "file3.txt")
.awaitAll(function(error, stats) {
if (error) throw error;
console.log(stats[0].size / stats.reduce(function(p, v) { return p + v.size; }, 0));

Or, if you prefer a list:

  var q = queue();
files.forEach(function(f) { q.defer(fs.stat, f); });
q.awaitAll(…); // as before

This uses my (shameless plug) queue-async module, 419 bytes minified and gzipped: https://github.com/mbostock/queue

A related question is whether you actually want to parallelize access to the file system. Stat'ing might be okay, but reading files in parallel would presumably be slower since you'd be jumping around on disk. (Although, with SSDs, YMMV.) A nice aspect of queue-async is that you can specify the parallelism in the queue constructor, so if you only want one task at a time, it's as simple as queue(1) rather than queue(). This is not a data dependency, but an optimization based on the characteristics of the underlying system.

Anyway, I actually like promises in theory. I just feel like they might be a bit heavy-weight and a lot of API surface area to solve this particular problem. (For that matter, I created queue-async because I wanted something even more minimal than Caolan's async, and to avoid code transpilation as with Tame.) Callbacks are surely the minimalist solution for serialized asynchronous tasks, and for managing parallelization, I like being able to exercise my preference.

tomdale 5 hours ago 0 replies      
James does a good job of articulating why promises are such a useful abstraction, especially in JavaScript land. I've been working on a project recently that relies heavily on coordinating many asynchronously-populated values, and I don't even want to think about what the code would look like if we were wrangling callbacks manually.

We actually extracted our promises implementation from the work we've been doing, and released it as RSVP.js[1]. While other JavaScript promises libraries are great, we specifically designed RSVP.js to be a lightweight primitive that can be embedded and used by other libraries. Effectively, it implements only what's needed to pass the Promises/A+ spec[2]. For a comparison of RSVP.js with other promises-based JavaScript asynchrony libraries, see this previous discussion on Hacker News[3].

1: https://github.com/tildeio/rsvp.js

2: https://github.com/promises-aplus/promises-spec

3: https://news.ycombinator.com/item?id=4661620

crazygringo 4 hours ago 5 replies      
This is an interesting perspective. But to me, even having spent a year on a large node.js project, I just don't see how promises would have simplified things at all.

If you have some crazy graph of dependencies, I can see how breaking out promises could help simplify things. But I don't feel like that's a super-common scenario.

The author says:

> * [Promises] are easier to think about precisely because we've delegated part of our thought process to the machine. When using the async module, our thought process is:*

> A. The tasks in this program depend on each other like so,

> B. Therefore the operations must be ordered like so,

> C. Therefore let's write code to express B.

> Using graphs of dependent promises lets you skip step B altogether.

But in most cases, I don't want to skip B. As a programmer, I generally find myself preferring to know what order things are happening in. At most, I'll parallelize a few of database calls or RPC's, but it's never that complex. (And normal async-helper libraries work just fine.)

I swear I want to wrap my head around how this promises stuff could be useful in everyday, "normal" webserver programming, but it just always feels like over-abstraction to me, obfuscating what the code is actually doing, hindering more than helping. I want to know, specifically, if one query is running before another, or after another, or in parallel -- web programming is almost entirely about side effects, at least in my experience, so these things often matter an awful lot.

I'm still waiting for a real-world example of where promises help with the kind of everyday webserver (or client) programming which the vast majority of programmers actually do.

> Getting the result out of a callback- or event-based function basically means “being in the right place at the right time”. If you bind your event listener after the result event has been fired, or you don't have code in the right place in a callback, then tough luck, you missed the result. This sort of thing plagues people writing HTTP servers in Node. If you don't get your control flow right, your program breaks.

I have literally never had this problem. I don't think it really plagues people writing HTTP servers. I mean, you really don't know what you're doing if you try to bind your event listener after a callback has fired. Remember, callbacks only ever fire AFTER your current imperative code has finished executing, and you've returned control to node.js.

just2n 17 minutes ago 0 replies      
Promises are just tools for managing a list of callbacks with less boilerplate. I wouldn't call one imperative and the other functional. Both are functional. You might dislike callback patterns, but through one of the beautiful parts of JS, you can trivially wrap any callback-oriented API you want and have it become a promise based one. I've done this before when I had a very complex dependency graph at the start of a program and a few API calls were callback related. It looks something like this:

    SomeClass.prototype.someActionPromise = function(){
var deferred = makeADeferred();
SomeClass.prototype.someAction.call(this, function(err){
err ? deferred.reject() : deferred.resolve();
return deferred.promise();

Now you have a promise-based version that makes your code a little cleaner and easier to read.

steveklabnik 4 hours ago 2 replies      

  > If foo takes many arguments we add more arrows, i.e. foo :: a -> b -> c
> means that foo takes two arguments of types a and b and returns something of
> type c.

Nitpick alert: since everything is curried in Haskell, it's actually more like `foo takes an argument a and returns a function that takes one b and returns one c`.

Other than that teeny thing, this article is awesome, and I fully agree. Promises are an excellent thing, and while I'm just getting going with large amounts of JavaScript, they seem far superior to me.

ricardobeat 19 minutes ago 0 replies      
Ryan Dahl in February 2010, when Promises were removed from core:

    Because many people (myself included) only want a low-level interface
to file system operations that does not necessitate creating an
object, while many other people want something like promises but
different in one way or another. So instead of promises we'll use last
argument callbacks and consign the task of building better abstraction
layers to user libraries.

Those libraries do exist. There still isn't a canonical Promises specification. Node trying to force promises onto the ecosystem early on would've been like applying brakes and slow down adoption enormously.

spullara 26 minutes ago 0 replies      
It is hard for me to fathom the negative feelings towards Promises. They are quite clearly a great way to perform async programming in a civilized way (see Twitter's Future/Promise in Finagle on github). JDK 8 will even have the equivalent in CompletableFuture. The only thing better is to combine Promises with coroutines for a more linear programming style like in Flow: http://www.foundationdb.com/white-papers/flow/
graue 2 hours ago 2 replies      
This code doesn't look right to me:

    // list :: [Promise a] -> Promise [a]
var list = function(promises) {
var listPromise = new Promise();
for (var k in listPromise) promises[k] = listPromise[k];

Perhaps the assignment is supposed to be the other way around?

      for (var k in promises) listPromise[k] = promises[k];

ww520 4 hours ago 4 replies      
I feel this is twisting the meaning of functional programming. Excel is not functional. It is declarative. You declare the relationships between the cells and Excel uses those to propagate changes. Just like a makefile is not functional but declarative. The dependency of the relationships are enforced to produce action. SQL is another example of declarative language and it is nowhere near as functional.
richo 53 minutes ago 0 replies      
So, calling magic subroutines is more functional than passing about first class functions?
jQueryIsAwesome 4 hours ago 3 replies      
All the code and such a big abstraction for the first example when it could have done like this:

    var result = [];
paths.forEach(function (i, file){
fs.stat(file, function (err, data){
if (i === 0) {
// Use stat size
if (result.length === paths.length) {
// Use the stats

Fairly understandable, more efficient and without introducing logic patterns foreign to many. It also meet his requirements (It is parallel and we only hit every file once)

niggler 4 hours ago 5 replies      
" the decision, made quite early in its life, to prefer callback-based APIs to promise-based ones."

Rewind to the point when nodejs was being designed. In that world, in the context of javascript, callbacks were the only real pattern that existed. XHR? callback. Doing something in the future? callback.

If you imagine node trying to leverage the javascript ecosystem, callbacks were a no-brainer.

arianvanp 3 hours ago 0 replies      
This kind of programming certainly is promising </pun>

It's one of the reasons why i started learning haskell.

TheZenPsycho 3 hours ago 0 replies      
This is a ridiculous attitude. Do you laugh at the concept of "complex" and "imaginary" numbers because a group of these so called "mathematicians" have apparently arbitrarily decided to call some numbers imaginary? RIDICULOUS! LAUGHABLE!
Building Photoshop 1.0 macgui.com
17 points by nglevin  58 minutes ago   discuss
Developer Freedom At Stake As Oracle Clings To Java API Copyrights techcrunch.com
30 points by mitmads  2 hours ago   11 comments top 4
cft 2 hours ago 1 reply      
Choosing Java and Dalvic was probably a mistake for Android.
smrtinsert 58 minutes ago 0 replies      
Why didn't Google just buy Java, way to drop the ball.
ceautery 1 hour ago 0 replies      
What a bunch of jackasses. Sometimes I think the only difference between Oracle and SCO is scale.
fruit 1 hour ago 0 replies      
oh god how could this happen

im so surprised

BioBlender: Blender for Biologists bioblender.eu
65 points by rocco  5 hours ago   14 comments top 5
clarle 4 hours ago 1 reply      
Sounds really cool!

We usually just use PyMOL [1] in our lab, but it looks like BioBlender takes PyMOL, Blender, and a few other structural biology and builds on top of both of them.

It looks like the biggest contribution from BioBlender is that it takes properties such as electrostatic potential and combines it with Blender's physics engine to better simulate movement when creating molecular animations. Most of our work usually involves just examining the 3D structure of a protein, so I don't usually create animations, but this is definitely a really useful tool to do so if any lab might ever need to do something like that.

We really do need more people dedicated to just purely better visualization software in the biological community. A lot of interesting hypotheses often start from just rotating around 3D structures, and making it easier to do so can only help.

[1]: http://pymol.org/

goldfeld 4 hours ago 2 replies      
I have been wanting to get into bioinformatics, but there's something I miss coming from webdev: the ability to create something over a few weeks. I don't mean I want to discover something new, and I'm not sure I'd want to get into research at all. I wanted to be able to experiment and see stuff show up on a screen related to the structures and formulas I'm learning. Some fun and practical, even if not very useful (games?), project I can tackle while learning bioinformatics. Is there such a thing?
anigbrowl 5 hours ago 0 replies      

I have always admired Blender in general, and interfacing it it to load molecular structures like this is genius. I hope it's the first of many such explorations. Although I'm not a biologist this is cool enough that I would install blender again just to have fun with making neat images.

epenn 5 hours ago 0 replies      
This looks interesting but doesn't appear to have been updated in a year and a half unfortunately.
car 4 hours ago 3 replies      
Does anyone know how to 3D-print protein structures?
Effective Django effectivedjango.com
162 points by equilibrium  10 hours ago   26 comments top 11
po 59 minutes ago 0 replies      
I'd recommend a section on 'Function Based Views' in there as well. I've personally found the CBV-based approach is sometimes good but in most cases I still prefer the FBV approach. You see it often enough that I think it is worth going over in detail.
kanja 2 hours ago 0 replies      
This is nice, but I'd recommend two scoops of django over this.
phildini 9 hours ago 0 replies      
If you want to see the video of the guy who wrote Effective Django giving it as a tutorial, here you go: http://pyvideo.org/video/1717/effective-django-0
joelthelion 6 hours ago 3 replies      
Looks fantastic! Is there a way to get the whole thing in ebook format?
seanlinehan 8 hours ago 2 replies      
This is awesome. I haven't touched Django even though I develop in Python on a daily basis... been meaning to but hadn't found a reason to. I've bookmarked this for when I finally get the itch.

Btw, there are some weird formatting issues in the tutorial (underscores after links?).

film42 7 hours ago 0 replies      
This is wonderful! I feel like the django documentation, combined with 10,000 stack overflow questions is the wrong way to get started, and yet, that's how it was for me. I will use this all the time for tips and pointers. Thanks!!
jamie 8 hours ago 0 replies      
The folks behind this project know Django really well - I've recommended this to people a number of times.
eterm 8 hours ago 3 replies      
Fantastic so far, easy to follow.

I've come to a snag at "Writing a Test" (http://effectivedjango.com/tutorial/models.html#writing-a-te... ) though, it's not clear which file I should be adding the test class to.

From following the tutorial I would think models.py but from browsing the file structure I would expect test.py

buf 8 hours ago 0 replies      
I worked with Nathan (guy behind Effective Django) at Eventbrite for a few years and highly recommend him as being a very informed python and django expert.
pmouzo 8 hours ago 5 replies      
Not a single mention of AJAX.
jbaiter 7 hours ago 0 replies      
This is awesome, I've been starting to get into Django over the last few weekends, and this is a godsend!
Show HN: Simple HTML pitch decks for your startup getapitchdeck.com
6 points by marcomassaro  46 minutes ago   discuss
M-Expressions in Haskell groups.google.com
115 points by galabad  9 hours ago   12 comments top 4
carterschonwald 8 hours ago 1 reply      
The post mentions motivation being symbolic differentiation.

Let me instead advocate auto differentiaton. It enables writing mathematical expressions as normal programs, is less error prone for the programmer, is well defined at every valid point in the derivative, and is better at using sharing when computing higher order derivatives. An excellent library for this is, called ad, is available in Haskell.

edit: link to package is http://hackage.haskell.org/package/ad/

edit2: I should also add that MOST auto differentiation libraries also have a problem of not being able to distinguish the differential/ epsilon used in two independent derivative calculations, and this can lead to subtle / large numerical errors.

The AD library uses some haskell type system cleverness to prevent users from making that mistake!

a nice exposition of this problem can be found in this excellent blog post http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Differenti...

A1kmm 6 hours ago 0 replies      
The M-Expression in the post is rather limited in what it can do; if anyone is looking for a system for use in practical mathematical modelling, during my PhD research I created a system for expressing ODE / DAE models in Haskell, and a solver which uses symbolic/numeric techniques (including symbolic differentiation) to solve them.

My RealExpression definition (I also define BoolExpression) is here https://github.com/A1kmm/modml-core/blob/master/ModML/Core/B...

Code to symbolically differentiate a RealExpression is here https://github.com/A1kmm/modml-solver/blob/master/ModML/Solv...

Documented here: Chapters 9 & 10 of https://researchspace.auckland.ac.nz/bitstream/handle/2292/8... [3.3 MB PDF]

tome 7 hours ago 2 replies      
Interesting that you can achieve such a close correspondence.

I know Lisp loves lists, but it's a bit strange to insist on them in Haskell when you could have replaced [ and ] with ( and ) and achieved a whole lot of type safety whilst preserving the semantics.

niggler 7 hours ago 2 replies      
"I submitted the post to Hacker news, if we mod it up to at least 20 points it may get on the front page:


Is this what people really do? The post itself is interesting, but does it really take a mailing list request to get interesting things to show up on the front page?

Saying Goodbye to a Sister brianbailey.me
78 points by felipebueno  5 hours ago   23 comments top 13
sgpl 2 hours ago 1 reply      
Losing someone close is really hard. I am not good at eulogies, but I lost my grandfather to cancer earlier this year and for some reason I wasn't able to function at all for the coming few weeks. I grew up in a joint family and he was a constant positive presence in my life growing up; but after moving away for school/college, I hadn't had much real-life interaction with him except for phone calls/holidays. As a recent college graduate, who was a few weeks into a new entry level job, I had to take a break because this was the single most depressing period in my life. I had never experienced death of a close relative or friend before this, and for some reason I never thought death could be that painful. I had imagining it akin to a really bad breakup, but it was much uglier and painful.

I think the single worst thing is coming to the realization that they are just gone. I can never again hug him, hear his him laughing, talk to him about the n number of awesome shared experiences, or just enjoy another moment with him.

I still haven't fully dealt with this as I am not sure there is a protocol for dealing with such events except picking yourself up and keeping your mind engaged other stuff till you don't feel that much grief. I guess another approach is to push grief into the background and celebrate the life lived. Good luck to the OP dealing with this loss.

codezero 13 minutes ago 0 replies      
I was the youngest in my family and my older sister (2 years older) died suddenly when I was 16. Thanks for sharing this.

I still imagine that I'll bump into her one day, as if she never died and she had just gone off to college and gone on an adventure. It sucks, but talking about it, at least for me, does help.

goldfeld 3 hours ago 0 replies      
I've always wished I had had a sister. Most times I picture her younger, but Brian makes me reconsider. I wish I had had a sister like Brian's, and my best wishes go to him and family, this was a powerful piece and like a good movie it made me feel a part of it. Laura is exactly the name I have always wanted for my first daughter. I wonder if she'll cry on my shoulder when boys break her heart.

Relevant song[1], from the Flaming Lips' The Soft Bulletin album cited exactly here on HN on a previous thread for an article regarding the loss of a father. Coincidentally it was at the time my dad had a motorcycle accident of which he's still recovering. The feeling of being close to loss was real, and this song, and album, is now loaded with feeling for me.

[1] http://www.youtube.com/watch?v=mzU6vinZwhc

TWAndrews 2 hours ago 1 reply      
I lost my brother almost 3 years ago now. I still think about him every day.
herdrick 2 hours ago 0 replies      
Quick tips:

You should choose when and where to talk about her and her death. See, people who know you will want to know how you are doing and how it all happened, or why you are not yourself lately. Or you hear from someone who doesn't know about your sister who says, "What's up with you these days". You'll feel like you have to tell them, including how you are doing with it. But you don't have to tell them. "I don't want to talk about that" is a perfectly good response. Pick and choose when to talk about it or you are allowing anyone you interact with the power to send you into a tailspin.

People will want to show empathy with you by telling you about the time they went through what they think was something similar. And yes, when the loss is similar, it can be a source of much increased mutual understanding and friendship with him/her. But usually it's more like, 'My grandmother died at age 87 so I know what you are feeling'. As you know, they do not (usually). They are just inexperienced in life. They mean well though. Again, I'd recommend "I don't want to talk about it". Feel free to interrupt early in their story.

marvwhere 2 hours ago 3 replies      
first of all: i am so so so so sorry for you!!!

i have a older sister, and i guess i love her more then my parents, it would be the worth if she was gone. we are separated by five years, and we both in totally different things, but there is this connection between brothers and sisters which are stronger then everything else.

but there is a bad part about my comment, and that was more the intention i make this comment, and i already know i will get a lot of down votes, but: what the fuck has this do to on "HACKER NEWS"? it's not against you personally, but in the last weeks a lot of personal storys filling this page more and more, and i do not like this trend. i'm very ver sorry for this part of my comment! but it is bothering me since weeks.

but in the end i want to say again: i'm sorry for you i have a kind of an idea what it feels like, after my grandma past away 3 years ago.

harrygold 2 hours ago 0 replies      
I'm really sorry about your sister. Reminds me how "right now" is so important. I'm going to call my sister to say hello.
psycr 1 hour ago 0 replies      
You might find the Meditations of Marcus Aurelius to be helpful in dealing with the grief and pain of dying, or at least confronting it. They Hays translation is worth reading: http://www.amazon.com/Meditations-Translation-Modern-Library...

Good luck.

adefa 2 hours ago 1 reply      
I also lost a sister very recently. If you ever want to talk, my email is: trevor (at) strieber (dot) org.
89vision 2 hours ago 0 replies      
Sorry for your loss. That was a beautiful tribute. I think I'll go spend some time with my brothers.
lgleason 2 hours ago 0 replies      
I lost my sister a little over a year ago from cancer and can relate.
KANYEWEST 1 hour ago 1 reply      
RIP Laura, God bless her soul. May I ask how she passed?
MARISA: Matching Algorithm with Recursively Implemented StorAge googlecode.com
17 points by nkurz  3 hours ago   1 comment top
joshu 1 hour ago 0 replies      
This seems useful, though I need something that does fast substring search as well. I don't think this does that.
Why innovators get better with age nytimes.com
50 points by mitmads  6 hours ago   30 comments top 11
rayiner 4 hours ago 2 replies      
I think the idea that the "true innovators" are a bunch of kids with no experience is massively counter-productive. If you look at the real innovators in computing (not Zuck) over the last 50 years, you'll see that the ripest period seems to be 30-40. Larry Ellison was 33 when he founded what became Oracle. Bradeen was 39 and Brattain 45 when they invented the transistor. Bill Hewlett and David Packard were 26 and 27 when they founded HP, but the company achieved its real successes during the war when they were in their 30's.

The reason I say it's counter-productive is that it tends to upend a very fruitful social structure: younger people learning how to innovate under the direction older, experienced people. Ken Thompson and Dennis Ritchie didn't invent Unix one day between their college classes. They joined Bell Labs after getting advanced degrees, worked on a system (Multics) implemented by older, more experienced people, and gained the expertise they needed to innovate. You can't really develop expertise as a young kid, and expertise is usually a pre-requisite for real innovation.

And to tie in to the organizational management angle in the article: who would you rather have in your organization? John Carmack circa 1991 (when he founded id software), or John Carmack circa 2013?

If this seems counter-intuitive in the context of the current Silicon Valley youth worship, ask yourself: what are the young kids at Twitter, Facebook, etc, really building? The answer is: lifestyle and entertainment products. Without demeaning the value of those products, I'll say it's not a contentious assertion that young people have some significant insight into lifestyle and entertainment as an industry, but that doesn't mean they're particularly innovative.

wilfra 2 hours ago 3 replies      
As a 32 year-old trying to break into Silicon Valley and feeling the strong effects of subtle (and no so sutble!) age discrimination, I found the headline and the hypothesis encouraging and really wish I could get behind it. However the evidence in this piece is lacking and unconvincing.

He cherry picked a few examples of industries where people are required to pay their dues before the system allows them to make a contribution. In science one must earn a PhD as an ante into the game. Then they must earn a reputation and tenure before they are allowed to fully devote themselves to making major breakthroughs with their research. Early to mid 30's is roughly the age when one would be afforded that luxury, for the few who make it that far, so it makes perfect sense people would make their discoveries at 38.

With film it's a similar story. Directors must first go to film school, then fetch coffee for directors, then work their way up the ranks on other peoples projects and then catch a series of extraordinary breaks before they are given the opportunity to direct other peoples ideas before they are finally given the freedom to truly do what they want. If they achieve that freedom by their 50's, they are one of the chosen few.

Being an author works much the same way.

Anybody with a text editor can write code that changes the World. So it's not the same. Does that mean young people are better at hacking than old people? No, not automatically. Nothing can be proven from all of these examples other than the relative barriers to entry in a given field.

swombat 5 hours ago 2 replies      
Very poorly argued points. There is no case made that innovators actually get better with age, nor indeed a decent definition of an innovator. Apparently, best-selling authors and directors are the best example of innovators that the author could come up with. Skip.
goldfeld 4 hours ago 0 replies      
I like the theme but indeed this article misses out on so many opportunities to make a good case. The innovators they are picturing are the "corporate innovators", which is different from the young kids disrupting markets altogether. The former are evolutionary, the latter really shine when they're revolutionary, which often needs a new company to take over instead of a big corp reiventing itself.

But both are great drivers of human progress. If we only developed by leaps and bounds, revolutions, we'd be hard pressed to avance at all. I like the concept of slow hunches. These are the ideas that you breed in your head over years, decades. They often need to meet other slow hunches other people have been breeding to really shine. This is a slow innovation that startup culture completely misses out on. It's the foundation of scientific research, but it's also very much directly (albeit slowly) applicable to business. I have a few slow hunches of my own, which have been evolving over the last 5 years (I'm 23). They have spawned little ideas and projects already, but the main branches keep pivoting and growing because they're far from concrete yet to be even market tested or MVP-built.

I feel my best innovation comes about from deliberate mixing of areas of knowledge. And it seems to me every week I have a new interest. I want to understand painting, poetry, design, writing, statistics, politics and a lot more. There's all this breadth I don't yet have, and I feel that's what makes good innovators, they're generalists, and criss-cross the DNA of different areas to create new mutations all the time. Most suck. In this sense, I'll be so much better at 50.

It's also why I don't see myself calling software development my career in 20 years. I feel like I want to build a career that ages well, and though surely I'll be a better developer at 40, many market dynamics will be playing against me in the field of tech. If it's even relevant anymore in 2030. Maybe robot code-monkeys will do, at least CRUD and interface design, much better.

I want to be a writer. I'm using article writing as a platform for all my expression and creativity. Want to understand something better? Write as best as I can about it, then edit, cut, edit. Like when it's said that you should always write all software as if it were open source (commenting, modularity, extensibility, docs), I write my thoughts as if they were published. I want to hone the craft, and eventually, as the decades pass, have a respected career for writing insightful articles where I wouldn't for writing old-man's code (Though I'm pretty sure I'll actually pay my bills with software still.)

michaelwww 3 hours ago 0 replies      
The premise of the article is simple. Companies may lose money in the long run by cutting older workers and hiring younger workers in their place to save money. There's an obvious case to be made for experience and wisdom that comes with age to some older workers. A blanket policy of bias towards the young is going to lose that. Companies should be smarter about it and realize that some older workers do get better with age. They should try to hire boy wonders and keep some wise heads around. The author mentions a problem without naming it, which is the Peter Principle, where workers are promoted until they reach a level where they are no longer effective.
robomartin 1 hour ago 0 replies      
One problem: What is innovation?

Some innovation can and does happen from a position of almost complete ignorance. Other innovation requires years of study, domain experience and the benefits of a multi-disciplinary background. These are vastly different things. The former could be the domain of the younger crowd. The latter, almost by definition, belongs to those with more candles on their cake.

Nothing wrong with either scenario.

mitmads 5 hours ago 1 reply      
"The directors of the five top-grossing films of 2012 are all in their 40s or 50s" - What does this prove? Are they innovators?
"But there is another reason to keep innovators around longer: the time it takes between the birth of an idea and when its implications are broadly understood and acted upon. This education process is typically driven by the innovators themselves." - I don't fully agree with this. 'typically' is a broad word.
muratmutlu 1 hour ago 0 replies      
I recently read another article on HN that said innovation got worse with age and responsibilities like kids etc, does anyone remember it?

I think it depends on what industry you are in, but I have seen old guys build bad ideas too

EliRivers 5 hours ago 1 reply      
Doesn't every human activity with a large dependence on knowledge and experience get better with age?
trustfundbaby 2 hours ago 0 replies      
amazingly content free article. disappointing read.
mcartyem 1 hour ago 1 reply      
The word innovator might be ill-suited to support the argument that mastery generally takes time.

For example physicists and mathematicians do their best work in their early twenties. Arguably they get worse with age.

A multi-purpose EDITOR variable brettterpstra.com
40 points by zdw  5 hours ago   12 comments top 5
dmckeon 4 hours ago 0 replies      
To edit several files of one type in one call:

case $1 in
/usr/local/bin/vim "$@" ;;
*.md | *.txt) /usr/local/bin/mmdc "$@" ;;
*) /usr/local/bin/subl -w "$@" ;;

asveikau 4 hours ago 0 replies      
Don't a lot of programs first check for program-specific EDITOR values? So if you want to change the one for git, set GIT_EDITOR? Seems a lot cleaner than trying to recognize the filename.
jasonm23 4 hours ago 1 reply      
Use Emacs, then you don't need several not very good editors. /flamebait
mccolin 3 hours ago 3 replies      
Do people not often use "git commit -m" for commit messages? Curious as to the common level of need to launch the full editor.
dubcanada 3 hours ago 1 reply      
Your website font on Windows is just plain terrible looking.

Regardless of that... I love this!

Why iOS Devs Should Consider Using Core Data iCloud sync zaal.tumblr.com
13 points by zulfishah  2 hours ago   7 comments top 6
potatolicious 7 minutes ago 0 replies      
The problems with Core Data iCloud sync are vastly understated in this article.

> "Yes, there are various problems"

Yes, chief among them that it doesn't work. I'm quite serious here. No one has gotten an iCloud-based Core Data store to withstand the actual multi-device usage it was designed for.

We're not talking about "works, but buggy". We're not even talking about "works but is a pain in the ass". We're talking "core features do not function". We're talking about "no known workarounds to bugs at the core of system that prevent it from working in any way that resembles the documentation".

And it hasn't worked since iOS 5.0, released almost two years ago. We have been through another major yearly update and several point updates, and no visible progress has been made on Core Data iCloud sync. The documentation has not improved, and with every point release developers go back and survey the situation only to find more bugs and more and different obscure error codes being emitted by the system.

Core Data iCloud sync would be bearable if it were just buggy. It would even be bearable if there was forward momentum on the vast amount of brokenness in it. But neither have demonstrated themselves.

But enough whining, let's address some points made by the article.

> "Or you can allow offline editing and build your own custom conflict-resolution solution, which I can guarantee will make YOU very unhappy... iCloud can resolve this problem by letting your users edit data offline and resolving any merge conflicts automatically"

Yes indeed, why build your own conflict-resolution layer, which you will probably get wrong in horrible ways, when you can rely on a working solution?

Poignant question if there was a working solution. Author is describing an iCloud that does not exist. Core Data iCloud Sync conflict-resolution does not work, and when it does not work, it has failure modes which result in the irrecoverable corruption of your entire data store, and in combination with other iCloud bugs results in the complete inability for your app to edit its iCloud bucket ever again.

Ever again.

I wish I didn't have to use so much italics here, but the point really must be made.

> "even if your app has been terminated, the iCloud daemon can keep running and upload your data whenever it gets an opportunity"

> "with CDIS, data is pushed into your app when it's ready"

Indeed, these are the points for using iCloud over other competing cloud sync services on iOS.

But that's a little like saying the Ford Pinto has a really nice tape deck. It has this really neat, really useful feature when it isn't exploding. It's like saying dinner service on the Titanic is great - none of this matters when you can't even get the boat to float.

> "And that they have really seasoned, very smart people working on that Core Data team. I can't imagine Apple releasing something as ambitious as a distributed, decentralized database system without “thinking it through”."

But they didn't think it through.

Author, you've been working with CDIS for the last two years. The technology behind it is neither mysterious nor is it secret. CDIS isn't broken because Apple can't write code. CDIS is broken because it is architecturally unsound.

Core Data iCloud Sync breaks down from a high level like this:

- You break each transaction into your database out as a diff. You store this diff in a directory that the iCloud daemon is syncing. Thus, all new diffs (called transaction logs by CDIS) are replicated to all devices. So far so good.

- It is trivially easy for a combination of devices (or really, just two) to generate a combination of diffs that do not playback to a consistent database state.

- In a normal world where CRUD operations are handled by a server with some understanding of the underlying data model, the server resolves conflicts as the authoritative data source, and thus consistency is maintained.

- In the world of CDIS, there is no authoritative server, nor is one device ever designated as the canonical state (this would be unrealistic, since devices get retired and lost, nor is there anything special about a device that makes it canonical). Instead, conflict resolution is left to each device, the implementation of which is broken. Which is to say, your CDIS-enabled database will work fine until the moment two devices make conflicting changes. At which point it is irrecoverably corrupted.

- The CDIS client's reaction to this is to revert your local copy of the database to its last known good state and cease communicating with iCloud entirely. This error occurs silently without either notification via UI (to the user) or API (to the developer). There is no way to query this state, and as of today the only visibility into this error is via console logging.

- Because the corruption has already occurred server-side, this means all connected devices using this store are all now disconnected from iCloud when using the app.

- As previously mentioned, there is no simple way to detect this error state via the API. Even if you were able to figure out that this has occurred, there is no way to destroy your database and start over. Due to bugs, lack of documentation, or architectural oversights, there is enough metadata about the database that the app cannot delete, that deletion of the store and its associated diffs do not put iCloud back to a clean state.

This is why people are giving CDIS a lot of shit on the internet. Nobody seriously believes Apple is incompetent at programming, but even a mild dive into the underlying technology on which CDIS is based shows that this entire architecture is unworkable. It's not that Apple can't get it right, it's that they've committed to an architecture that no one can get right.

As someone who has spent the last few years neck-deep in iOS, who makes a living writing iOS apps, I want iCloud to work right. It is in my interest to cheer on Apple's every move. But short of completely scrapping their existing architecture I do not see how it can be meaningfully improved (read: made to actually work).

> "CDIS is a really compelling technology for many iOS / Mac developers to adopt in their apps, and you should be seriously looking at iOS6 or iOS7 as the point to jump onto the CDIS train if it fits your needs"

NO. I for one would be ecstatic if CDIS works as advertised in iOS7, but under no circumstances should anyone consider using CDIS on an iOS6 device.

> "and it deserves less dismissiveness"

Dear author. We, the iOS developer community, have not acted with dismissiveness about CDIS. In fact we raced towards it with high hopes. We fought the scant documentation. We fought the bugs. We poured into the dev forums in droves. We helped each other and we shared our learnings.

We are angry now because we have tried. Nobody dismissed CDIS out of hand - the anger here comes from tens of thousands, if not hundreds of thousands, of collective man hours exhausted attacking this problem from every possible angle, and we are no further from where we were when CDIS first dropped in iOS5.

All of the points you make are valid in a universe where the technology you're talking about is functional. It would be insanely great to have a cloud-based data store that does conflict resolution for you, that updates in the background, that removes our responsibility for hosting it, that has no operational overhead on our part, and pushes instead of pulls. Indeed, those are all great reasons to use such a technology - if it existed.

But as it is no one can make a Core Data iCloud store stand up for more than an hour. And no one can recover a corrupt data iCloud database after it's fallen over. So unless you've figured out the solution to the above two problems, I'd kindly suggest that you stop treating the entire iOS developer base like ignorant, petulant children.

That was way longer and way angrier than I intended, but the article is really IMO nonsensical, and the author's tone that the iOS community has someone "dismissed" the technology or somehow not given it a fair shot, bothered me greatly.

stevenwei 26 minutes ago 1 reply      

  iCloud can resolve this problem by letting your users edit data offline and 
resolving any merge conflicts automatically (and in the case of iCloud Document
syncing, giving you some options to get feedback from the user to help resolve
the merge conflicts). If this worked seamlessly, it would add great value to
your product.

If it worked seamlessly, which it doesn't. Conflict resolution is very application specific, I'm not convinced that a one-size-fits-all automated solution will ever be able to handle the edge cases as well as the original developer, who has intimate knowledge of the problem domain and the structure of the data to be synced.

  App Store Features: you might get featured by Apple on the App Store for using
their latest, greatest technologies.

Don't think this is relevant for iCloud anymore. Besides, Apple has featured tons of apps that do their own proprietary sync or use Dropbox for syncing. (e.g. Evernote, Omnifocus, 1Password). The quality of the app is much more significant than the APIs it uses.

  Future Plans to move to Android / Web: a legitimate concern. But why not wait
till your iOS product has grown big enough to have substantial demand for
Android and/or Web, and develop your custom back-end solution then?

Migrating your user's data off iCloud one year later is going to be a massive, massive pain to deal with. And database syncing is not like file syncing, it won't be trivial to integrate another syncing mechanism into the application. Things will start to get quite messy if you also want to interleave iCloud in there for backwards compatibility.

jchrisa 37 minutes ago 0 replies      
There are a lot of alternatives to iCloud. Most of them are just backend-as-a-service, but some of them are really sync engines. Dropbox has been around a long time, and is really popular for iOS file sync.

My team at Couchbase has been building mobile NoSQL databases that sync[1], for a number of years now, and our tech is used by a few apps in the app store already.[2]

This preamble is to say that I've had plenty of conversations with developers who would be in iCloud's target market but decided not to use it. And the big reason they won't use it has very little to do with the reliability and user experience problems that keep coming up in the critiques of iCloud. The big reason they don't use it, is that they need to control their data.

It's one thing for a small game or journaling app to outsource data management to Apple, but an entirely different thing for medical apps, enterprise sales, or other "serious" apps to do that. Perhaps in the long term Apple will offer an enterprise version of iCloud that you can run on your own terms. But until that happens, most serious apps are going to want to run their own infrastructure.

BTW all the code we write is open source, so if you are interested in sync capable databases with offline and p2p support, join us. [3]

[1] https://github.com/couchbase/couchbase-lite-ios
[2] https://github.com/couchbaselabs/TouchDB-iOS/wiki/TouchDB-In...
[3] https://groups.google.com/forum/#!forum/mobile-couchbase

drawkbox 39 minutes ago 0 replies      
I like iCloud but it is only an add-on sync option for most games we do as they are android/ios/web/desktop. A non fully cross platform cloud sync option just doesn't help speed up development much but it s a great low barrier sync for iOS only customers.

For iOS it is pretty easy though, anything in Docs gets synced if logged in and the app is setup for iCloud. It has always been a little touchy when they added the Caches/Documents requirements. You have to setup a no backup flag to prevent it from syncing if storing anything there which can be a problem if you store too much.

    BOOL success = [URL setResourceValue:[NSNumber numberWithBool:YES] 
forKey:NSURLIsExcludedFromBackupKey error:&error];

seivan 1 hour ago 0 replies      
Again I hope people can separate Core Data and iCloud.
Core Data works perfectly fine (though I suspect some will argue with me on that point, I've had no issues with it since 4)

But iCloud is just badly implemented for the moment. Will probably get better. Apple doesn't call iCloud beta, and people will probably be pissed since it doesn't work properly.

I suspect that if they did call it Beta, some might have had gone easy on it for all the faults out there.

I gave it a try when the API was accessible, I didn't like it, never looked back.

1)SSO can work with other form of social logins - and will also work from other platforms/clients

2) Privacy? As a developer you have access to those files

3) This works better if it's stored on a server that has a more public API since you probably want a web interface and etc.

zulfishah 1 hour ago 0 replies      
Couldn't agree more than it's just badly implemented right now. It's at a "barely viable" stage right now. Article was meant to question the very assumption that it's a just a fundamentally bad idea to begin with, and all the negativity that's recently coming out in the press. Yes, it's not for every app or every situation, but it could be a great solution for a lot of apps (if only it worked a bit better!).
Five advanced Git merge techniques ezyang.com
34 points by DanielRibeiro  5 hours ago   2 comments top
kemayo 1 hour ago 1 reply      
`git pull --rebase` is very useful if you use git with an authoritative remote repo, treating your own repo as having disposable history.

In fact, you can make it the default! Just do: `git config --global branch.autosetuprebase always` and every branch you create from now on will be set up to rebase without needing the manual `--rebase`.

Existing branches you can switch by doing: `git config branch.[branch-name].rebase true` in the repo.

Google Code Jam 2013 code.google.com
36 points by ariassp  6 hours ago   5 comments top 3
kirinan 4 hours ago 0 replies      
Im actually going to compete this year. Usually I sign up, get busy, then ignore the challenge, however I want to see how I match up with the rest of the world when it comes to solving hard problems in a set amount of time using good data structures. Its also always good to stay sharp so that you can do well in interviews when you need to (never know!).
loeg 3 hours ago 0 replies      
Anyone else get:

"""Error: Server Error

The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it."""

When attempting to identify using a Google account?

OlivierLi 2 hours ago 1 reply      
"The Contest is void in Cuba, Quebec, Saudi Arabia and Syria and where prohibited by law."

As a student really wishing to one day work at Google Montreal this has me seriously disappointed.

Does anyone know of a way I could participate if I turn down any prize I would win?

Stop participating in hackathons just to win venturebeat.com
44 points by awwstn  7 hours ago   36 comments top 17
_delirium 5 hours ago 2 replies      
I feel like I've lived some kind of sheltered life now, in that I didn't even know winning was a thing at hackathons until I read this article. I don't think I've ever been to a hackathon that had prizes and winners.

When I think of the term "hackathon", what comes to mind are events like the OpenBSD hackathons (http://www.openbsd.org/hackathons.html), the Wikimedia hackathons (http://www.mediawiki.org/wiki/Amsterdam_Hackathon_2013), and SuperHappyDevHouse (http://superhappydevhouse.org). You can't win any of those, at least not in any kind of formal sense.

The use of the term "hackathon" here seems to mean something else, less of a dev-party and something more like, a time-limited, minimum-viable-product startup competition. Is that a recent thing?

trotsky 6 hours ago 1 reply      
You know you've pretty much hit rock bottom as an industry when people are complaining about Robert Scoble being mean about their fake business that they created while on a bus to an expensive party.
fotbr 4 hours ago 1 reply      
I quit going to hackathons when they started to turn into "do something with our web service" instead of "X straight hours of whacking away at whatever project you're working on, surrounded by like minded people doing their own thing, that you can bounce problems off of when you get stuck".

There are two local hackathons coming up, neither of which I'm the slightest bit interested in, since both are based around handfuls of companies and their products' web-based APIs. It's obvious that they are not interested in you turning out a product, or even getting a start on a product. They're using you to determine possible areas their company could branch into, and like Tom Sawyer, they're getting you to pay to help them.

mmanfrin 6 hours ago 5 replies      
Question: I've been wanting to attend a hackathon, but I have no idea where to find when/where they happen? Is there some sort of list, or do I just need to keep my ear to the ground?
richardjordan 4 hours ago 0 replies      
I think part of the problem here is that there are so many Hackathons around nowadays, it's hard to attract attention to your hackathon, and attendees. This is even worse for the for-profit ones rather than the more social affairs. As a result they seem to have chosen to focus on prizes and big money as their core marketing angle. This raises the stakes and makes it far more about pursuing the dollars for many participants.

I've seen people pitching their startup idea in the one minute presentation for the hackathon, thinking that this is the best way to launch a company (spoiler alert: it's not!). Yes there have been some nice positive stories coming from projects that started at hackathons, but that's the exception.

I love hackathons. I have a couple of buddies and we go to every TechCrunch hackathon, and some of the others from time to time. We do it because it's fun. We love the social aspect of it. We don't go expecting to win. We go because we enjoy it.

I like the little side prizes $x free services for the best on Y platfom; a free iPad for the best using Z platform. But when it's become about $50,000 grand prizes, and places in unproven incubators/accelerators I think we risk destoying the atmosphere of hackathons. We'll drive away the social participants and it'll just be competitive hackathoners, and when they realize it's not the best way to achieve their startup goals they'll move on...

Let's just go back to fun hackathons, like the old TechCrunch ones used to be. Good food, social activities, fun atmosphere, lots of vendors and partners to teach us about their APIs and perhaps a few side prizes that are nice-to-wins but don't have people thinking this will make or break their startup.

edent 4 hours ago 0 replies      
Here is the number one reason people don't win hackathons (even if they have an amazing creation) - they suck at explaining.

I was at one recently where a guy showed off what promised to be a very interesting way of analysing data. He spent his 5 minute demo slot talking about how he rewrote a webserver in "Go"...

I mean, ok, from a geek point of view it's kind of interesting that he wrote an amazing server but a) this wasn't a server hackathon and b) he couldn't explain his way out of a wet paper bag.

At the last hackathon I went to, one losing team spent their slot arguing about why they couldn't connect their Macbook to the 800*600 projector used for demoing.
Ok, we all experience technical difficulties, but this team had sat through 30 minutes of presentations and at no point thought "Hey, we'd better make sure we don't waste time like these other teams - let me quickly Google how to set my external screen resolution."

Honestly, the biggest thing standing between you and victory is (probably) your inability to succinctly explain your idea in such a way that you will captivate the judges.

evanjacobs 6 hours ago 1 reply      
I'm a big hackathon fan and participant and I can sympathize with the emotional high of "hey, we built something really cool" to the low of "the judges didn't just didn't understand what we've built". Most of the hackathons in which I've participated use a panel of judges from the VC or general "tech community" but whom aren't usually hackers themselves. I'd love to see an event where the judges know what it takes to produce something that works in a compressed timeframe and don't ask the inane questions like "how are you going to make money?" or "who are your competitors?"

I'm also bootstrapping my startup primarily for the same reasons. I don't particularly want or need validation from VCs, many of whom aren't hackers, to distract me from figuring out whether what I've built is of any value to my customers.

dirkdk 6 hours ago 1 reply      
What I don't get so much is the push to take the result of a hackathon and turn it into a company. Several occasions I have seen investors promise to invest in winners, but most of the time it is just a group of people together for the weekend with already their startup or a dayjob. Lauch, Angelhack have this actually built in. Result: more focus on business and already existing teams (companies?) that come in together to use the event as a launching platform. Which is not the goal for me for a hackathon: trying out technologies, meeting new people, have fun. I already have my startup, don't need another.
kateho 7 hours ago 4 replies      
What should really happen is for hackathons to stop awarding prizes. There's no need for them. Most people go to hackathons because they want to meet people, try new things and learn stuff.
EdJiang 6 hours ago 1 reply      
I really agree with this post. Hackathons can be used as a great way of energizing, educating, and building a community of passionate, motivated hackers.

I'm really interested in using this force to build the next generation of technologists, and we're currently doing this via an event called CodeDay.

High school / college students are always busy -- they have tests, homework assignments, jobs, and other things that prevent them from spending time on the things they want to do. A hackathon provides these students an opportunity to focus, and for the students that are learning some tech on the side to actually create something. At the same time, beginners who are interested in technology get started and feel empowered to start learning and experimenting in their own time. They all become friends, and create amazing things.

Through CodeDay,

* A High School student made $20,000+ building an android app he thought would be useful called Sidebar Pro: https://play.google.com/store/apps/details?id=mohammad.adib....

* High school students made a replica of Leap Motion's capture device: http://blog.studentrnd.org/post/46637262311/studentrnd-profi...

* We created countless technologists, provided students with connections to jobs, and more!

Other news:

* http://www.king5.com/news/Students-in-code-heaven-at-Code-Da...

* http://blogs.splunk.com/2013/02/19/studentrnds-1st-code-day-...

We're currently in 6 cities, and looking for people to help us take this across the country to more cities! Check it out: http://codeday.org/

zupatol 5 hours ago 0 replies      
It shouldn't be possible to win a hackathon. Building things is fun, and the fun of one team is not worth more than the fun of another.
shawnreilly 6 hours ago 0 replies      
From my experience, different people view Hackathons differently. I wouldn't want to make any blanket statements about why one should or shouldn't go, or what the focus should be. I don't really think there is anything wrong about being competitive and wanting to win. I think what's important is recognizing what you want, and building a team of people that match. Some people will be competitive and serious about winning. Others may be more laid back, and just want to enjoy the experience. Some may want to actually create a product and start a business. Others may just want to work with new technology, or learn something new. Building a team that is aligned with your views and expectations is important. If you don't build the right team, the experience can become frusturating. In extreme cases, it might even pull the team apart.
sjtgraham 7 hours ago 0 replies      
Wait, what happened with Scoble?
rhizome 7 hours ago 0 replies      
Title is misleading; the story is about not being a sore loser.
jamesmcbennett 5 hours ago 0 replies      
Been to design-a-thon's (same, same but different) and haven't met anyone there to win, people enjoy working on a problem with others. There were prizes, but more as tokens, not anything worth shouting about.
jld 4 hours ago 0 replies      
Why don't they just give away prizes randomly in a raffle at the end?

Teams can still win, but losing a contest that has no prize is seldom as stinging.

namank 6 hours ago 0 replies      
Lol. That's like saying stop doing startups just for money.

Do you see the irony?

One Dimensional Cellular Automata " Working Simulation archetyp.al
30 points by Articulate  6 hours ago   7 comments top 3
taliesinb 1 hour ago 1 reply      
Rule 30 and rule 110 are fun. The author should add them!
cookingrobot 4 hours ago 1 reply      
Filligree 1 hour ago 1 reply      
Several times, I saw it stick to a single configuration for several lines, only to then suddenly start doing something else across the entire line.

Do the cells have more states than 0/1? Or is there something else I'm missing?

Diverging paths: KDE Plasma Desktop vs. Unity netrunner-mag.com
13 points by Tsiolkovsky  3 hours ago   1 comment top
drivebyacct2 3 hours ago 0 replies      
Man, KDE has come so, so, so, so far since a year or two ago. With a bit of tweaking, with a few different Plamsa theme, Oxygen, and Oxygen color schemes, you can customize it if you like and it looks great out of the box even if you don't. Between that, Qt5, SDDM and plans shaping up for KF5, I'm really excited about the direct of KDE Plasma.

KWin has more features than Mutter and is more stable than compiz. It has several interesting features related to the application menus, Plasmoids are actually fairly nifty and useful if you're into that sort of thing. And to top it off, a default Kubuntu install uses a little less than .5GB of RAM at the plasma desktop.

Linux game database lgdb.org
53 points by amarsahinovic  9 hours ago   11 comments top 7
networked 4 hours ago 0 replies      
For games specifically distributed under free software licenses take a look at https://libregamewiki.org/Main_Page. SourceForge's games section [1] is also still a surprisingly good tool for discovering smaller and more obscure Linux game titles. I wish there was this sort of cataloguing going on on GitHub (even if it was through a third-party website).

[1] https://sourceforge.net/directory/games/

pglombardo 7 hours ago 0 replies      
It's a shameless plug but I keep a game index site with a fair list of Linux games:


The site is still only half-done and is a work in progress. (and features ugly deep link URLs)

BTW slick work on the lgdb tools and emulators listings.

copx 7 hours ago 1 reply      
Well there has to be a replacement for The Linux Game Tome (http://www.happypenguin.org/) but this one just feels soulless and generic. The Linux Game Tome was never very good from a technical point of view but it had style.
babuskov 7 hours ago 0 replies      
I tried to create an account using Yahoo! OpenID to submit one of my games: http://www.guacosoft.com/njam

I got this error from Yahoo!:

Sorry! You will not be able to link your Yahoo! account with this website or application. It is using an older version of the OpenID technology.

xPaw 8 hours ago 0 replies      
Also list of Linux games on Steam:

1. http://steamlinux.xpaw.ru/

2. http://steamdb.info/linux/ (automated, pulls data from Steam)

osener 7 hours ago 1 reply      
I was going to recommend http://www.happypenguin.org/ but apparently this week they announced its demise, sad to see it go.

There is also http://www.penguspy.com/ which contains a well curated list of Linux games.

eterm 7 hours ago 2 replies      
How can gaming on linux be taken seriously when the same tired old ports and poor quality games dominate the "top" list by user reviews?

You'd get a better sense of linux gaming with Steam for Linux.

Zsh-lovers " tips, tricks and examples for the Z shell grml.org
91 points by q_revert  11 hours ago   21 comments top 3
phreeza 11 hours ago 6 replies      
This list is great (and old), but what I would really like is a more concise list of stuff zsh can do that bash can't, and that has been vetted by people who know bash well. (like one thing that comes to mind is recursive globbing with two astersisks, but to be honest I have no clue if maybe bash can do that too by now).

The reason why I want such a list is I usually point people to zsh-lovers list who ask me why I use zsh, but something more to the point would be great, and probably more convincing.

hnriot 7 hours ago 1 reply      
It's funny to see alias PIPE='|'

That's not much of an alias. Usually I use them to shorten the typing, not make it longer.

Here's my suggestion:

alias "list all files, but don't show much info"= ls

Premature 4/1

dbbolton 10 hours ago 0 replies      
I've been using zsh as my primary shell for roughly 5 years. I made an earnest effort in the beginning to read the 400+ page User Guide[1]. Though I learned a lot, it's simply to much information to retain-- especially the things you don't exactly use often. For me, "quick reference" materials like this list have become essential. I've resigned to remembering only the important stuff that I need daily, and for the other things (say, how to write your own completion file for a command that takes a bunch of different types of parameters) I simply remember where I can look it up (the links section of zsh-lovers is probably the most useful simply for this reason). And when I can't do that, #zsh on freenode has been a genuinely helpful community.

1. http://zsh.sourceforge.net/Guide/

NetBSD turns 20 netbsd.org
83 points by dallagi  12 hours ago   6 comments top 4
asb 7 hours ago 1 reply      
Hopefully this isn't considered too much of a hijack, but while NetBSD on topic I'd really like to recommend taking a look at their support for "rump kernels". Basically, you can compile and use large swathes on NetBSD as a library even on non-NetBSD systems. You can use this to, for instance use the NetBSD filesystem implementations to read an unmounted disk image. Or run Firefox using the NetBSD TCP/IP stack.


gamache 5 hours ago 0 replies      
Happy birthday, NetBSD! My tool of choice for my first ten years of Unix. While Linux was scrambling from kernel update to kernel update, NetBSD felt pro on whatever scrounged hunk o' silicon I had powered up at the time. Congratulations on two decades of excellence. Here's looking at a few more!
superflit 10 hours ago 1 reply      
Great OS and Great Team.
If you need an OS that will not need to be upgraded frequently and secure this is the one.
loeg 9 hours ago 0 replies      
"NetBSD turns 20, still lives with parents."
Why so many jobs are crappy heteconomist.com
66 points by kevinburke  7 hours ago   56 comments top 15
nhashem 6 hours ago 3 replies      
Most jobs are selling your time in exchange for money. If your time is mostly fungible compared to someone else's time (ie. most low-skill labor), then I'd say all the algebraic equations expressed in the OP are true. He is essentially modeling supply/demand curves of typical scenarios involving "human capital."

In the past, the value of human capital -- the amount you got paid for selling your time for money -- used to be more lucrative. At one point nearly half of Americans were in a labor union, which artificially constrained the supply of human capital so it would be worth more. Conversely, our previous industrial revolutions required a great deal of human capital (building factories, sewers, etc), generating lots of demand that would keep the value of human capital high. Due to political and technological changes, this is basically no longer the case.

If you're a software engineer, then none of these models apply to you because you are high-skill labor (also sometimes called "talent.") You're paid for your time, but your productivity can be orders of magnitude higher than your pay. In the OP's "expendability of labor" graph, the "sweet spot" is enormous. In my nearly ten years as a software engineer, I've seen colleagues laid off/fired for all sorts of reasons, but none of them were due to, "well we did the math, and we decided your production is not worth your salary." I've seen layoffs where the executives literally admitted they would make less revenue/profits due to the lost productivity of the laid off workers not offsetting the savings in salary, but they had to hit a certain "profit percentage" or some other absurd reason that justified the layoffs.

In any event -- I've thought a lot about the macro-society impact of this new model of economy, if we're truly destined for a world where human capital is just not that valuable. My interest in politics and healthcare has largely been based on this -- what should we consider "subsistence living," and what happens if we reach an inflection point where most jobs paying for human capital are below it?

It's possible, of course, that this will all be moot, and our next industrial revolution will have a huge demand for locally-based human capital (e.g. a "renewable energy industrial revolution scenario," where there is a huge demand for laborers that can install solar panels on houses, or something), and the median income for Americans will increase. Or it's possible for a more gradual shift to happen (e.g. the graying of the baby boomers causes a gradual increase in demand for local caretakers of the elderly). But I'm not sure it's a good idea to just assume that will happen.

rgbrenner 6 hours ago 5 replies      
I didn't like this article. Felt the author gave no thought to what work has been throughout human history: dull, physically demanding, etc.

He says work is meant to be interesting engaging and meaningful... It would be great if that were true... But that is written nowhere. Work is simply things that need to be completed that someone else is willing to pay for. Any other definition is you projecting your ideals onto what the task really is.

So to answer the question: why are so many jobs crappy? Because that is the way things have always been.

If you enjoy your work (like I do), count yourself lucky.

michaelochurch 5 hours ago 0 replies      
That's not why.

Bosses aren't trying to fuck you over. If they're aligned with the company, they're trying to maximize A - B, where A is what you contribute, and B is what you cost.

For most of the industrial era, it's been considered easier to reduce B than to increase A. Why? Many reasons, but the fundamental one is that most of the work was concave, which is what OP describes when he has cost per unit approaching asymptote m, which is equivalent to performance approaching 1/m from below, with more learning.

He's focusing on concave, commodity work and he's right about that stuff. Machines are also taking over the commodity work, leaving only the convex for humans. See: http://michaelochurch.wordpress.com/2013/03/14/gervais-macle...

With convex labor, the managerial assumption that A is at a maximum falls flat, because no one even knows what that "maximum" might be. With concave work, management could assume that A was near its maximum value and occasionally fire a slacker.

What this means is that, for convex work, A-maximizing is a worthier goal... but almost no one has figured out how to manage that kind of work. [ETA: a more cynical view is that someone else gets a bonus/credit for reducing B, but the worker himself gets all credit for improving A.]

coldtea 5 hours ago 1 reply      
>Why so many jobs are crappy

Because there is no labor movement.

Jobs were even crappier back in the day: arbitrary work times with no overtime (16 hours were not uncommon), child labour accepted, no holidays, fired for whatever reason, blacks and women worked effectively under different laws, so work safety measures, bizarre employer demands, etc.

In american a lot of those were fixed after long struggles by the workers and the (glorious) american labor movement.

Nowadays a lot of the unions are BS (and viewed as suspect from the left and "lazy" from the right), and one of the reasons is that they do not represent enough of the workers anymore (in some fields, there is zero participation even).

Those are now too apolitical, apathetic, and indoctrinated to "each one for himself" to join them and shake them up to function properly.

lalc 5 hours ago 1 reply      
>Work, being a core part of life, is meant to be interesting, engaging, and meaningful. Otherwise, why are we wasting our time on this planet?

A little early for April Fools'. Let's try this again.

>Work, being a core part of life, is meant to get things done. If your work is useful to other people, you will be able to enjoy life on this planet for a long time.

OGinparadise 5 hours ago 0 replies      
Work, being a core part of life, is meant to be interesting, engaging, and meaningful.

Actually it's meant to more or less enable us to fill our stomachs and to help to provide for our kids. "Work" started quite a while ago, millions of years before iPhones, nice cars, paid vacation and houses. We might go back to basics one day too. Maybe a solar storm, volcano explosion or asteroid might just wipe the last 100 or so years away.

Otherwise, why are we wasting our time on this planet?
Why is dog or an antelope?

A1kmm 6 hours ago 0 replies      
The problem with the theory around mid-range-λ-jobs is that people with a non-zero t can compete for jobs as well - for example, they may have increased their skill level through training, volunteer work, formal education, or there could be a flood of skilled workers following layoffs at a competitor. A skilled employee is therefore potentially competing both against 'green' replacements and skilled replacements.

At times when there is a surplus of skilled employees, the market price for skilled employees will tend towards the marginal cost of living for skilled employees, which is roughly the same as the costs of new employees, and so new employees would be prevented from gaining experience on the job (they could offer to work for less than their cost of living in the hope of a future payoff from their skills, but even that won't necessarily make sense to the employer, because the employer has costs per employee beyond just wages and employee benefits, and it might still be cheaper to hire fewer skilled employees at a higher price than to incur more per-employee costs hiring more unskilled employees at a lower rate). On the job learning therefore becomes less relevant, and new employees are forced to overcome the activation costs through other means, or try a different industry. If there is no credible alternative to on the job learning, this might cause a dynamic effect where the attrition of skilled employees combined with an absence of trained new employees raises the skilled employee price towards the utility to the employer, and makes it cost-effective to take on new employees again.

mcartyem 6 hours ago 0 replies      
Many jobs are crappy because companies want guarantees. They would rather have peace of mind that things are moving at a known rate compared to any risk of uncertainty.

The jobs are not necessarily crappy because companies are interested in keeping wages down. Companies are more interested in boosting profits compared to keeping wages down.

The humorous part is so many jobs continue to remain crappy even when you make a boss look good by generating orders of magnitude more value than he bargained for when hiring you.

Even if you explained to the boss how you could generate such value at the time of hire, they still wouldn't be able to assimilate it's possible. They don't see how one can generate such much value, even when you present plans on how it can be done.

It's as if the boss is trying hard not to let you generate more value than expected.

alecbenzer 5 hours ago 1 reply      
> Or maybe it's just because it feels good [to dump you at the drop of a hat]

Stopped reading. Wtf is this?

jacob019 6 hours ago 1 reply      
Looter mentality, bosses and jobs just exist? Be grateful for the opportunity to have your efforts compounded by the contributions of others. If you were alone on an island, what would you have to show for your work at the end of a day? A meal? Temporary shelter? Even the lowest wage jobs offer us security, health, and a life much easier than our ancestors. Don't like what a job can offer you create one? Think you're worth more? Be your own boss, if you succeed then you'll create jobs and you can be the change you want to see. What has happened to our generation that everyone thinks they have something coming to them and are slighted by those who succeed? Want your fair share, then take it.
scotty79 6 hours ago 0 replies      
... and that's why programmers change employers every two years.
kenferry 5 hours ago 1 reply      
The math is kind of fun, but the conclusions in this article rely on a rather irrationally 'rational' view of how people behave, as well as far too much zero-sum reasoning. Clearly, the respect you feel from your boss has no impact on your productivity, and thus he wishes to reduce your wages to just above the point where you'd quit?

Bosses are people too! If you ask any "boss" if they want the best for the people working for them, the vast majority will say that they do. A useful theory of how others make decisions needs to not completely discount non-"rational" factors like emotion, fairness, and morals.

usablebytes 1 hour ago 0 replies      
I believe there are two types of workers. One who clearly knows what they enjoy doing and they seek their career in the same; others who never understand what their true interests are. The second type end up spending their lives doing the so called 'crappy' jobs; majority of human being falls under this category.
rayiner 5 hours ago 0 replies      
Management consultants.
andrewcooke 5 hours ago 1 reply      
remember when HN was for people who had good jobs? because it was full of good people?
Running Marketing Experiments with Purpose lukethomas.com
7 points by lukethomas  3 hours ago   discuss
Standups are Not Poisonous github.com
131 points by dshimy  13 hours ago   118 comments top 38
onemorepassword 12 hours ago 2 replies      
Standups can however very easily become very uncomfortable in a dysfunctional environment. (As the original article unwittingly demonstrated.)

Consider the standup to be the canary in the coalmine. Most of the time people can ignore the dysfunction, work around it and pretend it isn't happening by just getting on with the job as much as possible.

But the standup will then become increasingly uncomfortable. Every single day.

In a healthy organisation, you can have perfectly pleasant standups, even without Scrum or Agile. I mean, what does a healthy team have to fear from standing around for a few minutes bringing each other up to speed?

It's a process that is very close to what often happens quite naturally around the time everyone on the team has arrived at the office (or online).

A standup can only become poisonous if the poison is injected from elsewhere. In Gareth's case abusing it for management status reports. In other cases it might be tension between team members, not having a clear goal, whatever.

The point is, you cannot have pleasant standup if there is that kind of stuff going on. Which is all the more reason to have a standup, unless it's your policy to ignore problems rather than dealing with them.

Standups aren't just not poisonous either: they are a very good poison detector.

dos1 12 hours ago 10 replies      
I'm genuinely curious, how are standups not status meetings?

From the article:

- Make sure everyone is working on the right thing

- Help out other team members by taking work off their plate or helping them by sharing domain-specific knowledge

- Keeping everyone informed

How is that different from a status meeting? I've heard "standups are not status meetings" over and over from the agile community, but I don't get it. They sure seem to be quick status meetings that allow everyone to get a handle on the current status of the iteration?

drewmclellan 10 hours ago 1 reply      
I used to hate standups when I was at Yahoo. Maybe it's more a sign of how broken Yahoo is than how broken standups are, but the daily process was roughly:

0. 9am, catch up on email, then coast for a while knowing you'll have to stop work at 10am.

1. Find out which meeting room the 10am standup is in

2. Figure out where in the building that room is

3. Travel to the rough part of the building, hunt around for the room.

4. Wait for everyone else to do the same.

It's now 10.20am

5. Stand (OMG the standing!) around for 30 minutes listening to a boring load of status updates from 20 people that have absolutely nothing to do with you.

6. Give your status update (Yesterday I did some work. Today I'll do some more work. What's blocking me is this f'king meeting.)

It's now 10.50am

7. Travel back to the part of the building your desk is in today (if you can find it) and grab a coffee on the way.

That's an hour gone, and it's only another hour to lunch, so no point getting into anything too major. Knock off some smaller to-do items. Lunchtime!

An alien race observing us would conclude that teams were a device used to prevent work getting done.

ardit33 2 hours ago 0 replies      
I personally hate standups. They are the 21st century version of Chinese Communist style Daily Morning Exercises. http://www.youtube.com/watch?v=o_2C3bvh6ms

Usually they either are void of real information (as they are supposed to be quick) and nothing is discussed in depth, or if things do end up discussed they end up taking too long.

Unfortunately they have propagated in most work places/engineering cultures.

Information should flow naturally between engineers. If you have a jelling team, people should communicate with each other naturally, without having to be forced to stand up and listen to status reports (that's exactly what standups are).

I prefer once or twice a week engineering 30mins sync ups. Short meeting, that get to the point on whats going on, and you have some time to discuss things in depth if needed. For any small things, the expectations would be that engineers should communicate with each other directly.

Instead of having 5 interruptions a week, you have one or two (slightly larger ones). At the end of the day accountability should be on the delivery of projects (end results), and not efforts (which standups are more about showing efforts, rather than results).

From personal experience, experienced engineers tend to highly dislike them, and the over-reliance on standups is an indication of a weak engineering culture.

corresation 12 hours ago 2 replies      
Aside from standups becoming status meetings (which it a mechanism of superficial management used by terrible managers), one of my gripes with them is that they're often redundant -- everyone should know what everyone else is working on, and what everyone else finished, and any blocking issues, via your agile tool (e.g. Rally). Redundancy in information is a terrible, terrible thing, and it leads to a situation where neither becomes canonical because that other thing.
projectileboy 12 hours ago 2 replies      
Honestly, I can't understand all of the vitriol around "agile" methods that arises here occasionally. If you're doing something that works for your team, do it, if it doesn't work, do something else. Isn't that the whole idea behind "agile" stuff? Do people get stuck in situations where they have to do X because "we're doing agile, and agile says we must do X"? If so, can't the offenders be gently pointed to http://agilemanifesto.org ?
jlarocco 11 hours ago 0 replies      
IMO the usefulness of standup meetings depends entirely on the project and the team. It's impossible to categorically say they're good or bad.

For a while I worked on a team with a small codebase, which we all knew pretty well, and it was very likely that if somebody made a change today, I'd be working in the same area of code in the next day or two.

In that situation I thought standups were really helpful.

My current team/project is a bit larger and it's maintenance on a much, much larger code base. The project is large enough that nobody really knows the whole thing very well, and everybody works on a different section and there's not much overlap. If I were to switch places with somebody I'd have a lot more to learn than just what they've worked on recently.

On this project we're still required to do standups, but they're useless. The information wouldn't be very useful to me even if people kept to one or two sentences of what they were doing. Of course, few people do that, and they usually go into obscure details that maybe two people in the whole group really understand. And that's when I tune out...

phamilton 12 hours ago 4 replies      
"Remember, they are not status meetings."

Additionally, I think it is important to remember that standup is not a "justify my existence on the team" meeting. Having nothing to report is fine.

stevenp 10 hours ago 1 reply      
At my current job at turntable.fm, we only have standups twice a week (Tuesday and Thursday), and I honestly was surprised at how effective that is. I've always operated under the assumption that a standup needs to happen daily to be valuable, but trying them 2x weekly has changed my mind.

I think the real problem is when a standup is the only way that a team actually communicates status. At turntable we rely heavily on chat, which also contains messages indicating when new things are being pushed, and we also make it a point to have a lot of face-to-face communication. Our twice-weekly standups are a good way to fill in the gaps, if there are any, but they are by no means the only way that people find out what's going on.

moron4hire 12 hours ago 1 reply      
I have tried to get this point across at every place I have worked. Management covets micromanagement, so stands turn into status meetings.
sultezdukes 1 hour ago 0 replies      
Who's doing standups with a 6 member team for 30 minutes? That's nuts.

We're a 6 member team and our standups are typically 5 minutes or less.

We stopped that "what you did yesterday, what you're going to accomplish today, do you have any roadblocks" rigor nonsense.

We just turnaround to see what's going on. In the beginning, I was pretty turned off by the rules we were using for standup, but once we stopped all that, they're pretty helpful, just so we know where we all stand.

My first job out of school, we had a developer that claimed that he couldn't get any work done around the office because he was constantly being interruped. Well, his boss let him work from home on this very important project with a hard deadline. Well, he wasn't checking in and he was being vague about where he stood. Lo-and-behold, 3 months later he has nothing to show for, and he's history.

As a previous poster put it, standup can be a canary in the coalmine.

kabdib 2 hours ago 0 replies      
My old group started "doing agile." We had daily scrums. They quickly turned into status meetings for the PMs to bubble up micro-progress reports.

This, on a team with four engineers and three QA types. We sat next to each other. We didn't need standups, we needed to be left alone to do work.

Finally, on one project the PM (who had appointed himself scrumlord) finally let us meet only twice a week, and had the common decency to call the meetings "status".

Call things what they are.

InclinedPlane 5 hours ago 1 reply      
Standups are like communism, great in theory, often horrible in practice.

Of all the standups I've participated in going back 5 years I'd say only one was any good. It was every other day, it was forcibly limited to 15 minutes or less, it was always on time, it was never allowed to go off on a tangent, it only had about 3 or 4 people in it, and it was actively pushed away from being a status meeting. This contrasts with every other standup I've been a part of which almost always cut into productivity, and worse. For a while there was a daily standup with 12+ members that often went for 45 minutes and sometimes went for an hour and a half.

The problem with a formalized methodology like standups (or agile in general) is that if you don't have very well defined and explicit reasons and goals and you don't make that a part of the system then people will just drift into doing what seems to make sense to them, which is status reports and aimless meetings.

ender7 4 hours ago 0 replies      
This just seems to boil down to well-run meetings vs. poorly-run meetings. Standups are meant to be light-weight meetings where everyone gets back on the same page. If that's not happening, then someone isn't running the meeting correctly.
mratzloff 11 hours ago 1 reply      
Every daily standup I have been a part of or organized has turned into a status meeting. The biggest "tell" of a status meeting masquerading as a standup? When people address the boss, not each other.
asynchronous13 10 hours ago 0 replies      
I think the summary of this could be, "Ineffective meetings are ineffective."

Meetings are one tool among many for team communication, it's just that very few people are able to run a meeting effectively. I used to believe that all meetings, in any form, were a waste of time. Right up until I worked for someone who actually knew how to run a meeting. It was amazing - in a 12-15 person meeting, everyone person contributed, tangents were quickly cut-off, and they rarely lasted more than 30mins. Sadly, she was promoted (i mean, good for her, bad for my group at the time) and without her guidance our group meetings quickly reverted back to a multi-hour mostly useless waste of time.

The lesson I learned is not to dismiss meetings outright. Spend some effort learning how to run them effectively, and it's still a useful communication tool.

jt2190 11 hours ago 0 replies      
Both articles lack context, which we're all just filling in with our personal experiences with standup meetings, hence the pointless "debate" in the comments here.

I've noticed that developers can be divided into two groups based on whether they prefer to work with others or by themselves.

Those that prefer to work by themselves take chunks of work that can be done without input (formal or informal) from their fellow developers, (who they may refer to as "teammates" despite the fact that they don't work as a team in any real sense.) For this group, having a daily standup is a waste of time, because there is no work to coordinate.

Those that prefer to work with others take chunks of work that can't be considered complete until their fellow developers have also completed their portions. They seek continual input from their teammates in order to keep everyone on the same page. For this group the daily standup is just a more formal version of what they already do informally.

greghinch 11 hours ago 0 replies      
I'm on my fourth team now since 2005 where I have helped successfully employ scrum, and stand ups are a great part of it. A couple of the biggest mistakes I see being made are:

1) not correctly identifying "chickens" and "pigs"[1]. Pigs get to talk in a standup, chickens do not. In fact any interaction with the pigs and chickens should go entirely through the scrum master (and not during the standup). If chickens want to come to the standup it is to observe only.

2) conversations. The standup is not the time for conversation. The best method I've employed is to have each person specifically answer three questions: what did you do since the last standup? What are you going to do between now and the next one? Are you impeded in any way? The last one is where conversations often start. Scrum master needs to stop those, identify the people who need to talk after the stand up, and move things along.

When you follow those as hard fast rules, standups shouldn't take more than N*3 minutes where N is the number of pigs.

[1] http://en.m.wikipedia.org/wiki/The_Chicken_and_the_Pig

johnrob 12 hours ago 3 replies      
Standups would make more sense if the team did not communicate during the day. The reason I think they are pointless is that when a blocking issue arises, you drop what you're doing and walk straight over to the person who can help you. I've never seen or heard of someone waiting until the following day's standup to bring up the issue (which is supposedly what the standup is for, right?).
sardonicbryan 10 hours ago 0 replies      
Standups work really well when there are dependencies between different functional groups.

Consider a team working on a live browser/Facebook-based free to play game (social game as a service). There are many releases a week.

- Engineering typically requires art assets to begin/complete work. Ie. building models, unit models, 2D unit images, item images, etc.

- Releases don't end when they are pushed up to prod -- most releases have some kind of "go to market" plan that must be executed. For example, if a new Dragon Armor is released, we need to message all players to inform them of the new functionality and educate them on how it works, there would typically be a simultaneous tournament or contest that awards the new Armor as a prize, and possibly some other sale or promotion on a related item.

- It's a time for product to provide updates on where different specs are and on key game metrics.

- Customer Support/Community Management also provide updates on any emerging issues in the game, which improves everyone's situational awareness.

manojlds 11 hours ago 1 reply      
Offtopic - Hate these "github.com" posts that are actually from some blog hosted by some random dude on Github. Makes the domain bit meaningless. Wasn't there some fix for this to show more of the domain in certain cases?
hermannj314 9 hours ago 0 replies      
A few times a day, I say to my colleagues "Want to grab some coffee?" and then we go to the coffee machine and get coffee. It is inevitable while doing that we talk about what we are doing, roadblocks, etc. and sometimes we have nothing to say and we talk about something else.

That works for our team of 4-5, but I understand that it can't scale. Of course, if management started calling it a stand-up meeting and took away the coffee, I'm fairly certain we'd get less out of it.

tl-dr; why is a stand-up meeting better than just grabbing a coffee with your colleagues?

OldSchool 10 hours ago 0 replies      
IMO Standups are very useful for a team that works remotely. Placing them in the middle of the day ensures that nobody's going to have to bend his or her schedule unreasonably.

Would you rather get at least one extra IM or phone call(?) from each member of the team randomly throughout the day as you're quietly and productively working in your own zone?

I'm all for anything that tends to eliminate mental context switching during the day. Needless to say, not a fan of any office environment for coders.

dreamdu5t 7 hours ago 1 reply      
At my company, we have a HipChat room for "Daily Updates" and an automatic reminder that notifies everyone to post what they did yesterday and what they plan on doing today. That's it.

Most people post by noon, and the manager has a written log. It's been working well so far.

datalus 8 hours ago 0 replies      
We run stanups at my place. Everyone keeps their time to talk brief as possible and we have a rotating leader to keep people out of the weeds. It works out quite well, so I agree strongly with the article that stand ups are not a waste.
kposehn 11 hours ago 0 replies      
I'm inclined to agree that Standups can be quite good.

Every morning we have our meeting which maxes out at 15 minutes. The designated note-taker rotates daily and takes the list of current action items to be added to RedMine.

The biggest difficulty was fairly simple actually - removing digression from the mix and also removing things we've completed from the meeting.

There are no side conversations while stuff is being covered, and every day we sum up what we did in a company-wide email. Other subjects happen offline between relevant parties. This has been remarkably effective for us :)

philwelch 6 hours ago 0 replies      
Standups, when well done on a healthy team, aren't poisonous. But I've found that they're rather pointless as well. If you have enough unforced communication in your team, you don't need the standup.
Zigurd 10 hours ago 0 replies      
If your standups are bad, there are things other than the standup that are going wrong:

If it lasts too long, the person running it has lost control

If it ends up berating a coder twice a day, every day, regarding a multi-day implementation task, the person running the standup is an incompetent project manager

If, as others have given examples of, people zone out, or become unconfortable, the project has become toxic and the standups can't fix that

If standups adhere to dogma more than they solve problems, the person running them lacks critical thinking skills and knowledge of project management techniques

djhworld 10 hours ago 0 replies      
I'm a developer and not really a fan of standups, I find them monotonous and dull and often "zone out" after I've said my bit, but I can see how they are useful to management.

The problem with standups at the company I work for is our team work on multiple projects so standups end up being just "I'm working on project X and it's going well, no blockers, cheers!" updates from everyone in the circle.

Standups are probably better for teams working on a single product as everyone has a stake in what's going on

knighthacker 10 hours ago 1 reply      
I appreciate the author taking the time to write the article, but my opinion is that the whole purpose of a daily standup is to open a line of communication between team members. Well, if you have this line of communication open 24 hours, emails, chat (xmpp, irc ..etc), phone, and so forth, why do I need to wait till tomorrow afternoon for the scheduled daily standup to talk about a blocker in my code?
tosh 11 hours ago 0 replies      
Regarding the usefulness of standup-meetings I've written a blog post on how we do them at Blossom:


If done well they can be a great facilitator. Just make sure it fits your culture.

static_typed 4 hours ago 0 replies      
Standups are a symptom of a failing software engineering disease called 'Agile', which is the real toxin to the system of all healthy developers.
notjustanymike 12 hours ago 1 reply      
Holy crap, he has 3 hours standups? They're called "STAND UPS" because you stand while giving them so that you're motivated to be quick! I actually try and follow the one-breath rule for what have I done, what am I doing, what are my blockers.
orangethirty 10 hours ago 0 replies      
One on Monday before I start and one on Friday before I leave. That is how I do it and it works.
grevutsky 11 hours ago 0 replies      
When I first started doing standups, mine were longer than necessary. But as I got more comfortable and the team's workflow jelled, I've gotten better at being concise.
je42 12 hours ago 0 replies      
I am wondering where you guys draw the line between a standup and a status reporting meeting ?
guiomie 12 hours ago 1 reply      
"Gareth Rees' article titled, Standups are Poinonous hit HN" ... I stopped there.
sareon 12 hours ago 3 replies      
What's a standup? I didn't see it defined in either post.
Show HN: Transfer files between computers using WebRTC rtccopy.com
63 points by erbbysam  13 hours ago   39 comments top 10
aviswanathan 11 hours ago 6 replies      
One of the coolest implementations of WebRTC is a project my friend launched called PeerCDN (https://peercdn.com/) - basically allows you to reduce bandwidth costs by leveraging the resources of active users on your app.
jodrellblank 4 hours ago 1 reply      
ianlevesque 12 hours ago 2 replies      
This is neat. I've been meaning to do something like it myself for fun. I'd be far more interested in one that just let's you drop a file and gives you a URL for your friend to visit with no other steps. Having one of these services that does the transfer directly peer to peer without accounts or setup steps would be great.
plaes 12 hours ago 2 replies      
How about testing the WebRTC availability straight on the frontpage?
leeoniya 12 hours ago 4 replies      
any specific reason why it's chrome-only?


thomasbk 10 hours ago 1 reply      
My Chrome tab crashed when I tried sending a 440mb file!
duaneb 11 hours ago 2 replies      
Is this an encrypted/secure connection? I don't see how without certs.
pbhjpbhj 8 hours ago 0 replies      
Opera Unite was trying to do peer-to-peer centrally indexed file sharing as part of their offering I think (http://unite.opera.com/application/132/).

I blogged about it back in 2009 anyhow (under the self-effacing title of "Opera is about to change the world?!"!).

ianlevesque 12 hours ago 0 replies      
I suspect the same reasons outlined here: http://peerjs.com/status
scotty79 11 hours ago 1 reply      
Could you make it work on Chromium on Linux?
Why Prioritize SENS Research for Human Longevity? fightaging.org
63 points by reasonattlm  12 hours ago   20 comments top 9
reasonattlm 10 hours ago 0 replies      
Also worth noting for this audience, I suppose, is that Peter Thiel has provided significant support for SENS research. See, for example:


The Bay Area is a hub for aging research in general - there are a number of important labs nearby (and more in LA), and the SENS Research Foundation has its research center there. That whole highly networked group of people merges at the edges with the tech entrepreneur community and the life science entrepreneur community in the area. See this grassroots group for example, as representative of the overlap, that runs salons and meetings at Y Combinator HQ:


cantrevealname 2 hours ago 2 replies      
There's a super-fundamental discovery about ageing--and a possible "cure" to ageing--that longevity researchers seem to be WAY TOO cautious in discussing and pursuing.

These are telomeres.

Telomeres are a DNA pattern that sets a hard limit on the number of times a cell will divide (and thus repair itself). When the limit is reached, cells stop dividing (then accumulate damage and age). The limit for humans is something like 70 cellular divisions if I remember right.

If you can find a way to lengthen or reset telomeres, you'd have cellular immortality.

The first time I heard about it ten years ago, it blew my mind. To me, this is the biologist's equivalent of a proof that P=NP would be to a computer scientist. I expected enormous interest and research into this, and billions of dollars poured into it, but I'm amazed that it hasn't happened and most people still have never heard of telomeres.

Why isn't there an Apollo-mission-let's-devote-the-resources-of-the-whole-country effort into this? I think it comes down to fear of researching or financing anything with the word "immortality" in it. You'd sound like a crackpot even though the science is sound.

A brief intro on telomeres:

kanzure 11 hours ago 0 replies      
SENS is worth reading about in the broader context of longevity research. Here are some things I've enjoyed reading on this topic: http://diyhpl.us/~bryan/papers2/longevity/
ari_elle 6 hours ago 1 reply      
Some interesting material on Aubrey de Grey, the former Computer Scientist, now Biogerontologist behind SENS

[1] TED 2007 - A Roadmap to end aging

[2] TedMed 2009

[3] Documentary: Would you like to live forever

[4] Book: Ending Aging: The Rejuvenation Breakthroughs That Could Reverse Human Aging in Our Lifetime

I also wonder if he is on calorie restriction [5], i think it's quite possible

[1] https://www.youtube.com/watch?v=8iYpxRXlboQ

[2] https://www.youtube.com/watch?v=hgLRhxvRlKg

[3] https://www.youtube.com/watch?v=2YNTMrarUBE

[4] http://www.amazon.com/Ending-Aging-Rejuvenation-Breakthrough...

[5] http://en.wikipedia.org/wiki/Calorie_restriction

whatshisface 11 hours ago 3 replies      
SNES appears not to be a technology, it's a research group.

Humorously, I can't find where on their website the acronym is defined.

Also, most of the pages in the research section advise us to read Ending Aging, a book written by the foundation's "Chief Science Officer".

jostmey 10 hours ago 0 replies      
"After advancing beyond the normal reproductive lifespan, the selective forces of Mother Nature abandon us like a delinquent parent abandoning a crying baby. She leaves us alone, scared, and subject to destruction from disorder."


juskrey 10 hours ago 3 replies      
Prioritize ban for selling sugar, and you will see longevity jump with no effort of super-whooper-money-sawing-science.
standeven 9 hours ago 0 replies      
It's rather mind blowing to consider the effects on society if an affordable way of doubling our lifespans is found. Talk about disruption.
devNoise 11 hours ago 0 replies      
It took me a momemt to realize that retro gaming wasn't part of this research.
       cached 31 March 2013 04:02:01 GMT