skysight-inc/HackerNews huggingface dataset:
During my 14 years in Silicon Valley I haven't met any successful founders that I'd characterize as mean. Lots of them have come across as sociopathic and ruthlessly egoistic, but that's something different. They've made their way to success by looking at the economics and optimizing for themselves. If this meant manipulating, lying and breaking promises to cofounders, employees, customers, investors, etc so be it. But... I'm not sure even Steve Jobs was mean; I think he was extremely hard on people because that was the best way he knew to get the results he wanted. I never met him.

Anyway, it seems to me that most people (at least here in the west) would vastly prefer a product created by people that operate with integrity, humanity and decency to one created by dicks all else equal. And that a slightly inferior product can beat a better one out by having a better more positive story behind it.

I think there are already economic incentives for founders to behave well and that this trend will continue. The employees and customers talk freely on secret, glassdoor, etc and I think it's critical to realize that if you don't operate with decency and good values people will a) know about it, b) make purchasing decisions based on that, c) take that into account when considering employment.

I think companies will increasingly make an active effort to (if nothing else for purely financial reasons):
a) operate with decency and good human values
b) protect and elevate the company and it's people by making this clear to the public
> That means it's not containerization, but virtualization.

See above response.

> This hardly compares to the Docker world which offers a intermediate build system (edit: Spoon has a build system however), rich command line tools (edit: it does provide some command line tools) to work with images and containers, fast spin up times, and an ecosystem of container management tools.

The Spoon build system and command line tools superset Docker functionality. And Spoon does have fast spin up times and very low overhead. And Spoon does provide container management tools (Spoon Studio and Spoon Enterprise Server), although these are currently more oriented towards desktop applications vs server applications as with the Docker.
Is git/mercurial poor version control in your opinion? OP demonstrates exactly why. imagine a block with 25 variable assignments. All variable with 3 letters now you add a variable with 4 letters. You have to edit the 25 preceding lines with a space to accommodate the new letter. Now all diffs from here to eternity spew this out.

Not to mention you've now greatly increased the surface area for merge conflicts. I mean what if someone else added a 5 letter variable?
Indeed, but from context it seems pretty clear that Graham is using "mean" to refer to the attitude and tone of one's interaction with others, not one's generosity with money or resources.
Why are you arguing against clear code that tells what you are doing? Imagine if you used a library with a function called sortAlphabetically that didn't sort items alphabetically, it wouldn't make sense.

Regarding the alignment, there will be situations where there will be multiple similar lines of code that would benefit from being blocked together with vertical alignment. Not only in the case of temporary local variables. Imagine a situation where a bunch of constants for an API are defined as such:

#define kURLAPIBase @"http://google.com"

#define kURLAPIGetUser @"/getUser"

#define kURLAPIGetPosts @"/getPosts"

There are numerous possible situations where things like this can occur. You seem to be arguing for the sake of argument here.
The History of Sitting Down (1967)
Pretty good work for a 12 year old. I'm assuming he's 12 because most people grow out of this kind of humour early in the teens.
This is the dbus post I'm referring to: https://news.ycombinator.com/item?id=8648437

Here's a nice quote right from the doc you linked: The D-Bus protocol is frozen (only compatible extensions are allowed) as of November 8, 2006. However, this specification could still use a fair bit of work to make interoperable reimplementation possible without reference to the D-Bus reference implementation.

The fact that you even NEED a (crappy) doc is a sign it doesn't use the Unix design philosophy.

In contrast, look at the Debian Control File format, which apt metadata is stored in. I parsed and wrote a dependency resolver for it WITHOUT any reference to docs. The format is self-documenting text.

X is Unix style in the sense that you can plug in different window managers, but not Unix style in other ways.

Shared library extension modules (e.g. Apache, Python, etc.) are not "classic" Unix. Classic Unix simply didn't have shared libraries (or threads). Plan 9 and Go explicitly have this heritage; they don't support shared libraries.

Apache is Unix style because it uses stable protocols between application and server, like CGI, FastCGI, etc. It also uses textual logs, unlike systemd.

I would also argue that systemd encompasses more diverse functionality than either X or Apache, which is saying a lot. The bigger a system is, the worse a monolithic architecture is.

But you're right that modern Unix doesn't follow Unix style in many ways. I am not arguing for purity -- shared libraries are useful, and graphics don't fit well within Unix style. But I do think it is worth understanding the Unix style, for very a practical reason. That reason being: you simply end up with less code when your systems are modular and composable.
Crash course in licenses for a lot of people, I don't know if Yahoo should be blamed for using licenses correctly.

Though it seems kind of under-handed that they're going to essentially forcefully profit from their own users. Why not give them 50% just out of good will? I would be very surprised to find out that Yahoo is depending on 100% of the cash they're getting from the sale of these photos (I'd imagine they have more lucrative pursuits)...

Also, this is probably an opportunity to create a site that caters to flicker users and allows them to sell their prints to people. And if you take only a small cut of the profit (let's say 10%) for access to the printing resources, you can make a lot of money.
Do you believe that competition is inherently "mean"? If you choose not to compete at your highest level and in turn are out-competed, what did you accomplish?
See corrections above.
I personally believe that Minecraft-complete worlds can never become boring. People forget, and the complexity allows for unforeseen things. And I also don’t believe in the solution to Fermi Paradox that sufficiently advanced cultures disappear in virtual realities. There is always something special about the physical world where all things can terminate irreversibly.
The two are not contradictory -- one technology enables another. See detailed response above.
No big criticism implied, but some of us like to see the abstract, first. So here's the link to it:

http://arxiv.org/abs/1410.4615
I can't relate to baseball but I notice a common pattern that applies to most fields.

You are told to do the basics over & over again so you:

a) Learn the motions

b) Learn how they work

You can't successfully apply your knowledge/tools/skills without knowing what makes them tick.

Let me phrase that with an example from my past. I was big into Starcraft at one point in my life.

Started with SC:BW. I was terrible back then, doing builds like an automaton following a recipe - I lost as soon as someone stepped out of the cannon and did something non-standard. Why? Easy. I had the mechanics but was missing the know-how on what made them work and how to apply them.

Instead of going that route I started to watch better players. They quickly diverged from the builds - enlightenment came when I noticed that they were playing reactionary. They observed their opponents and made decisions.

Why am I expanding now? Not because the build says so but because my opponent invested in tech so will not have the resources to pressure my new base etc. The basics are important, if you have your mechanics down then your mind is clear to react and just execute the movements to achieve the goal you want based on what you observed.

It works the same with programming. If you're stumbling with language syntax, your framework - the basics. You will then loose a lot of time hunting small issues and constantly loosing the big picture. When you're basics are down you are free to experiment and will notice patterns that beg you to apply one of the basics you learned.

Some problems are specific, fall into the 'what data structure, algorithm' should I use. Some are structure/flow related - how do I make those two things connect to each other and pass data around. Some are new - but they all mingle and repeat themselves very often.

When you read a lot of code, write a lot of code - you will start noticing the patterns. In the worst case scenario - knowing the basics will make it easier for you to ask better questions/find answers to hard problems faster.
okay but how does this save computing time?
computing random matrices is not faster than (implicitly) transposing the weight matrix.
so it only has philosophical implications, right?

