Replacing Middle Management with APIs - <AUTHOR> http://rein.pk/replacing-middle-management-with-apis/ <comment><USER4> I'm not dismissing this line of thought, but realize this probably already exists, and has existed for 100+ years.

When I graduated college I started out as a mechanical engineer, sometimes going down to the factory to work on new design issues. There was a constant source of friction between the 22 year old mechanical engineers and the 50+ year old factory workers. Here are a bunch of skilled guys that have been building the product for 30+ years, and they in essence often have to report to kids half their age right out of college that don't know a thing. There was a pathway up through the factory, but there was no pathway across to engineering without getting a degree.

If you were a smart engineer, you realized that these guys had an enormous amount of knowledge - more than you could ever hope to get out of a simple degree - and that they were worth listening to. If you were a cocky, dumb, engineer you ignored their opinion.

The solution in the past to this problem has been unions. The startups are moving a bit too fast for the unions to catch up, but in all of these recent 'What happens when everything is Uber?' posts written by engineers the role of unions, politicians, and large masses of affected people seem to be ignored.

<comment><USER5> > The solution in the past to this problem has been unions.

How? Does a union provide a path from the factory floor to being an engineer without needing a degree, or... what?

I honestly don't see how unions would even be relevant here.

<comment><USER6> Unions negotiate for better wages, stable hours, and benefits. Often those benefits include tuition reimbursement, but the other things are just as important for establishing a predictable career path so that factory work can be a step to something else, if you so wish it to be.

<comment><USER7> Unions do nothing to contribute to productivity (in the broader economic sense). If anything, they are a hindrance to it.

