Hacker Newsnew | comments | show | ask | jobs | submit | hcarvalhoalves's comments login

tuple collision (in this particular case, quadruple collision if you have 4 slots).

http://en.wikipedia.org/wiki/Tuple

reply


React is not a framework though.

-----


Explain to me how to do diff/patch then.

-----


It's a view generation library, not a DOM-diffing library. That's like asking how to rotate a subtree in an RB tree library.

-----


> view generation library

If it were simply a view generation library you could use a dom-diffing library to diff it. But React does full lifecycle management in addition to "generation".

The fact that you can't use React along with other libraries in the same space means its a framework.

reply


your screenname is exceptionally prescient

-----


> Multiple studies indicate that the presence of the two phenotypes "lactase persistent" and "lactase non-persistent (hypolactasia)" is genetically programmed, and that lactase persistence is not necessarily conditioned by the consumption of dairy products after the suckling period.

https://en.wikipedia.org/wiki/Lactase_persistence

-----


From what I understand:

Darwin's theory of evolution (by natural selection) is called a theory because it's a possible model (maybe / maybe not directly observable), but that life forms "evolve" (undergo change) is an observable fact.

-----


No, the "theory" means "explanation", nothing more, nothing less. Just like "the theory of gravity". Or tide - we all know what tide is and how it happens, and if you explain how it happens (physically), you might call the explanation "the theory of tides" [1].

[1] http://en.wikipedia.org/wiki/Theory_of_tides

-----


That's not a performance optimization, you're supposed to implement "shouldComponentUpdate" on React components. Not sure what you mean by "spending time fighting the framework" either, it's one line of logic.

In case you missed the point of the article: it's not that you have to implement that method, but that you've to be careful implementing it because JS has mutable objects by default.

Also, when he's talking about "render" it's not a simple rasterization, it's actually manipulating the document tree and triggering a layout engine. Apples and oranges. If he wanted speed he could render his graphics on a canvas, then your 1985 comparison would make sense.

Let's educate ourselves about the subject before venting?

-----


The "we have no managers" thing is kind of a lie. You put 10 people together in a room and a leader naturally appears.

I think the point of the flat management structure is not having leadership roles cemented onto an employee job title.

-----


Someone who comes out as a "natural leader" should be a good thing, no? It means people who shouldn't be leaders, cannot assume the position without turmoil. (in theory anyway)

-----


Not everyone who thinks they are a "natural leader" should be given that sort of power.

It can be a recipe for a loudmouthed strongman to drive a group over a cliff. Better to have groups of people who know and trust each other and who have a common task to guide them.

-----


Remember that at a flat company, you don't have to stay on the bus with the loudmouth. You're free to leave any time and do something else, or even work on the same thing in a different room. Get enough people to do this, and the loudmouth stops being a problem. If the loudmouth continues to fail, his performance will be an issue and he might be fired.

Contrast with a traditional company where the loudmouth is a manager, you're not allowed to move your desk, and dissent (like working on something else, or ignoring the guy) leads to HR action.

-----


> You're free to leave any time and do something else,

Unfortunately the loudmouths will remember this come review time, and obtain their vengeance.

Flat companies seem to drive people to do highly-visible hero work to ensure they can garner enough positive reviews, rather than the quiet but essential work that leads to 'dunno what he did all year, requires improvement'

-----


Once, I tried management in a traditional "tree" company for a summer. Among my reports were two individuals, one of whom was a pretty good coder who didn't want to talk to anyone, the other was an utter incompetent who could barely speak English (I have no idea how he was still employed). Both worked with closed doors and neither talked to anyone, and neither of these guys did very well on reviews [which I wasn't involved in, since I was just a substitute manager].

You didn't want to be either one of these people when the layoffs hit. Your own manager might go to bat for you, but nothing says "keeper" to other managers like a nice string of public and visible wins.

If nobody knows what you are working on, that's a problem in any company. It's probably worse in a flat org, but it's still bad in a tree.

Self promotion is necessary, at least to some extent. You could be a great engineer but in a tree structure you're going to get passed over for interesting projects because nobody knows what you can really do. In a flat org you'll ideally get feedback that you can work on before your ass gets fired, but you can't count on it.

-----


It's 50/50.

A natural leader is someone who shows experience, competence or ability to coordinate and resolve conflicts, so it's bound to be respected by his peers.