Ok, got it: It will simplify the approach of how to create hardware based neural networks! no more complicated look-ups of the transposed weight matrix needed.
I was writing from my experience, which includes SF and NYC more than London (it's been well over a decade since I was in London).

His thesis was that travel has become a token of narcissism for Westerners ("idea has seeped into the West’s worldview"). He even describes a Canadian couple who he believes fits this description at the end.

My reply is that maybe that's the case in big cities, but that travel off the "beaten path" is relatively rare among most Westerners, at least in the US.
We've added information in the docs to address some of the confusion revealed in this thread.
There is also clearly something fishy going on there. The only way you get to pay $500 is if no one else offers to pay more than that, i.e. the market value of the house is only ~$500. For a dilapidated house in a bad neighborhood that is entirely possible, but then why are the taxes on such a low value piece of real estate so high that the occupant can't afford them?
Ok wait. So the guy paid $3500 to clear $14,000 in back taxes, right? Then the person who owed the taxes paid him $7000.

Why couldn't the owner just pay the city $3500? Or even the $7,00 she paid to the other guy?

Why is the city willing to take $3500 from a random person but not the owner?
No, I'm just making a point that being harmful or even cruel doesn't make someone mean. It's just a different kind of thing.
No, they're selfish for not sharing their experiences of the wonders of the world with those close to them.
I found a great salesperson while being one of two engineering based founders.

I found the sales guy through another engineer, all it took was me asking a lot of people if they knew any sales persons willing to help me.
Sorry, I was actually referring to your career as all-time HN karma leader! I have a lot of respect for your ACTUAL career, don't get me wrong.

While I have your attention, could you take a look at this: http://substack.net/offline_decentralized_single_sign_on_in_...

BTW, there's enough of us idiots out there that we're not going to stop until we've figured this out! Being able to ship a decentralized version of say Facebook or Twitter that runs in the browser and allows people to manage their own private keys (aka, manage their own digital identity) is incredibly motivating. I don't trust platforms like iOS or Android to not shut down certain kinds of apps and I don't think my mother will ever be running an open-source OS on her tablet.

I have to say that I definitely lost my shit in this thread... and I'm sorry. I have a tendency to get emotional about this kind of stuff because the politics are a big part of what motivates me to build these kinds of things. I take these hard-lined stances against browser javascript as an assault on my principles for digital identity but also as a creative individual who strives for a positive and constructive environment.

That doesn't justify me calling people names. Especially if I'm going to be talking about the means not justifying the ends... ugh...

However, I do think that articles like this are very close to being out of date: http://matasano.com/articles/javascript-cryptography/

The Web Crypto API alleviates a number of these issues and novel uses of application caching manifests seem to solve the issue for good.

Check out this article, especially Gotcha #4.
http://alistapart.com/article/application-cache-is-a-doucheb...

So in this case we've got an authoritative article that says "never ever far-future cache the manifest". And we've got an authoritative article that says "never ever do crypto in the browser".

Both articles take a pretty heavy handed approach and don't really set out to explore the deeper possibilities. They both kind of set out to create an environment where readers will also not question these principles for fear of being made look like a fool in front of their peers.

But the fundamental hacker ethos is to read articles like this and say "the intent of the APIs and authors be damned, I have other considerations!".

Anyways, I'd really appreciate your thoughts on this stuff... all of, including what I and a number of other people perceive as a toxic environment for creativity related to cryptography and infosec.
Thanks for this. I think this is a large part of my problem. I don't know how to do fundamental things, such as set up an index route with Express, or how to use a templating engine with that to display dynamic text, or how to use a database to store that dynamic text.

I think your comment is a more direct way of saying what a lot of people have said: Break it down into smaller problems. You can go through each smaller problem and solve it, then move on to the next, until you're done. Once there, you'll have learned how to program. Or I should say, I will have.
Because eventually you can look at a person and their history, zoom out a bit, and see the forest without the obstruction of trees. Sociopaths are effective manipulators, but don't form close relationships outside manipulation; they're impulsive and often irresponsible, which is why it's actually rare for them to be successful; when they are successful, you'll see a lot of individually maybe not-that-remarkable things blur together into a trail of broken lives left behind in their wake, and you can see how this person is truly not human, because they lack the most human thing of all -- empathy.

But, meeting someone for the first time, all you see is a charming smile, a warm handshake, and a nice, brilliantly intelligent person.

It should also be noted that many sociopaths also just end up in prison, because they're impulsive, don't care about others, and manipulate people, which can end very badly in most cases. It's not like sociopathy is a superpower; on the contrary it is a massive deficit. Most CEOs are not sociopaths, but the fact that the ratios are so screwed up is illuminating, because it tells us about our society more than anything else: we have optimized empathy, and the optimal amount is zero.
Awesome comment, I've read it multiple times.
I simply pointed out that the behavior of a sociopath is not defined by being nice but by self interest. That isn't controversial. So pointing out the kind, self-interested things a sociopath does is not meaningful in judging their character.

That's a general principle, I don't know about the particular cases you allude to.
> I tend to forgive this, though, because underneath it all we are simply simians with shoes, jockeying for social status and sex.

People who say this seem to be the same kind of person who would ultimately ascribe most human behavior to being about simian behavior. Which makes using that fact as an excuse (or, forgiveness) seem like a weak proposal, since it would effectively excuse most human behavior.
How exactly did Microsoft hold back the internet?
No. One of the original founders and their original designer / head of product are not on the list as they have both left the company.
Apparently PG's essay can use some reflection, and
there are a lot of perceptive, well written posts in
this thread.

Maybe one of the main points in several of the
comments in this thread is very old:

And oftentimes, to win us to our harm,
The instruments of darkness tell us truths,
Win us with honest trifles, to betray's
In deepest consequence.

-William Shakespeare, Macbeth Act I, Scene iii

For something deeper, there is the classic Erving
Goffman, The Presentation of Self in Everyday Life
with a good summary at

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

The main point is that some people in how they
present themselves to others, "in everyday life",
put on an act something like in a stage play or
play a role and where the act/role is not who they
really are but, under the circumstances, to
manipulate others.
Hm, yeah, I agree.
Thanks @virtuallynathan, @sargun, @tw04.. Yes indeed the fabric switches in the MDF appear to be Arista 7304.. Once you know the numbers your looking for you can work backwards to calculate appropriate aggregation.. We know we need 192 (40GE) ports for the ToRs and 192 for the Spine. In the photo it looks like 60 Ports are wired per switch but at a max of 128 40GE ports, we would need 3 fully loaded chassis per server Pod. (about 285 for 95 Pods) The real trick with Fat-Trees are that you do the port reservations up front and you build out the wiring plant knowing your upper limits to avoid mass rewiring tasks.

@sargun as you point out there are large scaling challenges with L2 networks due to the flat addressing and ON^2 learning required (even though there are plenty of hacks in place here). There are also almost limited or difficult to scale policy controls for L2 networks making them hard to build differentiated services. We have known for a while that L2 networks do not scale very well but have been restricted by the need to support link-local communications due to legacy applications. Once you take this fundamental constraint off the table, L3 networks offer a far superior solution even though there are still challenges with isolation and mobility.

That being said, I don't believe Facebook builds applications that require link local non-routeables or requires an affinity between applications and the faux host identity (e.g. the IP Address). As you point out there is a tight coupling between the mac address, IP Address and Point of Attachment due to a flawed model which has existed since IP split from TCP in version 4 of the protocol (i.e. the one common in use today). All of the monkey-patching (i.e. Trill, SPB, LISP, VXLAN, NVGRE, etc..) has been to deal with this flawed model.

For those existing application that do suffer from this affinity the solution de jour has been to use encapsulation protocols (i.e. network virtualization) to solve mobility (Loc/ID split) while also improving isolation by adding a new network namespace (e.g. ContextID, VNI, Switch Name, etc... This actually could have been avoided if we hadn't lost the inter-networking layer of the stack (see John Day's work for an explanation).

Just because you build a Fat-Tree network as devised by Charles Leiserson based on Charlie Clos, you have to realize that because of the statistical nature of communications, shared resources and pathologies related to out of order packets, saturating the bi-section is extremely difficult.. Some studies show that latency goes exponential at just 40% offered load. In building any network the ability to maximize throughput is dependent on the topology first, then routing and flow-control.. Fat-Trees are designed to maximize the bi-section for worst-case pairs-permutation (i.e source communicating with each destination across the min-cut..) and such can waste a proportion of the capacity of the network depending on the workload. Again, a longer conversation :)..
Your least favourite thing is having to {apt-get|yum|pkg|whatever} install somelib[-dev]?
If the current residents can't afford the property taxes, they need to relocate. On a personal level is very unfair, if its unfair at a societal level, we can debate. But the reality still stands- If you can't pay your property taxes, you need to move. It is a financial imperative.

For Detroit in general, these pejoratively described "gentrifiers" could be the best thing to happen in a long time. What kind of failing community would not welcome an influx of affluent skilled workers--- A boom of these kind of folks could even ignite the local services industry and provide jobs for the remaining lower skill workers.

I feel for these people on a personal level, I really do. But I don't see how ignoring economic realities is going to help them or their community long term.
> Property taxes could be eliminated and other taxes raised for a revenue neutral solution.

The perfect solution for this is to eliminate both property tax and the mortgage interest tax deduction and let them cancel each other. For most people it makes no difference, but we stop kicking little old ladies out of the homes they own just because they can no longer afford the property taxes.
It worked particularly well for Pyramid with it's resource hierarchy object-model. The ACL would cascade down the tree and as it was traversed it could pattern match the permissions against the tree-node acl.

I actually think the model it's better suited to a functional language. I'm working on a similar extension to the Haskell snap framework.
I've been programming for a couple of decades commercially, and for three decades overall, and I've found that whether you use or don't use a particular code 'style' matters little for readability and maintenance purposes compared to how well the source is architected and the system designed as a whole. The eye and brain can 'deal' with a lot of different spacing and alignment automatically; OTOH, working out how the code holds together, what data is changed and when, etc, takes real processing power. I'm not worried about expending tiny amounts of thought and processing energy, only lots of it.

In the general case, find a coding layout style that seems reasonable and go with it; if you are working with others this will probably mean looking at the established code base and extracting the important style elements. Time is short; spend it on more important decisions about software structure rather than deciding what bow tie it's wearing that particular day.
I'm based in the middle of friggin' nowhere, New York (State). Not many good programmers around here. The nearest big city is Albany, which I'd bet has some, but I'm not really in a situation where I can go there to meet up with people.
I thought you had to explicitly pick a license when uploading to flickr, I guess the photographers in this article must have randomly clicked on a non-NC CC license without understanding their actions? It's not like this is hidden away in some 100 page T&C?
I won't dispute any of the article's technical points, and I once used attached signatures for similar reasons.

But I will point out that attached signatures are unusable because you get never-ending replies from people asking what the file you attached is, why can't they open it, is it a virus, did it cause this computer problem of theirs, etc. Yes, theoretically there will one day be sufficiently clever email clients, but it's been something like twenty years and there has been nearly zero progress.

With inline signatures I could add a comment that said "If you don't know what this is, it's OK to ignore it".

Technical merits are meaningless if human factors make a security feature too confusing or hard to use. For proof of this, run 'man gpg' and then look at what percent of your inbox is signed/encrypted.