I would rather see a focus on a "union" we already have on the scale of entire states or the entire country called the legislative process. Through it we can argue for basics like guaranteed livable income (so you have the time to better yourself), universal healthcare (so you're not always one accident or sickness from being destitute) and a high quality educational system. A livable income, healthcare and education are the foundation upon which most other opportunities rest.

<comment><USER8> > If anything, they are a hindrance to it.

Yes, by doing things like get us the 8 hour working day (parts of what is not the AFL-CIO were the largest driver for that, taking decades, and having members die in the process, and leaving us with May 1st as the international day for labour demonstrations as another direct result).

Productivity is not a measure of the success of a society.

<comment><USER9> _by doing things like get us the 8 hour working day_

How do you figure? To me it seems that most of the union jobs were simply automated away, moved to third world countries, or heavily supplemented with illegal immigrant labour. None of those arrangements maintain an 8 hour working day limit.

The remaining positions are generally high-skill or based on independent contractors. No wonder they command higher wages and have better working conditions.

Unions rode the tide of technology and globalization but didn't actually cause it.

<comment><USER10> [https://en.wikipedia.org/wiki/Eight- hour_day](https://en.wikipedia.org/wiki/Eight-hour_day)

<comment><USER9> From your link,

 _Although there were initial successes in achieving an eight-hour day in New Zealand and by the Australian labour movement for skilled workers in the 1840s and 1850s, most employed people had to wait to the early and mid twentieth century for the condition to be widely achieved through the industrialized world through legislative action._ [And many other countries followed the same trajectory.]

How come? I'll take a guess: because it was only made possible in practice in the 20th century by a sufficient increase in productivity, mainly through automation but also economies of scale. And as the process continued, those jobs went away completely.

[https://en.wikipedia.org/wiki/Post_hoc_ergo_propter_hoc](https://en.wikipedia.org/wiki/Post_hoc_ergo_propter_hoc)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I have been thinking about this exact thing for a while now.

With Decentralized Autonomous Organizations, the resource utilization of a business is simply an algorithm, which can use any number of APIs to return profit and grow the entity.

All of these APIs we are creating for various functions may soon replace us. Many APIs already do directly dispatch humans to do certain tasks. The scary part is that when someone is providing a service to you, they may not be aware of whether their superior is a human or an algorithm.

A minimum viable autonomous corporation could be a lemonade stand that is managed entirely by an algorithm; with virtual currency it can hire a person to set up a lemonade stand at a certain datetime, and take a cut of earnings. If sales are slow, it could hire someone to design a poster, and another to post them in the area; or even an analyst to decide what the best course of action is. Over time, with many locations and employees, it would be able to learn the best locations and conditions for optimal profit. Perhaps also deciding which employees to continue working with and which ones to fire.

These "management algorithms" would likely need to be developed by someone. But what if the algorithm hired the person to write the algorithms, updates, and performance tweaks?

There could be a bootstrap algorithm that is simply an idea (these could be automatically generated based on search trends, market fluctuations, etc). These seeds would be open to the public for investment with virtual currency (bitcoin could be used to allocate the cap table as well), the program would be able to hire talent to build out the idea, and the investors would receive dividends.

I see this evolving as a kickstarter for viral autonomous businesses. And I don't see why it couldn't be viable with today's technologies and APIs.

<comment><USER12> > _All of these APIs we are creating for various functions may soon replace > us._

Good. Then we can get that promise of more leisure time that's been hanging around since the 50s.

Imagine if everyone had more time to learn another language, play guitar and ponder the meaning of life. APIs and robots can grow my food and wash my clothes for me, I have better things to be doing.

<comment><USER8> The promise have been around since the 1840's or before. The origin of socialism was the idea that the rise of industrialisation would increase efficiency to the point that scarcity would eventually become a thing of the past - at least for everything needed to meet normal human needs. People like Saint Simon, Fourier, Owens, Marx, Proudhon and many others started with those assumptions.

Large parts of Marx entire theory of how socialist revolutions would come about is based around the combination of this idea and the idea that the capitalists won't willingly grant it.

<comment><USER13> > _scarcity would eventually become a thing of the past - at least for > everything needed to meet normal human needs._

We're really there aren't we. Almost everyone in the industrialised parts of the world have access to food, shelter and other basic human needs. Damn, in Western Europe even the romanian beggars have iPhones.

Even the poorest have a less poor life. [https://www.youtube.com/watch?v=BdDkF0Lw- ag](https://www.youtube.com/watch?v=BdDkF0Lw-ag)

</comment></comment></comment></comment><comment><USER14> Getting more stuff done with less human effort is a good thing. However, combining that with an economic system which sets your ability to feed yourself and your families based on the effort you put in is a bad thing.

Capitalism which was a great 2th century economic system, is not suited for the 21st century where there really aren't any jobs left for humans to do.

The benefits of automation only accrue to the owners of capital, while everyone else gets completely left out. Since the owners of capital are an increasingly smaller number of people (not surprising since capital accrues capital exponentially while labor only accrues it linearly) our economic systems are headed for collapse.

<comment><USER15> Then what would be the right way forward? We've known capitalism is broken since at least the times of Karl Marx.

<comment><USER8> And indeed one of Marx key predictions was that capitalism through increasing efficiency would eventually lead to an overproduction/under-employment crisis.

<comment><USER16> You don't get to keep waiting for a prediction to finally come true when it doesn't come with a deadline. It already didn't happen despite all our labor saving technology so far (we don't even weave cloth by hand anymore!). Sure it might happen in another 100 years, or another 1000. But that's almost a given for most predictions.

</comment></comment></comment></comment><comment><USER17> That's an excellent article.

I've been using the phrase "Machines should think, people should work" to describe this for some time. Amazon/Kiva order processing, where the humans are just arms for the computers, is well known. Uber has also been mentioned. Marshall Brain's "Manna" is the SF precursor of this concept.

This has been pointed out repeatedly since Adam Smith visited the pin factory in 1776, and wrote, in the Wealth of Nations _" One man draws out the wire, another straights it, a third cuts it, a fourth points it, a fifth grinds it at the top for receiving the head; to make the head requires two or three distinct operations; to put it on, is a peculiar business, to whiten the pins is another; it is even a trade by itself to put them into the paper; and the important business of making a pin is, in this manner, divided into about eighteen distinct operations."_

Some people like it that way. Henry Ford, on assembly line labor management: _" We shift men whenever they ask to be shifted and we should like regularly to change them—that would be entirely feasible if only the men would have it that way. They do not like changes which they do not themselves suggest. Some of the operations are undoubtedly monotonous—so monotonous that it seems scarcely possible that any man would care to continue long at the same job. Probably the most monotonous task in the whole factory is one in which a man picks up a gear with a steel hook, shakes it in a vat of oil, then turns it into a basket. The motion never varies. The gears come to him always in exactly the same place, he gives each one the same number of shakes, and he drops it into a basket which is always in the same place. No muscular energy is required, no intelligence is required. He does little more than wave his hands gently to and fro—the steel rod is so light. Yet the man on that job has been doing it for eight solid years. He has saved and invested his money until now he has about forty thousand dollars—and he stubbornly resists every attempt to force him into a better job!"_

The history of auto labor relations indicates that task boredom isn't a big issue for many people. Workers have fought for higher wages, better benefits, shorter working hours, more breaks, and more dwell time between cycles. But not for job rotation.

A lot of people seem to be OK with dull, boring jobs, provided they get paid reasonably well for them and have enough time off.

<comment><USER18> A dull, boring job is predictable, and you can plan around it. You can devote your attention to whatever else you like. Until we start paying people to take vacations and entertain themselves, boring is the next best thing.

Beats the heck out of being told what to think, want, and do. Worrying all the time that you can't take it and that you'll have to find something better (when you explode at someone for being an idiot.)

<comment><USER19> Boring is not the next best thing... Some people are actually paid to do the thing they love...

<comment><USER18> You are correct. Let's just call it "one of the more tolerable things" then. (That lacks the same rhetorical punch, I must admit...)

<comment><USER20> rephrase: "As long as we aren't giving everyone the option of being paid a decent wage to follow their passion of basket-weaving, then a boring job is the next best thing"?

</comment></comment></comment></comment></comment><comment><USER21> This is a paradox rooted in capitalism itself, as Karl Marx pointed out in 1858:

"Capital itself is the moving contradiction, [in] that it presses to reduce labour time to a minimum, while it posits labour time, on the other side, as sole measure and source of wealth."

<comment><USER22> I wonder if Marx considered that labour could shift to serve new markets.

<comment><USER23> What he didn't think of was productivity increases. See Piketty's Capital in the 21st Century.

<comment><USER8> Yes, he did. His entire ideology is based around the premise that capitalism would lead to productivity increases sufficient that redistribution would lift everyone out of poverty.

Already in The German Ideology (1845) he specifically made the point that the productivity increases inherent in a capitalist economic system was a _prerequisite_ for a successful socialist revolution as otherwise redistribution would just make want common, and the same class struggles would start all over again as people fight to get out of poverty (like what happened in the Soviet Union, China, where the party organisations became the new upper class).

In the Communist Manifesto he and Engels spelled out how they saw capitalist productivity increases eventually lead to over-production and under- employment, and that this, according to Marx, is what will eventually lead to an intensification of class struggle and finally enable a socialist revolution as economic productivity under capitalism reaches its peak.

</comment></comment></comment></comment><comment><USER24> I would argue that the shift to "Cogs in a giant automated dispatching machine" already happened with living in an industrialized society, except it's software instead of bureaucracy.

In either case, the organizational "middleware" is under the control of its owners.

<comment><USER25> Agreed. It feels like we're merely changing the means, not the ends, ie. the system is doing what it's always done, just now it is more efficient.

</comment></comment><comment><USER26> This guy should see how a Google datacenter works.

Need something done in a datacenter? Open a ticket and people respond. Common tickets become standardized by making them API calls that schedule the people. The most common API calls are eventually automated completely.

I saw this for requesting a machine be power cycled (ticket -> API call -> automated).

The people that work at the datacenter are great, but I feel sorry for them because their job becomes less and less interesting as time goes on.

When Google opened a datacenter in [redacted] there was an article about how local people were signing up for Community College classes on computer science topics. I felt terrible... the skills that datacenter would be hiring for were more akin to a warehouse than a startup.

\-- Tom \-- Ex-Goolger

<comment><USER27> There isn't a lot going on creativity-wise but there _is_ a lot operations- wise. Tightly measuring, controlling, and iterating on critical systems to eke out the last 1 or 2% is really important in mature industries like grocery stores or datacenter management! I feel like it's too easy to ignore how hard it is to get things under statistical control, and how important a role that plays in many industries.

</comment></comment><comment><USER28> Obligatory link to "Humans Need Not Apply": [https://www.youtube.com/watch?v=7Pq-S557XQU](https://www.youtube.com/watch?v=7Pq-S557XQU) I highly recommend giving it the full 15 minutes if you haven't already seen it.

We as a society need to figure out how to handle a future where the majority of people are no longer compatible with the economy.

<comment><USER29> There's a thought error in here: "the economy", as an unmovable construct, does not really exist. As an example, a good shirt does not cost thousands of dollars anymore, because we have automated weaving looms and a whole textile industry. We're not poorer from it, though, because we shifted from weaving shirts to doing construction work or working in finance.

If we can automate simple manual labor, people will shift to different tasks; the non-beneficial changes is that now the energy needed for that task is consumed directly by the machine, and also the investment that has been done to get the machine there in the first place. Beyond that, people who did simple tasks before may perform tasks that require conscience or risk- awareness (for example, machines injuring or killing humans cannot be fired or fined, so someone has to be responsible), that require empathy and human attention; or people will resort to being burglars or robbers or revolutionaries or salesmen.

<comment><USER30> > We're not poorer from it, though, because we shifted from weaving shirts to > doing construction work or working in finance.

the video specifically has a refutation for the argument you made - <USER2> technological improvement is not necessarily always augmented by better jobs that people could do. Their example with the horses and automobiles is quite pertinent.

The point about jobs that require human empathy is moot - if the cost of hiring the human is much higher than a machine, the machine will win.

<comment><USER29> You're arguing from a frame where there is a demand for a constant set of things ("jobs") and people capture the money that can be exchanged for that set of things. This assumes that a number of parameters in the market are fixed, and that you can "create" or "destroy" jobs with economic actions that are partly independent of the non-economic world.

Looking at historical economics, another way of looking at this is to see an economy as things going in (sunshine, non-renewable resources consumed, loot acquired in wars) and things going out (people eating, garbage produced, etc.), and the ways of distributing the flow between these.

It turns out that you can have a "surplus", when you suddenly have more money/resources than you had before. There are different means of getting rid of surplusses, including wars, social programs, or simply population growth (consider how New York's area used to sustain about a hundred people).

Looking back at the demise of weaving and spinning as jobs, you see that the immediate effect of that was a higher concentration of wealth in the hands of some individuals, which (in Europe) led to counter-movements involving democratization and social issues.

The real problem is not that it's possible to find more effective ways to do some jobs than employing people for it, the real problem consists in the readjustment of power relationships that becomes necessary when you remove resposibilities from lots of people and put them in the hands of relatively few people.

Maybe some governments institute a robot tax, which augments the cost of robots by a percentage not high enough to consider other alternatives (e.g. moving off-shore, which has been possible with production jobs but not with manufacturing jobs), and use these funds towards things that society as a whole regards as beneficial (such as building nice parks, everyone getting a university degree, or every city having an opera and a theater, or war or terrorism or spying on your citizens, if those are what a society thinks it wants).

Standard "capitalist" economic doctrine wants us to believe that surplusses always belong to the innovators or those taking associated risks, and both historically and currently this has only been partly true. Maybe those surplusses will just be destroyed in the next "AI" bubble, maybe they will be used to create a post-democratic oppressive state, maybe they will be used to create a modern-day utopia. We don't know yet what will happen, but we sure should not let others reframe the issue as technocrats-vs-luddites, because that is not what it is.

</comment></comment></comment></comment><comment><USER31> > The gap in training and social groups above and below could mean that new > automation technology causes sudden, large-scale unemployment.

This also scares me. I've often wondered, what will happen to people in a largely automated world (which could be reality in next 40-50 years). Will there be riots as employment will be unprecedented? Will it open new industries or entirely new period of creativity for humanity (e.g. industrial age giving birth to age of information)?

When we transitioned to industrial age, I believe people had similar concerns but somehow things worked out well. Can we repeat that?

<comment><USER32> The idea that "work" is somehow good and noble is outdated, and serves only to trap workers into undesirable situations for the profit of the capitalist class. Work isn't noble, it's just something we do so that we can do other stuff (and eat).

So preserving work in the face of massive changes in the economy would be an incredibly unfortunate thing to do. Why not simply allocate social resources such that people who are not _needed_ for work simply don't have to work? Allow them to have food, and shelter, and healthcare, and let them explore whatever it is that brings them happiness, without having to worry about spending their days performing some menial task because someone has decided that they must "work" for their meals.

<comment><USER33> We tried that. It ended in disaster.

People thinking like this really makes me furious. This is such a narcisistic thinking, that I feel disgusted.

Human beings are driven by incentives. From drinking a glass of water, to writing a book it is all incentive based. If you have your basic needs covered, you have no incentives. When you make policy, you have to think about the lowest common denominator, not the select few top speciments. It is extremely vain and naive to think removing incentives to educate yourself and work will end in anything other than disaster. Apart from that, the model you describe fosters enormous corruption at every level of society. From the factory workers who go drunk to work and steal, because when everyone is a principal, noone is a principal, to the political leaders who engage in atrocities to keep and grow their power.

PLEASE stop trying to make communism happen. It has destroyed so many lives already.

<comment><USER34> _If you have your basic needs covered, you have no incentives._

Self-betterment is an incentive. Betterment of everyone else is an incentive. The idea that people must be forced to work to make money or else they won't do anything else is a capitalist ideal, _NOT_ absolute fact.

Wouldn't it be nice if people could actually do things that interest them instead of worrying about putting food on the table?

<comment><USER35> Living in Norway taught me that faceless charity embitters and dissatisfies most recipients. Far from considering how to better themselves, too many internalize their implied uselessness, while blindly groping for someone or something to blame. An obvious path to self worth is then to view oneself as intelligent for taking from the hard working sheeple too dumb or deluded to win.

Charity to help someone achieve their goals is very different from payouts for having no aspirations or abilities.

<comment><USER36> _Living in Norway taught me that faceless charity embitters and dissatisfies most recipients. Far from considering how to better themselves, too many internalize their implied uselessness, while blindly groping for someone or something to blame._

What if that's the result of being _charity_ (to those in need)?

Right now, there's a divide which separates the "useful" \- who get a salary - from the "useless" \- who get a pension -, which leads to those feelings of alienation and self-deprecation. But does anyone feel useless because they didn't have to work for the sunlight they get, or the air they breath?

I'm not affirming anything, but it'd interesting to know if the problem you identified would disappear if _everyone_ got those resources, instead of just those "in need".

</comment></comment></comment></comment></comment></comment><comment><USER37> While this may lead to a short term increase in unemployment if there is a massive shift from middle managers to a technology layer, it will increase efficiency, and hopefully, job satisfaction. Less middle managers to wonder what value they really add (often very little), and less employees asking the same question (and thinking they are smarter/more qualified than their boss).

<comment><USER38> Except the workers will be even more commoditised and have their wages driven to a minimum, leading to lower satisfaction.

And the middle-managers losing their jobs will accelerate the destruction of the middle classes, whose spending is what keeps the economy motoring.

Not sure where that plays out, short of either guaranteed incomes or new- feudalism

</comment></comment><comment><USER39> The major roles of middle management are

1) Communicate the vision

2) Allocate resources

3) Set criteria for decisions of unequivocal data

4) Make judgement calls on equivocal data

5) Facilitate the voice of the worker being heard

Computers can only do 2 & 3

<comment><USER40> I felt like a bit of anti-hype is needed:

1) Because engineers need translation

2) Not preventing teams from doing their work

3) A bit of arbitrage, fair

4) Flipping the coin based on the choices well-prepared by underlings

5) Politics, CEO will always only hear the board, which only cares about themselves; I bet anonymous feedback forms and a bit of cheap data mining would be a more sure bet

<comment><USER39> If that's how your management works, time to find a new place to work.

<comment><USER41> You mean like one of the increasing number of places without middle management?

</comment></comment></comment></comment><comment><USER42> I have been thinking about this for a while now too.

I feel more troubled by the fact that folks in non-AI field don't see this as an imminent problem. They don't realize that with current advances in computing power that enables us to store more and more data cheaply, how much can be learnt from it and how much can be automated.

There don't seem to be any easy solutions. Training/teaching folks new skills would help but will not solve this for every person affected. I suspect the collateral damage from this will be big.

<comment><USER43> There are people who do see this happen. I vaguely remember bill gates saying things about automation encroaching on low-skill jobs, and that many white- collar jobs would not be far behind. [0]

I don't think his solution is viable however, since it would only delay the inevitable. Even if you make humans dirt cheap, the power of computers and all the benefits of automation will still be cheaper, only later.

He extrapolates that our current take on our economy will soon be very outdated and that it needs to be rethought. Perhaps our star-treck economy will not be the result of space-travel, but automation. Imo this is the best possible outcome I can imagine.

[0]: [http://bgr.com/2014/03/14/bill-gates-interview- robots/](http://bgr.com/2014/03/14/bill-gates-interview-robots/)

</comment></comment><comment><USER44> Someone needs to make a tshirt:

You can be replaced with a small REST API.

<comment><USER45> I assume a reference to this:?

[http://www.kleargear.com/1474.html](http://www.kleargear.com/1474.html)

<comment> ryan-c Buying anything from that site is probably a bad idea. They fined people for bad reviews and turned them over to collections[1].

1\. [https://en.wikipedia.org/wiki/Palmer_v._Kleargear.com](https://en.wikipedia.org/wiki/Palmer_v._Kleargear.com)

</comment></comment></comment><comment><USER46> There is a potential dark side to this kind of automation:

[http://www.nytimes.com/interactive/2014/08/13/us/starbucks-w...](http://www.nytimes.com/interactive/2014/08/13/us/starbucks- workers-scheduling-hours.html)

There could be a lot of turmoil in the next few decades as society adapts to this new world of increased automation.

<comment><USER47> That is certainly something to worry about, but it isn't a criticism of automated scheduling directly. Both a human and an algorithm can choose to either care about schedule consistency or not. We just have to make sure we choose to include those considerations when designing our AIs.

</comment></comment><comment><USER48> What doesn't get brought up enough in these discussions is the degree to which the advances in AI and resource distribution bring down costs and increase the accessibility of having your needs met.

For example, as Uber has advanced to UberX and now UberPool, the possibility of being car-free is much more feasible and potentially cheaper than ownership. So the labor hours required to own a car are cut out as a need for those workers. Similarly, craigslist, AirBNB etc. are impacting the renting vs. buying scenario and reducing costs in those areas.

Will this increase in accessibility happen at the same rate of labor loss? Probably not and there will be some turbulence, but I think the net result will be a realization of excess in western culture and an adjustment to more reasonable standards of living.

Sure, there will be 'above the api' haves, but there is reason to believe the accessibility of meeting basic needs will scale up as a long term net result after short/mid term turbulence.

<comment><USER49> > Similarly, craigslist, AirBNB etc. are impacting the renting vs. buying > scenario and reducing costs in those areas.

If anything AirBnB has caused the price of property to go up. Where I live you could easily make enough to cover rent or a mortgage from letting a property on AirBnB for one or two weekends a month. The rest of the time it is empty, which means the demand for housing in the local area is higher, which means rents go up. In my 200 unit building I think around 5% of the properties are vacation rentals.

Really AirBnB isn't much different to holiday homes / timeshares, but what they have done is bring it to the masses. It will be interesting if / when they introduce surge pricing to combat this - right now the control is still with landlords, but eventually they'll just be another pawn in the game.

</comment></comment><comment><USER50> Yes, scheduling is better done by machines than people, and we as a society will be better for it. Ironically, this will eventually lead to "higher end" shops, which retain the human touch.

This process happens over and over as technology improves, it hurts in the short run and opens lots of new doors in the long run.

</comment><comment><USER51> Amazing conversation that really provokes us to think about who of us has it right? Those of us who are ambitious about creating opportunity, climbing the corporate ladder, etc? Or those of us who consciously decide to opt for autonomy and convenience (potentially undermining the structure of our capitalist system!). I've written a more detailed response and posted it to ProgrammableWeb since any conversation about APIs are so near and dear to our hearts [http://www.programmableweb.com/news/do-apis-eliminate- middle...](http://www.programmableweb.com/news/do-apis-eliminate-middle- management-or-improve-quality-life/analysis/2015/02/04)

</comment><comment><USER52> Well, that describes a dream I have - to make all services function calls. I should be able to order a pizza by just issuing a POST request to some API endpoint, preferably without caring about anything else than the size and list of ingredients. I definitely should be able to install a local print shop as a system printer, so that instead of calling them and sending them e-mails and wiring money I could just do File->Print, change few options, click Print and have it at my doorstep the next day.

Come to think of it, a lot of services _are_ but glorified function calls - it's just the API (i.e. having to talk to people) that's messy and too broken for any automated use.

</comment><comment><USER53> This article makes no sense. All those services mentioned are pretty much _third-party marketplace_ -style thing. What's the point in insisting a "path upwards" or whatsoever when in all manners the marketplace just exists to connect customers with service providers? I don't think it's the marketplace's duty to cater to the service providers who simply use the marketplace, just like it's not an office space's duty to ensure that the companies which loan a space live long and prosper. And anyways I don't see normal taxi drivers having a clear "path upwards" either. The arguments are quite invalid and TBH a bit sensational.

</comment><comment><USER54> Does anyone think that our whole economic meta-model might be overcome by 3D printing, permaculture and sufficiently efficient solar, etc.? (combined with sufficiently efficient energy use.) Has anyone read Clifford Simaks' City? There are technologies that automatically accrue the power to live in the other direction, or at least more widely and uniformly. Perhaps it's time to focus on those. We can have a economy in which the true currency is only ideas. And the money economy is only for luxuries. And in which we are all a lot more free.

</comment><comment><USER55> This has been going on for over fifty years. McDonalds replaced diners with standardized food and processes. WallMart replaces smaller stores, often locally privately owned. Through efficiency and standardization they decrease the amount of labor needed and in particular the skill of labor needed.

The mobile web lets you standardize mobile services (like delivery and taxis) and replace small companies owned by middle class people with leaner, larger, public ones.

</comment><comment><USER56> Thank god, we still need somebody to write that API.

<comment><USER57> Do we really?

And for how long do you think that job may be safe from automation?

<comment><USER58> I was thinking a while back that an obvious AI application would be to replace the entire management structure of a corporation.

All of it. All the way up to the C-Suite.

This would naturally improve efficiency, and in not a few cases it would probably apply a significant multiplier to overall profitability.

That doesn't mean it would be a good idea politically or socially - <USER3> depending on the value system and long-term strategic insight of the AI, it might be an improvement there too.

You could even have an automated YC, where a model of Paul Graham selects between different business models produced by a selection of AI agents.

This could just be a joke, but to be honest I'm not completely sure it's not a serious prediction.

<comment><USER59> [http://en.wikipedia.org/wiki/Decentralized_Autonomous_Organi...](http://en.wikipedia.org/wiki/Decentralized_Autonomous_Organization)

</comment></comment></comment></comment><comment><USER60> If all you have is a resource allocation problem (e.g. scheduling, launching jobs, etc.) in a group of people lower than the Dunbar Number (i.e. ~150), then replacing middle management with an API is a reasonable choice, because you don't have an interesting management problem that requires critical thought or leadership.

</comment><comment><USER61> I, for one, welcome our new algorithm overlords.

Option A - Work for a system run by an algorithm that hires, fires, and judges you based purely on the work you do.

Option B - Work for a system run by irrational humans that hires, fires, and judges you based on their own prejudices and ego.

<comment><USER62> "Garbage in, garbage out" tells us that since the algorithms are made by irrational humans, the algorithms will too be irrational.

</comment></comment><comment><USER63> Basic Idea: In small groups management can be automated. If it can be automated well enough, a hierarchy is not necessary. Small groups need to be able to switch quickly beteween adhocracy and democracy while preserving fairness. The following principles are a first attempt to provide a framework for this.

Principle: An operating ageement should be written with a specific purpose, in very simple language or ideally in pseudocode or actual code. Corollary: This document should contain a way to programmatically deal with issues such as "there is no person to do job X", by random selection or by rotation or by whatever other method is agreed upon. Corollary: This document should contain a way to programmatically allocate revenue and split profits.

Principle: Job titles are optional. Hats worn are necessary. Everybody should list the jobs they are happy to do in order of expertise. Corollary: Hats needed should be specified as soon as the scope of the project is determined. Corollary: Any hats left unworn by unwillingness should be traded around with some frequency.

Principle: Everybody contributes to a common diary or blog, at least once a day, with at least one sentence, explaining what they did during that day. Corollary: Everybody should be able to identify at least one useful thing they did each day they are working. Corollary: Anybody wanting to not work for a time should let everybody know in advance.

Principle: Everybody gets one vote. Tie breaks are decided by whoever is wearing the largest hat in that area or as specified by the operating agreement. Corollary: Votes are called when there is a disagreement and resolved as close to immediately as possible. Corollary: Valid vote outputs are yes, no, don't care, don't know enough.

Principle: Every rule agreed upon after the starting document is generated should carry an explanation as to in response to what event it was made. Corollary: The reason for the starting document itself is assumed to be "To accomplish our primary goal", which should be specified. Corollary: The more a rule can be automated, the more it should be, but this machine must never override anybody.

Principle: Any procedure that gets in the way of the stated goal must be moved out of the way. Corollary: When in doubt between toss and keep, default to keep. Corollary: When in doubt between open and closed, default to open.

Principle: Nobody should create emergencies. Everybody should react to emergencies. Corollary: Emergencies should be definied strictly. Corollary: Emergency response is coordinated by anybody who is there and knows what they are doing.

(c)mkb2012

<comment><USER18> > _Any hats left unworn by unwillingness should be traded around with some > frequency._

This reminds me of a useful reflection on social moral processes. If you have a group of people who all have agreed to achieve some goal, say, "everyone should be happy," then you have to support it with a rule: "Any person has the power to demand change, and no other person has the power to veto this."

So if one person is unhappy, they simply say "change," and _something_ is required to change. Even if everybody else is happy and they all disagree. Even if all known changes result in fewer people being happy. The goal was not met. So implicitly, the real goal is that nobody demand change.

You can't get stuck in a local maximum if you're looking for a global maximum. You have to prove that you are _at_ a global maximum to resist change, and you have to prove it to those who demand change.

The only way to get there is to find out what people actually want and need, and to deliver it.

<comment><USER64> It's an interesting point to think about.

But my first thought was what would happen if you accidentally let a troll into your group. ie, someone who enjoys yelling "change" just to watch everyone else jump.

Heck, that person might be genuinely unhappy unless everyone is changing! Add in someone else who hates all change, and you have an unresolvable contradiction.

<comment><USER18> There is no such thing as a troll, they are fictional creatures. I'm talking about humans.

>Add in someone else who hates all change, and you have an unresolvable contradiction.

No, you have a meta-problem. One that can be solved by a suitable virtual reality pretty handily.

<comment><USER64> I'm aware that bridge-dwelling, toll-collecting trolls do not exist. I was referring to an internet-style troll, "a person who sows discord on the Internet by starting arguments or upsetting people... with the deliberate intent of provoking readers into an emotional response or of otherwise disrupting normal on-topic discussion. ... Media attention in recent years has equated trolling with online harassment." [1]

If one person is only happy when things change, and someone else is only happen when they don't change, I don't see how there is any way to resolve the difference. I'm curious what solution you see for this, and especially in how a virtual reality would help.

[1] - [http://en.wikipedia.org/wiki/Troll_%28Internet%29](http://en.wikipedia.org/wiki/Troll_%28Internet%29)

<comment><USER18> Yes, I know what you meant. I was being facetious, as I don't approve of the implication that 'trolls' are somehow fundamentally different from other people. There is no law of nature that says "if someone is a troll, they will never be happy unless others are unhappy." That's not a _fact_ , and I'm not willing to pretend it is.

Either way, I've already given you a potential solution to that problem, and I see no reason to elaborate further. Use your imagination.

<comment><USER64> When I was writing my previous comment I was wondering if I was being trolled. Too bad I was right.

<comment><USER18> Oh, I see what you were saying. You were saying that you can know everything there is to know about a person from a few posts on the internet. No wonder you believe in trolls.

But If I were to follow that line of reasoning, I would be forced to conclude that your incompetence here is simply an innate part of your being. But I don't believe that, even if you think I should.

So try to do a little better, ok?

<comment><USER64> You're the only one here who seems to believe that "troll" is an indelible and unchanging character trait. I never said or implied that, and my point does not require it to be the case.

I find it difficult to believe that anyone could actually believe that, which is why I'm fairly certain you're trolling me. But I suppose it's possible that you're not particularly perceptive.

By the way, you still haven't mentioned your magical way to satisfy the conditions "X" and "Not X" (ie, "constantly changing" and "unchanging") at the same time.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER65> The leap to self-driving cars will be a massive and painful and complicated one. Way too much faith in tech in these here parts.</comment>


Ask HN: Why is our generation so depressed? - <AUTHOR>

Does anyone else feel like the entire 90's generation is a lot more depressed than older generations? The more I talk to people the more I realize it affects people everywhere, people lose hope, the drive to carry on. Why is that and why is it affecting my generation so badly? <comment><USER2> Plenty of psychologists think that the "self-esteem" movement in schools when your generation was in school was harmful to school pupils, not giving them the resources to be resilient when facing adversity. See Martin E. P. Seligman's book The Optimistic Child

[http://www.amazon.com/Optimistic-Child-Depression- BuildLifel...](http://www.amazon.com/Optimistic-Child-Depression- BuildLifelong-Resilience/dp/0618918094/)

(this book is good for adults too, even if they are not parents) for more information about how "optimism" differs from "self-esteem." Seligman's more recent book Flourish: A Visionary New Understanding of Happiness and Well- being

[http://www.amazon.com/Flourish-Visionary-Understanding- Happi...](http://www.amazon.com/Flourish-Visionary-Understanding-Happiness- Well-being/dp/1439190755/)

is also helpful.

</comment><comment><USER3> Perhaps the 90's generation is just as depressed as any other generation, but it is more socially acceptable to discuss and share it with others.

</comment><comment><USER4> At the risk of sounding like an old man, what makes you think the "90's" generation is any more depressed than previous generations?</comment>


Academia.edu Raises $1.6 Million - <AUTHOR> http://techcrunch.com/2010/04/28/academia-edu-raises-1-6-million-to-help-researchers-connect-with-each-other/

<comment><USER2> This could be very helpful, so long as academics maintain their profiles. I currently use an ad-hoc system of Google Reader's "check if webpage changed" functionality to check for new papers in my fields of interest. For economics, these are listed on pages like:

<http://papers.ssrn.com/sol3/JELJOUR_Results.cfm?code=M13>

<http://papers.ssrn.com/sol3/JELJOUR_Results.cfm?code=G24>

which gives an ugly summary of updates to non-RSS friendly websites. Academia.edu appears to require that

1\. Authors sign up

2\. Authors also update their profiles with their new research

My experience suggests this will be difficult for econ: I repeated the Google readers process for the active authors in my field. Google tracks their "Working Papers" pages for updates and lets me know when they add a paper (or change a font!) For the two dozen authors I track, only one has updated their page in the last two months.

<comment><USER3> I'm not sure about field-wide RSS feeds, but SSRN does have author-specific RSS feeds like <http://www.ssrn.com/rss/authors/1997/0701/998.rss> for Eugene Fama.

</comment></comment><comment><USER4> And we're hiring: <http://www.academia.edu/jobs>

We're based in downtown SF and we're looking for engineers to help us build a great product for researchers.

</comment><comment><USER5> They have Hawking, Dawkins, Chomsky, Krugman on board already as scientists. Wow.

<comment><USER6> I'm pretty sure that list sums to zero, though.

</comment></comment><comment><USER7> I just signed up, and the web site is remarkably slick. Anybody who's made web apps knows how hard it is to make something that just does what it's supposed to as well as this. I especially like the easy integration with GMail, Facebook, and so on.

The signup process is a bit long, but I'm not sure if that's a bad thing.

Edit: When I selected "Electrical & Computer Engineering" from the drop-down menu of departments, the ampersand got turned into "&". I'm pretty sure this is a bug.

<comment><USER8> I disagree. I found the interface clunky and the research interest categories were really sloppy (typos, duplicates, inconsistent granularities, etc...). Also, the inability to click on section names during sign up was very frustrating.

</comment></comment><comment><USER9> Excuse my ignorance, but how did they get a .edu?

<comment><USER10> It was almost certainly registered before they tightened the restrictions on registration, and the current owners bought it from them.

</comment></comment><comment><USER11> How did they manage to get the domain name? From <http://en.wikipedia.org/wiki/.edu>:

 _Starting on October 29, 2001, only post-secondary institutions and organizations that are accredited by an agency on the U.S. Department of Education's list of nationally recognized accrediting agencies are eligible to apply for a edu domain._</comment>


How to Pronounce Hexadecimal Numbers - <AUTHOR> http://evincarofautumn.blogspot.com/2011/09/how-to-pronounce-hexadecimal-numbers.html

<comment><USER2> Nice, but it skips over some of the more difficult-to-pronounce numerals: 0xc0..0xf0. Eleventex is obvious, but twelvtex is pushing it.

<comment><AUTHOR> I thought it was obvious that they all have the same pronunciation as if they were separate words. Twelvetex is twelve tex, in amount and pronunciation alike.</comment></comment>


How to use epoll? A complete example in C - <AUTHOR> https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/ <comment><USER2> Don't have an example, but I've come to really like kqueues (Freebsd's equivalent to an epoll). I heard they were ported to linux as part of getting GCD to run on it, but I haven't done any research on it.

</comment><comment><USER3> Use libuv instead of writing this stuff yourself.

<comment><USER4> Events are evil, much better use something like Plan 9 (port) libthread ( <http://man.cat-v.org/plan_9/2/thread> ) or Russ Cox's libtask ( <http://swtch.com/libtask/> ).

Or better yet, program in Go ;)

<comment><USER5> Most network programs spend much of their entire life waiting for IO events.

I have no argument in principle for the idea that you should restructure your whole program's control flow with transparent cooperative scheduling to attempt to get the best of both worlds of straight-line coding and efficient scheduling, except that it feels to me like you're kind of not really even writing C code anymore at that point. This might be irrational of me.

In the meantime, if you're not going to adopt an exotic thread scheduling library, I think events are the way to go. POSIX threads don't make much sense to me.

<comment><USER6> Development using coroutine libraries goes much faster and the resulting code is much more robust than that which uses events and callbacks. This is even more strongly the case in C++ where you can take advantage of traditional C++ RAII on any coroutine stack, which you couldn't do so nicely and clearly with callbacks. In the ten months since we started using them, we've had no stability problems and no strange and inscrutable bugs from within our coroutine implementation. There have been user errors from misuse of coroutines, but nothing anywhere near the order of magnitude of what you get when using callbacks.

</comment></comment></comment></comment><comment><USER7> <http://www.kegel.com/c10k.html></comment>


Hello WP7 "Mango" - <AUTHOR> http://blogs.msdn.com/b/johnalioto/archive/2011/04/13/10153420.aspx

<comment><USER2> Have to say, I'm at Mix11 at the moment, and both the keynote and the hands on demos with the phone are quite impressive.

Unlike many android phones which mimic the iPhone style grid of icons, WP7 have gone for something unique. It's hard to equate this upgrade to any particular iOS upgrade in particular, but it's an impressive update.

2 interesting features * Custom tiles - you can have a particular part of an app on your home screen. e.g. the DM section of your Twitter app, The Bugs Tab of your Bug tracking app, or the "Flight" section of your TripIt App etc. * Full background processing (including uploading/downloading) & fast app switching.

<comment><USER3> Android wasn't mimicking iOS by the way. A grid of icons for links and applications has been a staple UI component of computers and phones for well over a decade.

iOS goes for pure shortcuts, WP7 goes for pure widgets, and Android has a mix of both. That being said, WP7's implementation of a widget home screen / phone "desktop" is quite nicely done. I agree with you that this upcoming update is impressive to say the least.

<comment><USER2> Re: Android mimicking iPhone, okay I'll concede a grid of icons had been done before iOs, if you concede that Android clearly took a lot of guidance from precisely how iOS did it.

<comment><USER3> Oh most definitely.

</comment></comment></comment></comment><comment><USER4> My prediciton is that by end of the year, WP7 will compete on an equal footing with Android and iOS in terms of feature parity. It might still have an order of magnitude less number of apps, but I suspect that with the opening up of this richer API, the app situation will be much improved as well. This will set up Nokia's entry to the market in 2012. Combining WP7 with good hardware and services like turn-by-turn navigation and a huge retail channel is a recipe for great sales. I am now beginning to believe that Nokia has made a very smart bet.

<comment><USER5> I'd say they also have some advantage design-wise. I might force myself to play with its SDK because of this update...

<comment><USER6> Looks like they are also planning allowing developers to get early access to both the emulator and the OS image.

<https://twitter.com/BrandonWatson/statuses/58238479439630336>

</comment></comment></comment><comment><USER7> And here I am still waiting for the copy paste update...

</comment><comment><USER8> Any idea of when this update will be released?

<comment><AUTHOR> Some time this year. But they haven't really been more specific than that. I'd guess just before Thanksgiving, but that's not really an educated guess even.</comment></comment>


Ask HN: Does the Hacker News API have auth documentation? - <AUTHOR> I created a Hacker News iOS app using the Hacker News API (https://github.com/HackerNews/API). I'd really like to add login, commenting, upvoting, etc. but I haven't found any great documentation. Is there any resource or project available that outlines the undocumented endpoints of the Hacker News API? <comment><USER2> Yes, another problem I think with the API is that it returns HTML code for comments, rather than the raw code that the user entered, which would be better I think; have the client to convert it to whatever format you need instead.

<comment><AUTHOR> Yeah for sure. I've been able to tackle the html comments now just wanting to implement auth. Any recommended resources?

<comment><USER3> Email the mods. I'm 99.9% certain there is no auth API, though.</comment></comment></comment>


Why I left Google - <AUTHOR> https://medium.com/@scifipromise/why-i-left-google-8cc22432a983 <comment><USER2> I spent a considerable amount of time trying to read this, get some vague idea of what actually happened, why she had to quit Google, flee to Germany, and leave her family behind while in "hiding." I clicked through to several of her other linked posts, hoping that they would clarify the situation. I consider reading and reading comprehension one of my strengths, but this is the most meaning I've been able to extract:

She worked at Google, and she had a different vision of what she wanted Google to be. She wrote lengthy write ups of her vision for Google. She tried to talk to her manager about it and he didn't agree with some of it and felt that other aspects of it were already being done to the fullest extent possible at the moment. The manner in which he rejected her ideas was offensive to her. She wanted to make up a new C level position at Google so she could make her ideas a reality.

Once her ideas were rejected she started to feel unwelcome and was paranoid that people were watching her. She quit Google, sold her stock, and "fled" to Germany without her family.

Is this anywhere near the mark? Can anyone understand this better and write an accurate summary? For someone who seems to be very focused on communication, trying to read her writing and comprehend anything about the who, what, where, when, why, and how made my brain hurt.

If the author of these posts reads this, I don't mean to offend you. I honestly spent a pretty significant amount of time trying to understand what on earth is going on here because it seemed like a significant story. But I kept getting lost and questioning my own ability to read and think clearly.

Any help greatly appreciated.

<comment><USER3> Same here. I still have no idea why she left Google. I thought this was an Uber like departure maybe. And maybe it is. But I can't tell by reading.

</comment></comment><comment><USER4> This reads like it was written by an algorithm. A lot of sentences strung together that don't convey any meaning.

> _Another story is how my sister asked me the other day to explain how I see > language. I answered without hesitating: "Have you ever been in love?". To > which she of course responded that she had. It's like that. I joke that I > see conversation like the Matrix. Nope._

</comment><comment><USER5> I couldn't get past the first 6 or 7 paragraphs of self-promotion material. A TLDR/ TMSPM (too much self-promotion material) would be great.

</comment><comment><USER6> Perhaps it is just me being tired, but I read for a few minutes and feel as if I skipped a null terminator on the last post I skimmed. I legitimately have no idea what I just read.

Can anybody summerize?

</comment><comment><USER7> I don't mean any offense, but she comes across as someone who doesn't have a good grasp on reality. If you jump around and can't explain what you are doing all the time, maybe you have lost it. Or they are a brilliant writer and pulls you along in their insanity. Is this some bizarre combination of non sequitur comments that was done on purpose, or put together by some weird ai writing program? Occam's razor leads me to only one conclusion. jgowdy below has a great response "I kept getting lost and questioning my own ability to read and think clearly"

</comment><comment><USER8> Not just me then, I could not get anything from this.

</comment><comment><USER9> This is so 2006.</comment>


GitHub puts founder on leave, kicks wife out of office after harassment claim - <AUTHOR> http://arstechnica.com/business/2014/03/github-puts-founder-on-leave-kicks-wife-out-of-office-after-harassment-claim/

<comment><AUTHOR> Not sure why this isn't on the front page already?! Especially when this time last year Adria Richards' story wouldn't go away for a week.</comment>


Functors – What Are They? - <AUTHOR> https://functional.christmas/2019/20 <comment><USER2> Completely missing the categorical perspective here. Where are the functor laws? Additionally, we're missing the functors which aren't containers, like continuation-oriented functors, or which have monoidal summaries rather than mapping every point.

Elm was a terrible choice for an ML with which to illustrate functors. Something like OCaml or Haskell, where polymorphic abstractions are available, would have been a better choice. JS is right out. I don't know what this is supposed to teach, but the poor choice of language perverts it. (On the other hand, I wonder to what degree the poor choice of language is related to the idea that this post is actually bitten, ripped off from many other community posts, including ones with pictures and categorical ideas. [0][1][2])

It's too bad that HN doesn't ban spammers like Lobsters does. This post is yet another in a series of lightweight low-effort marketing snow, posted by a member of a spamming ring.

[0] [http://adit.io/posts/2013-04-17-functors,_applicatives,_and_...](http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html)

[1] [https://toast.al/posts/code/2017-01-01-anatomy-of-maybe- part...](https://toast.al/posts/code/2017-01-01-anatomy-of-maybe-part-ii- functor.html)

[2] [https://dev.to/drbearhands/functors-monads-and-better- functi...](https://dev.to/drbearhands/functors-monads-and-better- functions-26f3)

</comment><comment><USER3> It's good to know what Functors and Applicatives are, and how they're different from Monads. This should be in the practical context that Monads do the daily heavy-lifting.

</comment><comment><USER4> I would like to see more articles like this.

<comment><USER5> Cool! Have you checked out other articles in functional.christmas?

I am thinking about writing a followup to this one later so you might get what you want.

<comment><USER4> Yup, I have. It would be nice if functional.christmas had a rss feed.

<comment><AUTHOR> I guess it's too late now, given that the advent calendar is completed, but for next year:

[https://functional.christmas/rss.xml](https://functional.christmas/rss.xml)</comment></comment></comment></comment>


Show HN: Server installs simplified (and built from source) - <AUTHOR> https://rayburst.com

<comment><USER2> Great work, always wanted something like this.

Good for "dev ops" people like me who would rather focus on the app than server configuration (but still need to do it).

<comment><USER3> Maybe you shouldn't call yourself "dev ops" if you don't want to focus on this type of thing?

<comment><AUTHOR> "Dev Ops" isn't really something you choose to call yourself. You end up with that kind of title because it's what you end up doing.

<comment><USER3> Hardly. People here routinely call themselves "Dev ops". They choose to go down that road and tout themselves as "One man shops".

</comment></comment></comment></comment><comment><USER4> Before I would deploy this, I'd have to really understand what you're doing with your chef recipies -- I would be concerned that your use of chef might throw my system into a unknown state -- specifically, what are you doing in chef? Are you adding SSH keys in your recipe (I'm not saying you are -- I'm just saying there's a severe lack of transparency as to what's going on behind the scenes, and that could put me at risk if I were managing that type of thing).

Other than that -- cool stuff.

<comment><AUTHOR> I definitely understand that there's a level of trust needed before you allow anyone get access to your system (or be it's provider). And it should be that way.

While I could describe what's going (and will right below), there's also the risk that what I'm saying doesn't match up with what's really going on. The best way to personally check what's going on is to set up a throwaway system and see if everything checks out. (You'll see that it does.)

So what is the process?

1\. Install necessary os distribution packages to be able to build dependencies for the rayburst client 2\. Download and build ruby from source 3\. Install rayburst client (which includes chef) 4\. Run the install for your server configuration 5\. Report back success/failure of the install

You're able to see the install script that's downloaded via the wget command and as well as the recipes that are cached locally on your system (check the install output for the locations).

And the only way to be sure in the future that it remains this way is to have a _trusted_ outside entity perform regular audits. It's a bit too early in the stage of this project for that. But it's one of the things I've thought about.

<comment><USER4> If your target audience for this is the individuals who don't have the skills or time to really settle down and do the install by hand, do you honestly think that they have the time (or skills) to set up a throwaway system and then audit the changes that your log files say versus what really happened on their system?

I'm not trying to bust your chops -- I think this is a great implementation that is geared for developers who might not have sysadmin experience -- I'm just saying that there seems to be a fair amount of risk opening up and running remote bash scripts based off of anything on the internet; chef and other system configuration tools require you to implicitly trust your sources, because they can change at any time. What happens if your system gets broken into? What happens when the service no longer exists? As I've mentioned, this would be a great service for developers who don't want to mess with managing their own test and development environments, but, I'd never push this to a production server.

<comment><AUTHOR> There's a fair amount of risk in _everything_ : Do you trust the admins of you hosting provider? Are you sure about the source code or binaries for all the pieces of your runtime stack? Did you audit every piece of your own source code for security issues?

But right now I'm not asking people to drop everything and use rayburst to set up their production servers no questions asked. Just to try it out and see if it does what they need.

If someone then decides to use it for production setup, we can talk about how to guarantee security and stability in the configuration for their setup. BTW this is why you enter into contracts, pay for services, etc.

<comment><USER5> There's elevated risk because the downloadable scripts use `sudo`. I think the concept is great, but asking users to allow `sudo` permissions to a foreign script site unseen is naturally bound to raise suspicisons. That said, I am thrilled that the site is protected by HTTPS, especially the install scripts themselves. You have obviously put a lot of thought into this product, and I see several ways to monetize it. The only problem for me is that I'm currently using a (cheap) webhost with restricted accounts and I cannot use `sudo`, but in the future I'll come back to see how your site performs.

<comment><AUTHOR> "sudo" is unavoidable since the installs are designed to go into /usr/local. The other option would be to require you to run as root/privileged which leads to the same issue of running an unseen script and just adds an extra step to the process.

It's possible to design the process to allow installs into other locations but that would require a fair bit of extra configuration (picking up the libraries, etc.) and testing. And you'd lose the service startups. It's something to think about if there's enough demand (and probably required for supporting Macs)

<comment><USER5> Perhaps custom installs could be a premium feature?

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I like the concept; I think simple server configuration is still an unsolved problem and it's good to see someone taking a stab at something new. I'll hopefully have a chance to try it out soon.

Quick note; set 'cursor: pointer;' in your CSS for the 3 main blocks. I didn't notice they were clickable until I started randomly clicking :)

<comment><AUTHOR> Thanks. I'm more backend and ops than design and UI. So things like figuring out obscure compile flags comes easier than CSS.

</comment></comment><comment><USER7> Looks nice for testing something, but I see no information about support (especially notifications about security patches).

EDIT: looking at their scripts, it's using a client written in Ruby with its own Ruby installation. Things are installed in {/usr/local/,/var/*/}rayburst.

<comment><AUTHOR> The client gets installed in /usr/local/rayburst and data for your install goes under /var/lib/rayburst. It's done so that it doesn't get in the way of any of your actual installs (had enough conflicts with system ruby when testing). And you can clear out those directories once everything is installed.

All in all the current design is to get things installed on a new server and then get out of your way.

</comment></comment><comment><USER8> This literally sounds too good to be true.

I found no contact or company information on their website, except 2 email adresses. I can't verify if this is just a clever way of mass deploying a stealth botnet or something.

Will you trust them?

<comment><USER9> It looks like it's a good UI on top of Opscode's Chef platform. You choose your Chef recipes and run a script that downloads the Chef client and starts installing recipes.

So, it doesn't seem to be too good to be true, at least to me. My guess is that this is an MVP for a product designed to put a non-awful UI on top of Chef (Opscode's SaaS product is, imho, borderline unusable).

That said, there is a high bar here for trust, no doubt about it.

<comment><AUTHOR> FYI the recipes are all custom written. The community ones are aren't very standardized and usually are only good for installing from distribution packages.

(And if you look through the install output, you'll also see where they get stored on your server if you want to review anything that's being done.)

<comment><USER9> So I see. Again, this is very cool. I hope you are planning on turning this into a commercial product.

<comment><AUTHOR> We're definitely looking into the right way to turn this into a commercial product...

</comment></comment></comment></comment></comment><comment><USER10> I'm not entirely serious here..

But isn't this kind of running Gentoo on top of Ubuntu?

Having little experience with big deployments: Are people really preferring to build from source to have the latest and greatest? I noticed that I stopped wishing for that a long time ago, when management (and building!) of these packages just felt too much of a burden, compared to potentially slightly outdated binary packages.

<comment><USER11> Gentoo = Compile a whole OS (hundreds of packages)

This = Compile a package (or 2 or 3) to get the latest

A lot of distros package an older version of the software this thing lets you deploy (node.js on Ubuntu for example is at 0.49 on 11.x) so I had to compile 0.6 manually (and yes I know there are PPAs).

I could definitely use this.

<comment><USER10> I wasn't being totally serious, of course. And I could nitpick that Gentoo has binary packages - build from ebuilds (which I tried to compare to these chef receipts, with a grin).

</comment></comment></comment><comment><USER12> I like Centmin for PHP - bash scripts and standard RPMs:

www.btcentral.org.uk/projects/centmin/

Does Rayburst do anything different (apart from different programming languages)?

Is there any reason why Bash scripts can't deliver the same result as Rayburst?

<comment><AUTHOR> The centmin.sh script is designed specifically for that install: CentOS + Nginx, MySQL, PHP. If it works well for you and that's what you need, then definitely keep using it.

rayburst sets up a framework to allow for more customized installs. You can pick the various apps and services and the modularity of the build scripts/recipes handles the install of the configuration. Part of what takes place is figuring out the build dependencies (ex Rails depends on Ruby) which would otherwise have to be hardcoded in a bash script.

</comment></comment><comment><USER13> Tried the site on Safari and Chrome (Snow Leopard) and it didn't really work, I could only select Rails, couldn't customise any options. Seems like a nice idea, and hopefully it's just some weird issue my end.

<comment><AUTHOR> I've checked the site on my MBP which is still running Snow Leopard and couldn't replicated what you were describing. (Although Safari does seem a bit slower than Chrome...)

Could you try it again?

</comment></comment><comment><USER14> Why you need to compile Ruby from source in your bootstrap script?

<https://rayburst.com/i/eaccdda22268af9633720f6d799d5004>

<comment><AUTHOR> I use chef as my behind-the-scenes mechanism for managing the installs. The client is a Ruby application so I build it as a runtime dependency.

I don't use rely on the distribution Ruby because of possible conflicts with gems that would have to get installed. The goal is to be able to get everything installed and then get out of the way.

<comment><USER14> I am curious because I usually use stock Ruby for Chef deployment, just want to know if you have any specific reason(s).

<comment><AUTHOR> It's because I didn't want to mix in the Chef gems and dependencies with the system Ruby. I ran into some conflicts when I was initially building and testing so decided to eliminate the issue entirely.

</comment></comment></comment></comment><comment><USER15> Possible to make the scripts readable?

I would never run the scripts as directed but would be very interested in retrieving the script, reviewing it and then running it myself.

<comment><AUTHOR> You can just run the wget command by itself and save the script to a file

      wget -q -O rb.sh 'https://rayburst.com/i/[server id]'

Then take a look directly at the rb.sh

At that point you can do either

      chmod +x rb.sh
      ./rb.sh

or

      bash rb.sh

to run the saved script

</comment></comment><comment><USER16> How is this different from a script with apt-get or yum? I understand there are some, but not that significant benefit. Did I miss something?

<comment><AUTHOR> With apt-get and yum you're installing pre-built binaries. This works well if that's all you need to do and are okay with the versions that are installed (typically not the latest unless it's a new distribution).

Once you start having to download and build source for apps/libraries that aren't pre-packaged you can run into issues about version compatibilities, where files are located, do you need to download additional packages (*-dev), etc. Having a service that takes care of this for you solves a lot of headaches (part of why rayburst got built in the first place).

<comment><USER16> Then it sounds like gentoo emerge for other distro. It is useful for setup the software stack base, but I still have to log into the server to configure the software and deploy my code.

In my opinion, you either use PaaS or use chef/puppet, depending on your case.

<comment><AUTHOR> The issue is that unless you have standards such as directory locations and structure, users and permissions, there isn't a way to automate the process of code deployment even with chef/puppet.

PaaS works because the provider has a standard and forces you to follow them. I don't mean that in any negative sense. I was in SCM for a number of years and know that kind of enforcement is necessary if you want to have any kind of repeatable, automatable and supportable deployments.

</comment></comment></comment></comment><comment><USER17> Any possibility of supporting Linode? I haven't looked into it, but I'd imagine it's possible and Linode is a awesome provider.

<comment><AUTHOR> The main issue is whether or not ubuntu is offered.

It looks like Linode does offer ubuntu 10.04 and 12.04 so you should be able to use rayburst for your installs.

I'll add them to the list on the next site update.

<comment><USER17> Yea, Linode support both. Thanks.

</comment></comment></comment><comment><USER18> This looks useful.

Why did you use chef vs. puppet? Personal familiarity, or was it better in some externally objective way?

<comment><AUTHOR> I spent a bit of time at the beginning of the project evaluating the two and ended up choosing chef because it was going to be easier to use this way (aka build something on top of).

I will say that it was easier and far less confusing to get puppet up and running initially. There's definitely a bit that needs to be worked out in the chef documentation. The "Ruby"-ness of chef wasn't really a deciding factor as I can work with just about anything as long as it's reasonable.

<comment><USER18> I am slightly ashamed to admit that I'm still more into cfengine than either, and then writing personal scripts to install ~everything.

<comment><AUTHOR> I'm a fan of whatever gets the job done. In the end it's still scripting just with fancier mechanisms to get the process started and report back.

</comment></comment></comment></comment><comment><USER9> Very cool. Are you planning on adding support for the new Ubuntu 12.04 LTS release soon?

<comment><AUTHOR> As soon as I can get a VM loaded and run through the install catalog. I should be able to get that taken care of by the beginning of next week.

It's mostly to fix any build dependencies that have to be installed as distribution packages have name updates. There were a handful between 10.04 and 11.10.

<comment><AUTHOR> So far 12.04 LTS tests out without any need for updates (no build issues or service startup errors reported)

</comment></comment></comment><comment><USER19> would it be possible to display the resulting chef recipes from the chosen configuration on /server/:id ?

<comment><AUTHOR> I'm not inclined to exposing them directly as the recipes rayburst uses are custom and not open source or redistributable.</comment></comment>


Jakob Nielsen: Feature Richness and User Engagement - <AUTHOR> http://www.useit.com/alertbox/features.html

<comment><AUTHOR> Summary: Because of complexity cost, your default strategy should be to minimize features and emphasize simplicity. However, some situations increase the number of features an application can sustain. High user engagement is one such situation.</comment>


Hawking: Time travel will happen - <AUTHOR> http://news.cnet.com/8301-17852_3-20003949-71.html?tag=newsEditorsPicksArea.0

<comment><USER2> The post said that time travel into the future was possible into the future by building a spaceship that traveled at relativistic speeds, proving Einstein wrong. It didnt prove any such thing. So I went to the source article, [http://www.dailymail.co.uk/sciencetech/article-1270531/Hawki...](http://www.dailymail.co.uk/sciencetech/article-1270531/Hawking- backs-possibility-humans-travel-millions-years-future.html), which was just as confused. Who knows what Hawking actually said. Anyway this isnt traveling into the future. It's just the time dilation effect.

</comment><comment><USER3> That's a heck of a misleading headline.

</comment><comment><USER4> The original article is quite clear. The common practice of paraphrasing source documents just to generate content without linking to the source is deeply irritating.

I present Hawking himself for those who don't think some intern at CNet has much to improve on Hawking.

[http://www.dailymail.co.uk/home/moslive/article-1269288/STEP...](http://www.dailymail.co.uk/home/moslive/article-1269288/STEPHEN- HAWKING-How-build-time-machine.html)</comment>


Using a cell phone video to detect traffic speeds - <AUTHOR> https://github.com/mbauman/TrafficSpeed <comment><USER3> I always found the American system of speed limits ending in 5 a bit weird. If you have a modern car that has a speedo going to 150 or maybe even 180 miles an hour, the distance between 20mph and 30mph on the dial is 1-2mm, so tiny that it's _really_ hard to stay in that spot right between them to follow a 25mph limit

<comment><USER4> > ... _the distance between 20mph and 30mph on the dial is 1-2mm, so tiny that > it 's really hard to stay in that spot right between them to follow a 25mph > limit_

You are doing it wrong. You do not need to stay "in that spot" \- you only need to ensure you are not speeding. For most drivers, this is not hard, and if you are not able to do it, perhaps you should not be driving.

<comment><USER3> I especially like how you skipped past the entire point of my post - <USER2> speed limits ending in 5 make little sense, and that's the point I wanted to discuss. Whether I can stay below the limit or not was neither mentioned, nor has any impact on this discussion.

</comment></comment></comment><comment><USER5> This is a fascinating exercise with a disappointing argument and pre- determined conclusion.

The writer notes that higher speed increase likelihood of an injury in the case of an accident. There is no comment on the factors that influence the likelihood of an accident and how these change with speed. By this logic, every road should have a 20mph limit - clearly this would do more harm than good overall.

A better analysis would take into account the utility of all relevant parties (including drivers). This would mean superior solutions such as those that maintain car speed as well as improve cyclist/ped safety could be considered rather than simply constructing an argument to fit one solution the writer has proposed without any evidence that it would even work.

<comment><USER6> Engineering from first principle tells us that roads where cars interact with unprotected humans should have a limit of 20 mph. I'm not sure if this is such a road but overall, because of physics, speed isn't really up for debate.

Edit: Also really sad to see this get removed, flagged(?), from the front page. It was a really cool hack. HN is all about BS and not technology these days it seems.

<comment><USER5> Unfortunately many roads in London have 20mph speed limits now.

They do have a purpose at certain times of day but the inefficiency of doing 20mph when the road, cycle lanes and pavements are largely empty is disappointing.</comment></comment></comment>


Show HN: Generate karaoke video for any song for free - <AUTHOR> https://www.youka.club/ <comment><USER2> Nice work automating this process! I had a similar idea but music licensing is tough so I never thought it could survive in an app store without getting sued into oblivion.

Maybe if it only read the user's own library of songs?

Are you thinking of turning this into an app? I'm curious if you're planning to make this a business or if it's just for fun.

I want to make my fun webapp SuperAnimo[1] into a business, but so far I haven't found product-market fit.

[1] [https://www.superanimo.com](https://www.superanimo.com)

<comment><AUTHOR> thanks mrieck! currently is just for fun, if i got sued i will take it down and open source it. SuperAnimo looks very nice (idea and implementation) but yeah, product-market fit is hard to achieve.

<comment><USER3> As a karaoke fan and singer I like it! I just tried a random song off the top of my head, and it was basically perfect. The voice and instrument were splitted perfectly and the captions were in sync (caption 2 was better; 1 was too short).

I agree as a consumer this isn't super useful even as a karaoke fan; just because every song you type in, it takes a while to work on it (understandably). And like GP said, licensing issues probably make it hard to market this for consumers. But I wonder if you could market it to all the companies that make and distribute karaoke videos for songs (to karaoke shops). I know nothing about that industry, and would not be surprised if there's already tooling that exists for this in the industry, but at least this might be a competing way to do this more cheaply.

Alternatively, there's a lot of Youtubers who cover pop songs. There are probably ways to work with them so they could easily locate vocal-free versions of the songs they want to do.

<comment><AUTHOR> hi godot, thanks for your detailed feedback! i really think about product&fun before money. shorter processing time requires costly GPU.. as i see it, it's a really useful tool for the long tail, because for the popular songs you can use other great services thats produce it professionally (like sing king youtube channel), but the total count is only 30,000 songs from total of 60 millions songs!

</comment></comment></comment></comment><comment><USER4> Neat idea! Reporting my experience: I've tried with November rain but it said the song is too long. Probably it would be helpful to state that in the research bar (?). Then I tried with welcome to the jungle, and the karaoke effect was very very good, but unfortunately the lyrics were totally unsynchronized, by 10 seconds or so. That is a pity as it completely undermines the purpose of the tool...

<comment><AUTHOR> hi ghego1, thanks for your feedback. lyrics to audio alignment is unsolved problem yet, so i use the best tools in existence, which give very good result for 50% of the songs in almost any language. you can learn more about it here [https://www.music-ir.org/mirex/wiki/2019:Automatic_Lyrics- to...](https://www.music-ir.org/mirex/wiki/2019:Automatic_Lyrics-to- Audio_Alignment)

</comment></comment><comment><USER5> This is fantastic for an automated tool! It seems to work really well in the few cases I tried it with.

One area it could be improved in that that lyrics sometimes overlap. As far as I can tell, it always shows 2 lines of lyrics, but sometimes one goes over the other so that they're hard to read.This is probably just a spacing issue that could be fixed with some CSS.

<comment><AUTHOR> hi Reubend, happy to hear that you like it! the overlap looks like a bug in chrome for mac, it never happened to me in safari or mobile browser..

</comment></comment><comment><USER6> they don't say how or where they get the info, and failed to get lyrics of a song, despite recognizing and listing it in the dropdown... no mention of WHERE it tried to get the lyrics and failed...

<comment><AUTHOR> hi jan6, youka here. i'm still in alpha stage, so bugs may happen. i'm search lyrics mainly in public sources. tell me which song you want, i'll fix it for you.</comment></comment>


Building Node.js Together - <AUTHOR> http://blog.nodejs.org/2014/07/29/building-nodejs-together/

<comment><USER2> I'm a .NET developer working in C# and front end JavaScript.

I'm really interested in getting into node.js, since the platform is server agnostic and the language is already familiar.

Can anyone recommend any learning resources, especially for .NET developers who want to make the switch across?

<comment><USER3> Yeah I also would like to know of any good learning resources. I'm a Python programmer, and I know I'd like to learn node.js since it's very likely I will use it in the future.</comment></comment>


Memcached Injections [pdf] - <AUTHOR> https://www.blackhat.com/docs/us-14/materials/us-14-Novikov-The-New-Page-Of-Injections-Book-Memcached-Injections-WP.pdf

<comment><AUTHOR> Just found what w3af's developer wants automate the detection of the memcached stuff: [https://twitter.com/w3af/status/498540579224309760](https://twitter.com/w3af/status/498540579224309760)</comment>


Incidence of Dementia Over Three Decades in the Framingham Heart Study (2016) - <AUTHOR> https://www.nejm.org/doi/full/10.1056/NEJMoa1504327 <comment><USER2> This article points in the opposite direction but it's worth keeping in mind that we will see other age related diseases on the rise, just because we get better are curing other diseases. We will all die of something and if we get better at treating cancer, then some other disease will mechanically increase. That's why I would also take with a pinch of salt studies that show a modest increase in a particular disease and try to pin that on a particular technology or food.

<comment><USER3> life expectancy in the us is droppping

<comment><USER4> This is due to suicide and drug overdose, nothing that would be relevant to this discussion directly.

<comment><USER5> Suicide could account for a lower prevalence of dementia.

<comment><USER6> If it is biased to those who are suffering already or would suffer from it.

Theoretically if depression earlier in life protected against dementia (not likely at all but bear with me) it would actually raise the rates.

I wonder what the actual correlation is however even keeping in mind spuriousness.

</comment></comment></comment></comment></comment><comment><USER7> Could this be related to phasing out lead in gasoline in the 80s?

Interestingly each epoch they look at would have had less exposure than the previous and dementia is going down in each epoch.

</comment><comment><USER8> Title edit: 2016</comment>


Netflix reeling from customer losses, site outage - <AUTHOR> http://www.msnbc.msn.com/id/19932882/ <comment><USER2> I'm not sure that Netflix will be able to compete with the convenience of dropping off movies at a blockbuster store simply with a price cut. I'm a loyal Netflix customer and I walk past a BlockBuster 3 or 4 times a week with my Netflix envelopes in hand to take them back to the post office, which is another 3 or 4 blocks away.

This looks more like a case where a great idea has been taken over buy business people, who are now playing by old business rules. I'm not sure what it would take to compete in this field right now, but they need something more compelling then matching their competitors prices.

Their 'Watch Now' feature is great, although limited by the selection you can watch (although it is still in BETA) and I use to at least weekly while I am eating lunch or something else.

The real problem that they need to figure out is how to become more emotionally involved with their customers. How do they get back to the days when a subscriber would encourage all of their friends to join and saving $1 a month simply isn't enough.

</comment><comment><USER3> The only thing that can save Netflix now is if they build a great way for people to rent videos by downloading them. It can be a software or a hardware solution. They were pioneers in their field when they started, and they need to be pioneers again now to survive.

<comment><USER2> I completely agree, they do need to get that pioneering spirit back into the product line.

Although I think the movie studios are a bigger hurdle to digital delivery then almost any company can overcome. The sheer amount of DRM that they will need to place into any product they create will make it nearly useless and no one will make any money off of it because no one will want to use it.

So here is a good question: How do you solve the DRM vs consumer rights problem while still making money and not getting sued out of existence?

If Netflix answered this one question they would be more then relevant again.</comment></comment>


Facebook Received 250,000 Job Applications In 2010 - <AUTHOR> http://www.allfacebook.com/facebook-received-250000-job-applications-in-2010-2011-03?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+allfacebook+(Facebook+Blog) <comment><USER2> Is it safe to assume that if you don't have a facebook account, you automatically get dev/nulled in your application?</comment>


UK supermarket chain accidentally introduces 20% discount at 140 stores - <AUTHOR> http://www.bbc.co.uk/news/uk-england-essex-35025506 <comment><USER2> sure this was an "accident"?</comment>


Pi is Wrong - <AUTHOR> https://www.youtube.com/watch?v=jG7vhMMXagQ

<comment><AUTHOR> If you, like me, struggled through geometry class more than other math classes, or if you never managed to memorize the relationship between pi and sin/cos/tan, you should watch this. Personally, I think that tau is far more intuitive. If I could go back, I would probably use tau for all my math/physics classes and simply do the conversion tau = 2pi as needed.

Edit: If this interests you check out [http://tauday.com](http://tauday.com) for more.</comment>