On the other hand, the leadership can be disputed at any time (because it's a situation, not a job title), creating some toxic environments, specially if tough / unpopular decisions have to be made.

-----


People can become leaders and then turn out to be bad for the group. It's also harder to hold non-official leaders accountable and to make sure the not-so-glorious aspects of management are taken care off.

-----


I always found this a strange concept - I had to give examples of when I displayed leadership skills when applying for jobs fresh out of university. I personally find if I am the most knowledgeable on a subject then I will natural assume a kind of authoritative role on it. Otherwise I am happy to sit back (not saying I do nothing, but I will let other people take of the "leadership" role).

People who consider themselves "natural leaders" (usually pushy loud types) are unlikely to be the best person to be leading many, if not most tasks.

-----


The problem with natural leaders is they end up having to make decisions "above their pay grade". The risk of the decision going badly is not factored into their compensation providing very little once give for leadership other than " I can't stand the leadership vacuum and will fill it myself if nobody else will".

I say this because personally I fall into the latter category. I've stepped into plenty of risky roles because no one else would do it. The rewards for doing so were nonexistent.

-----


You put 10 together people in a room, and a manager, and a natural leader will still appear... and help everyone else work with the manager.

-----


You put 10 people together in a room, and say no one is in charge, and one person will realize that means they can be in charge.

Is that the "natural leader" or someone who wants power?

-----


Because it's a sure way of getting a RSI? I've used of the thumb type and it was awful, couldn't stand a week.

-----


the thumb type cured me of rsi. i swear by them ... can't go back to the dragging type.

-----


The MS Explorer trackball had a large surface area, was located at the top and could be used by multiple fingers or even the palm.

-----


Some bullshit in the article. Kicking the groins is not only encouraged but effective on self-defense. All traditional martial arts have groin attacks.

The article is only talking about "dominance" fights, and in this case not hitting low is about not fighting dirt, and it exists so people don't keep going back for revenge in an endless retaliation cycle. If two men square off and one wins clean, the conflict is settled.

-----


Yup. Any decent self-defence training will include attacks to the groin. The advice is usually to swing hard and, in the words of my old ju-jitsu instructor, "obliterate their junk".

If you can land that kind of a hit, you'll have a great opportinity to run from the assailant.

-----


Another issue is that while you swing a leg to kick someone in the nuts, you are far more open to being kicked in the nuts.

-----


Interestingly, I was taught the opposite - that because men are hard wired to protect that area (and it's easy to protect) the groin is a good target of opportunity, but other targets like the head (eyes, nose, throat) or solar plexus are likely to be more effective.

-----


> that because men are hard wired to protect that area

It amazes me how fast my body can respond to a nut shot whereas I can't even catch half the time. Anytime someone's gone for my groin, (and it's only ever been women) my thigh has moved to deflect the foot/knee without my even noticing.

-----


Strange logic. It's much easier to take someone out with a groin kick than any kind of head hit, specially if you're not a boxer.

Kicking the groin requires almost no technique. If you just aim at the inner thigh and kick upward as hard as you can, inevitably you hit the groin. If you're close, you can knee. Hitting someone's eyes or throat enough to incapacitate, on the other hand, isn't nearly as easy.

Groin attack is a recurring theme on Karate, which emphasizes bare hand fighting, and in Muay thai it's almost a primary target. That's how effective it is.

-----


As you suggest, there is a big difference between self-defence and two manly (but somewhat inebriated) men going out to the carpark to prove to each other and everyone watching that they are manly men who do manly men things.

-----


Fight cultures are about establishing pecking orders, not about finishing someone off. The easiest way to find out if you are in a fight culture is to try fronting. If this gets you out of a fight, you are somewhere fairly normal, however if you are in a fight culture, you will be immediately jumped on by people who are overjoyed at finding somebody else who is up for a proper barney.

-----


Since the drone was undetected, they could've have informed the ground patrol of the convoy heading their direction, kept the choppers in the air, followed the convoy, and acted as soon the supposed terrorists engaged. If the convoy really headed the patrol direction, they would even have intel from the ground.

The problem is that you have here a military force doing the equivalent of police work. They are on war mode, shoot first ask later, be on the "safe" side, which is incompatible with how you're supposed to work when you have civilians everywhere.

If civilian casualties mattered as much to high command as troop casualties (and it should, not only for humanitarian reasons, but also political), the decision making would be different. The US has one of the best military in the world, they have the technology and the means to avoid collateral damage, what they lack is a change in culture if they're going to act as a peace force.

-----


Popular, but an anti-pattern. People start including production configuration as a module inside the build.

The Right Way (TM) is loading from env vars.

-----


By "inside the build" do you mean in the git repo?

Because there isn't really a such thing as a "build" for a Python web app, it's a dynamic language. It's not like Java where you'd have to recompile the whole app if you packaged your config inside the compiled jar.

In Django apps, there's an env var called DJANGO_SETTINGS_MODULE that points to one of multiple settings.py files, and you change that var depending on which environment you're working in. Then typically you also would want to store individual variables that need to be secure (stuff like any secret keys and database credentials) in env vars, but the overall structure of your config is just a python dict in settings.py.

For reasons that Yegge touches on in the blog post I linked above, you really want a tree structure for configuration of any complexity, and env vars don't provide that.

-----


I think he means that the configuration file is on the library path is read using an import statement rather than parsed explicitly from a standard path like etc/.

-----

More

Guidelines | FAQ | Support | API | Lists | Bookmarklet | DMCA | Y Combinator | Apply | Contact

Search: