Good book for economics - signa11
what would be a good book that would serve as a nice introduction to economics ? i currently am planning to go through "economics, by samuelson and nordhaus". is there something better ?
======
dfens
I highly recommend _Basic Economics_ by Thomas Sowell. The title is not very
imaginative but I found it a great place to start before looking at more
complicated concepts.

[http://www.amazon.com/Basic-Economics-2nd-Ed-
Citizens/dp/046...](http://www.amazon.com/Basic-Economics-2nd-Ed-
Citizens/dp/0465081452/ref=sip_rech_dp_10)

~~~
elidourado
Current econ PhD student here. Sowell is great. There's a 3rd edition out now.

[http://www.amazon.com/Basic-Economics-3rd-Ed-
Economy/dp/0465...](http://www.amazon.com/Basic-Economics-3rd-Ed-
Economy/dp/0465002609/)

------
ctkrohn
I wish I could help you. I majored in economics and math, and can't recommend
a single one of my economics texts. I kept a good number of my math books, but
sold all my econ texts when I graduated.

That being said, you will probably get better results if you specify what you
mean by "economics." There are several disciplines within economics:
microeconomics, macroeconomics, econometrics, financial economics/mathematical
finance, game theory, etc. The material in each of these disciplines will vary
considerably depending on how theoretical the textbook is. For example, a
graduate-level theoretical macro text might talk about general equilibrium
models, but a more practical macro text would cover topics like the
implementation of monetary policy, economic history, the relationship between
the government and the economy, costs and benefits of international trade,
etc.

If anyone knows of a good comprehensive overview of the field, I would be
interested in hearing about it.

------
mooders
Tim Harford's [http://www.amazon.co.uk/Undercover-Economist-Tim-
Harford/dp/...](http://www.amazon.co.uk/Undercover-Economist-Tim-
Harford/dp/0349119856/ref=sr_1_1?ie=UTF8&s=books&qid=1209888755&sr=1-1)"Undercover
Economist and [http://www.amazon.co.uk/Logic-Life-Uncovering-Economics-
Ever...](http://www.amazon.co.uk/Logic-Life-Uncovering-Economics-
Everything/dp/0316027561/ref=sr_1_1?ie=UTF8&s=books&qid=1209888990&sr=1-1)
Logic of Life are both excellent at drawing out serious economic principles
from everyday experiences.

Philip Coggan's [http://www.amazon.co.uk/Money-Machine-Penguin-Business-
Libra...](http://www.amazon.co.uk/Money-Machine-Penguin-Business-
Library/dp/0141009306/ref=sr_1_1?ie=UTF8&s=books&qid=1209888653&sr=8-1) Money
Machine is not directly an economics book, but details the movement of money
through the global economy (but focused on London, specifically) and is an
excellent overview of fiscal policy.

------
mathoda
the best selling book is currently Mankiw's Principle of Economics (Amazon:
<http://tinyurl.com/6euszg>). i highly recommend his blog too
(<http://gregmankiw.blogspot.com/>)

------
lunchbox
It depends if you're looking for a textbook or more entertaining general-
audience book. If the former, check out Principles of Economics, as mathoda
suggested. If the latter, here are Mankiw's recommendations:
[http://gregmankiw.blogspot.com/2006/05/summer-reading-
list.h...](http://gregmankiw.blogspot.com/2006/05/summer-reading-list.html)

------
1gor
Economics is a pseudo-science.

It does not follow the basic principle that knowledge is proved and disproved
by experiments. You can find all the sophisticated mathematical methods you
want in economics, and none of them would stand a test of reality. Most of so
called 'models' come with disclaimers against 'exogenous' shocks, and pretty
soon you discover that our whole life is one big exogenous phenomenon.

No wonder economists today are desperately in search of identity. You can see
them dabbing in psychology, history, social behaviour studies, business
organisation etc. It's all call 'economics', but plucking concepts from
assorted fields does not compensate for a general lack of substance.

'Economics' can include hard factual stuff like how international trade or
balance sheet of a central bank work. Those are hard to argue with because
that is mostly accounting. Like the fact that bloated 'left side' of the
balance sheet should be covered by issued money on the 'right side'.

Mainstream economic concepts such as 'equilibrium' or the horribly misnamed
'Modern Portfolio Theory' are as far from latest scientific understanding of
the world as mediaeval barbers are from the modern medicine.

So instead of polluting the brain with what they call 'economic science' go
and study complex systems theory (or related theory of computations, chaos
theory etc) and you will be a) on the forefront of modern understanding of
economic reality b) will be actually studying Science, not quackery.

~~~
yummyfajitas
Astrophysics/Climate Science/Systems Biology is a pseudo science.

It does not follow the basic principle that knowledge is proved and disproved
by experiments. You can find all the sophisticated mathematical methods you
want in geophysics, and none of them would stand a test of reality. Most of so
called 'models' come with disclaimers against various features, and pretty
soon you discover that our whole life is one big exogenous phenomenon.

Your criticism applies to the study of almost any complex multiscale system.
The fine scales are poorly understood, and most models come with various
disclaimers. Many parameters are unknown, and reasonable quantitative
predictions are impossible. Plenty of examples show models to fail, but they
are still used since they sometimes work.

Life is messy, and studying a mess leaves you with a messy field. It's a
pseudo-science when you stop admitting that, and pretend you have all the
answers. I don't know of any economists who have reached that stage.

~~~
1gor
Mainstream economics refuses to admit it deals with a complex nonlinear
system. And econometrics claims it has all the answers through gaussian
statistics.

~~~
yummyfajitas
I don't think you are aware of much modern economics. In general, the Chicago
school exactly takes the viewpoint that one is dealing with a complex,
nonlinear and nondeterministic system. Neoclassical economics takes a similar
viewpoint.

See also [complexity
economics](<http://en.wikipedia.org/wiki/Complexity_economics>).

As for econometrics, they do exactly what you said economics doesn't do: try
to fit the models to real life, and reveal when the models fail.

~~~
1gor
Thanks for questioning my knowledge. Let me return the compliment. I don't
think you are aware of the fact that a complex dynamical system (the economy)
is deterministic. The randomness implied by stochastic models does not exist
in reality. Complex dynamics looks similar but is a different animal
altogether. Attempts to build global predictive models are futile in principle
and can be compared to attempts to build a model that predicts the weather a
month from now.

Economics needs a philosophical paradigm shift, and of course it is happening
(slowly, and Santa Fe Institute is the place to watch), but is it not what you
find in Samuelson books and in the mainstream academia. That is the point I am
making.

~~~
yummyfajitas
I know a fair amount about dynamical systems. As for whether the economy is
deterministic at the most fundamental level, I suppose that really depends on
your interpretation of quantum mechanics.

Concerning weather prediction, that's my point. Economics is as much of a
science as meteorology is. Economics and meteorology will never achieve the
level of simplicity and accuracy that fundamental physics does. Doesn't make
them unscientific.

------
pchivers
The book that got me started was _Economics in One Lesson_ by Henry Hazlitt
([http://www.amazon.com/Economics-One-Lesson-Shortest-
Understa...](http://www.amazon.com/Economics-One-Lesson-Shortest-
Understand/dp/0517548232)). Published in 1946, and still considered a classic.

------
ivankirigin
Milton Friedman is an excellent writer. Try "Capitalism and Freedom" or "Free
To Choose". Not so much academic discussions about partial derivatives applied
to indifference curves, but very informative.

------
noelchurchill
A Random Walk Down Wall Street. [http://www.amazon.com/Random-Walk-Down-Wall-
Street/dp/039331...](http://www.amazon.com/Random-Walk-Down-Wall-
Street/dp/0393315290)

Required reading for one of my economics classes in college. This is an
excellent book covering the efficiency of markets. Extensively backed by real
world data, this book boils down to some of the best and most prudent
investment advice you can get. I re-read it after graduating just because it's
a great book.

------
davidmathers
One option: assume that there is no one book that can serve as an intro to
economics (I haven't found one yet) and start learning the subject be reading
the 3 great classical economists: Adam Smith, David Ricardo, and Karl Marx.
All 3 were geniuses who had many brilliant insights. And all 3 were wrong in a
similar fundemental way because they didn't fully grasp the concept of value.

Personally I've found overviews (ie "The Wordly Philosophers") to be useless
for real learning.

What I've found instead is that when really smart people are wrong, their
wrongness (how and why they are wrong) is just as instructive as when they are
right. If not more so.

Once you understand classical economics then learn about the marginal
revolution. Follow that by reading Keynes and Von Mises simultaneously.

Almost every notable economist of the last 50 years is, in some form, an
intellectual descendent of either Keynes or the Austrians (Von Mises and
Hayek). Perhaps directly or one of Keynes -> Galbraith or Austrians -> Chicago
School (Milton Friedman).

There are also lots of intellectual descendents of Marx (Thomas Sowell for
example) but they tend to just write about economics rather than being actual
working economists.

Notable Keynesians: Paul Krugman is an excellent writer and wrote several
great popular books in the 90's, I escpecially like The Accidental Theorist.
Brad DeLong worked for the Clinton administration and has a blog.

Notable Austrians: The Marginal Revolution blog (directly inspired by
"Austrians"), Greg Mankiw (worked for the Bush administration a few years ago,
not directly inspired by "Austrians").

~~~
davidmathers
Note: when I say "Austrians" I'm talking about guys who wrote books between
1910 and 1960, not the nutjobs at mises.org and lewrockwell.com.

------
mstoehr
These two are my favorite (that are reasonably priced!). Samuelson is
definitely a formidable thinker and lays the groundwork for much later
economic thinking.

[http://www.amazon.com/Worldly-Philosophers-Lives-Economic-
Th...](http://www.amazon.com/Worldly-Philosophers-Lives-Economic-
Thinkers/dp/068486214X) [http://www.amazon.com/Price-Theory-Milton-
Friedman/dp/020206...](http://www.amazon.com/Price-Theory-Milton-
Friedman/dp/0202060748)

However if you go with the Samuelson, Fridman, and Heilbroner you'll be
missing out on some key concepts relating to information and games, which are
essential for understanding modern developments in economics.

So, I would also look at Myerson's Game Theory [http://www.amazon.com/Game-
Theory-Analysis-Roger-Myerson/dp/...](http://www.amazon.com/Game-Theory-
Analysis-Roger-Myerson/dp/0674341163)

Finally, the empirical side of economics is quite important, and it is
essential for investigating whether the theoretical conceptions (say in
Samuelson) actually hold up. There are many bad texts, and the seminal ones
(Greene) are quite difficult in the beginning. So, I recommend a pedagogical
text that uses the likelihood approach. Although, this is, by no means, a
comprehensive text, you can certainly gain an understanding of a basic
econometric study [http://www.amazon.co.uk/Econometric-Modeling-David-Hendry-
Ni...](http://www.amazon.co.uk/Econometric-Modeling-David-Hendry-
Nielsen/dp/0691130892)

That should give you a broad introduction. Also, checkout
<http://papers.ssrn.com/sol3/DisplayJournalBrowse.cfm>, which is an excellent
resource with many free papers.

Good Luck!

------
ludwikg
I would start with this one: [http://www.amazon.com/Economics-One-Lesson-
Shortest-Understa...](http://www.amazon.com/Economics-One-Lesson-Shortest-
Understand/dp/0517548232), or free online at
<http://jim.com/econ/contents.html>.

------
jackdied
If you are asking for introductory economics +1 for "Basic Economics" by
Sowell and "Free to Choose" by Milton Friedman (Sowell is one of Friedman's
proteges).

PBS made "Free to Choose" into a series back in the 1980s. You can find all
the episodes on YouTube.

------
danohuiginn
Get hold of at least two textbooks. In economics even more than elsewhere,
each book will give you a different perspective.

If you're feeling really adventurous, pick up a second-hand textbook that's a
decade or two old, and keep an eye on how the orthodoxy has shifted.

Which to buy? The best-sellers are all pretty similar: quite clearly written,
but maybe longer than they need to be. Mankiw, Samuelson/Nordhaus and
Baumol/Blinder all seemed OK to me; I'm not aware of any truly exceptional
econ. textbook.

------
systems
[http://en.wikipedia.org/wiki/Economics#History_and_schools_o...](http://en.wikipedia.org/wiki/Economics#History_and_schools_of_economics)

Most books can be very dry, i would recommend looking for something more edgy
and opinionated

This is why i recommend googling and reading online articles such as the link
above

Economics is a very debated field, i would recommend that would follow the
debates and the debaters

classic school vs neo classical ... this is where the most fun is

------
epi0Bauqu
[http://www.teach12.com/ttcx/coursedesclong2.aspx?cid=550&...](http://www.teach12.com/ttcx/coursedesclong2.aspx?cid=550&pc=Business%20and%20Economics)

It is an audio course (also avail) on DVD from the Teaching Company now in its
third addition. Taught by Timothy Taylor. I've read a lot of economic books
and taken a lot of courses, and I believe this is the best introduction.

------
rms
Accept no substitutes:

<http://en.wikipedia.org/wiki/Das_Kapital>

------
freikwcs
Not much else to add except I would recommend picking up two books as well.

1\. A standard price theory text that will give you the basic tools of
economists.

2\. A book that provides real-world applications illustrating how these tools
are used. (I agree - Basic Economics by Sowell is a great place to start.)

------
lacker
I don't know a good book but I can recommend an excellent blog, Marginal
Revolution:

<http://www.marginalrevolution.com/>

Not the intro-topics sort of material, but very interesting. Closer to
Freakonomics style.

------
mhb
Price Theory: An Intermediate Text by David Friedman. Online version:
[http://www.daviddfriedman.com/Academic/Price_Theory/PThy_ToC...](http://www.daviddfriedman.com/Academic/Price_Theory/PThy_ToC.html)

------
Soothsayer
"Economics and Making Decisions", by Kourilsky, Dickneider, Kaplan, and
Tabbush. It was the first of many economics books that I have read, and I
still haven't come across a better primer.

------
davidw
This one's free on line:

<http://www.introecon.com/>

------
michael_dorfman
I can't think of a better textbook than Samuelson.

------
ideas101
I strongly recommend:

The Dollar Crisis: Causes, Consequences, Cures By Richard Duncan


Review HN: BillMeBob.com - Generate free invoices with no signup - SingAlong
http://billmebob.com

======
sgrove
Very cool! Invoicing is a terrible (and least interesting) part of freelancing
and consulting. This looks like a great MVP. I especially like that when I
print it out, that there's no big "billmebob" logo at the top there.

I think it would be fair to put a self-promotional link/tagline at the very
bottom of the page though.

Also, allowing me to email directly from the page would probably be nice. At
the very least, just do a mailto: link with the subject and body filled in for
me to just hit "send" :)

Awesome MVP, definitely keep us up to date on the iterations!

~~~
leftnode
Yeah, this is awesome. Everything I need and nothing I don't. If you allowed
me to upload my company's logo for each invoice, that'd be even better.

I do freelance from time to time, but not enough to justify spending any money
on an online invoicing service. This does exactly what I want without having
to have an account.

Bookmarked, great job!

------
cj
I would have a preview of what the invoice would look like before making me
fill out everything. If the formatting is not what I am looking for, I
wouldn't want to spend the time filling out the form.

~~~
oldgregg
I tried it. Don't waste your time.

~~~
kno
It’s certainly not world class but its still not the worst I’ve seen around
here. Give the guy some constructive critique, give him a chance.

------
ABR
Very clean, and simple = Time Saver (as opposed to InDesign etc). I'm glad you
launched this app, and from one who has studied SaaS - it's a great business
model. Kudos. I must agree, the simplicity is something I value. I will refer
this to my friends. Keep up the good work, SA.

------
Vekz
I used to do freelance web development work and invoicing was always such a
pain. You either roll your own, use a paid system, or something totally
bloated like quickbooks. This is great for individuals doing short projects.
Great MVP. hope you pick up some adoption.

------
milep
Looks nice. One suggestion, when you change from products to services, it
could change the quantity to hours and per unit to per hour as a default?

------
petesalty
Great, super easy to use. Liked it a lot. couple of suggestions:

1\. White labeling - Let me get rid of the logo at the top and replace it with
my own. Similar on the domain, maybe something like my_company.billmebob.com.
Maybe these are things you could charge for.

2\. Sign in - let me sign up after the first one and have it remember things
like my company name, address, and maybe even companies I've billed before
(I'm likely to do it again and don't want to repeat entering that all the
time). Possibly something else you could charge for.

3\. Recurring invoices - email the same invoice every month/week/etc.
automatically. Probably need some kind of user account for that.

------
jamesbond
Here are two ideas that could be interesting, while keeping the product bloat-
free: \- Add an option to print the invoice in another language; \- Add a link
to a PDF version (although I could "print to PDF" if I weren't lazy).

I'll bookmark it for sure, though I am waiting for the French version of the
invoices. I've had such an idea a while ago but never really went forward with
it, you beat me at it ;) By the way, I love the name!

------
jonpaul
I really appreciate the simplicity. Please keep it simple. Don't listen to all
the naysayers who want X,Y,Z feature. You'll end up alienating the users who
actually enjoy your product.

Thanks, I will actually be using this.

------
gte910h
That's excellent!

If you take fields for the google checkout and paypal links it would be
better. If it also generated a emailable letter which could be copy pasted
into an email it would be fantastic.

~~~
gte910h
You also should point out what you use the data for.

I know I'd be hesitant to type my customers' addresses into such a system.

~~~
SingAlong
Thank you everyone for your feedback and suggestions.

The data will be used for nothing except displaying your invoice. Also, i made
the urls look dirty with those random characters instead of letting people
choose shorturls to keep invoice details private. There's no/will be no page
anytime that would list the invoices. So they are all safe.

P.S: pdf and mailing option coming in the next few hours.

~~~
gte910h
Another tack is a "don't take it off the page" javascript thing that generates
the invoice without ever submitting the address to the server.

------
crc5002
I think that the interface is very nice.

Re. privacy, it may be a good idea to disallow invoice URLs in robots.txt,
using a common pattern or subdirectory.

------
shadowz
Although simple, I do think you could use a little more design. I'm not
talking about eye candy graphics. Just some CSS touch-ups would do.

------
danskil
A minor usability point. If you hover over an X on the left, your cursor
should change to a hand. Site looks good.

------
davisml
It looks like an ugly version of the original Invoice Machine (which also
offered free invoices without signup).

------
pierrefar
Great little MVP.

Any way of keeping track of invoice numbers? Will require a login or maybe
just cookies.

------
stulogy
would appreciate your thoughts on Invoice Bubble which is my app. It's not
free, but it does have SSL security, PDF attaching, client management and
stuff like that - but really simple and only $5. <https://invoicebubble.com>

------
davidw
Nice - I was expecting it to be US-centric in terms of currency or something,
but it's not. Thanks!


Remote Work Resources - jeanlucas
https://gist.github.com/jeanlucaslima/1da263f81842058cf512a61d85ada4c1
======
jeanlucas
I compiled this list lately, what am I missing?


Petition to put Alan Turing on the next £10 note - dave1010uk
http://epetitions.direct.gov.uk/petitions/31659

======
j_baker
I think I speak for everyone here when I say that Turing's bill should be a
power of two. I think Turing should get a £5.12 bill.

~~~
acheron
Maybe it's £10 in binary.

------
twiceaday
"Turing's homosexuality resulted in a criminal prosecution in 1952, when
homosexual acts were still illegal in the United Kingdom. He accepted
treatment with female hormones (chemical castration) as an alternative to
prison. He died in 1954, just over two weeks before his 42nd birthday, from
cyanide poisoning. An inquest determined it was suicide"

"On 10 September 2009, following an Internet campaign, British Prime Minister
Gordon Brown made an official public apology on behalf of the British
government for the way in which Turing was treated after the war."

Putting him on the money would further the apology.

~~~
Jabbles
I don't want Turing put on a note as "an apology". There are thousands
(millions?) of people who have been mistreated by unjust laws in British
history, of which Turing's case is sadly not the worst example. Turing's
accomplishments in Computer Science and the help he gave the Allies in WWII
are cause enough.

~~~
bdg
Amazing contributions towards defeating the Axis. Response? "Yeah... but, at
the time, being gay was illegal, so, ya know."

~~~
VMG
That was not the response. The actual response

 _It is tragic that Alan Turing was convicted of an offence which now seems
both cruel and absurd-particularly poignant given his outstanding contribution
to the war effort. However, the law at the time required a prosecution and, as
such, long-standing policy has been to accept that such convictions took place
and, rather than trying to alter the historical context and to put right what
cannot be put right, ensure instead that we never again return to those
times._

[http://www.guardian.co.uk/uk/the-
northerner/2012/feb/07/alan...](http://www.guardian.co.uk/uk/the-
northerner/2012/feb/07/alan-turing-pardon-lord-mcnally-lord-sharkey-computers)

------
Jabbles
The Bank of England already has him on their list of candidates.

[http://www.bankofengland.co.uk/banknotes/Documents/about/ban...](http://www.bankofengland.co.uk/banknotes/Documents/about/banknote_names.pdf)

~~~
schiffern
That's a list of names suggested by the public, not candidates that the Bank
of England is considering. Surely it's unsurprising that he is among the 154
suggested names.

"Inclusion on the list does not imply any endorsement by the Bank."

The petition still has value.

------
estel
I'm not sure what the point in this petition is: surely responsibility for the
design and circulation of currency lies solely with the Bank of England and
not HM Treasury?

~~~
schiffern
"We therefore call upon the Treasury to request the Bank of England to
consider depicting Alan Turing when Series F £10 banknotes are designed."

~~~
estel
But we shouldn't want the Treasury to have a say in this!? Allowing the
Treasury to have a political say in what the Bank can put on their banknotes
opens up a whole can of worms that it would be infinitely preferable to be
left unopened.

~~~
schiffern
They still wouldn't "have a say"; it's simply a request. I admit ignorance of
English political delicacies, however.

------
r4vik
what's wrong with Darwin?

~~~
estel
I don't know that anyone was claiming there was something wrong with him, but
a new £10 note will be issued in the near future as part of series F that will
feature someone else.

~~~
r4vik
I'd argue that Darwin is even more important, we should petition to keep him
on there.

Alan Turing is a huge personal hero and agree that it'd be great to have him
on a note, but just wish it was another one.

------
Kolya
I would prefer if Darwin remained on the £10 note and Turing was put on the £5
note instead.

------
richardk
Why is this a petition?

~~~
AndrewDucker
Because in the UK if you get 100,000 signatures on a petition you can get it
debated by The House Of Commons.

~~~
chimeracoder
Whereas in the US, if you get 25,000 signatures on a petition, you get... a
polite response summarizing the talking points you already knew, and
explaining why nothing will change.

That is, if you're lucky - I believe we're still waiting on the promised
response to this one:
[https://wwws.whitehouse.gov/petitions#%21/petition/actually-...](https://wwws.whitehouse.gov/petitions#%21/petition/actually-
take-these-petitions-seriously-instead-just-using-them-excuse-pretend-you-are-
listening/grQ9mNkN)

~~~
excuse-me
It doesn't have to be seriously debated - it just has to be officially
mentioned, it's still just democracy window dressing.

~~~
semanticist
It doesn't have to be debated at all - if a petition reaches the threshold
then the committee just 'consider' it for a debate.

There was a petition to abandon the recent NHS reforms that reached the
threshold and wasn't put forward for debate.

~~~
chimeracoder
Okay, so it's not really any better than the US system.

Incidentally, in the 24 hours after I posted that, they did in fact finally
release a response to that petition. It was _long_ after the deadline that
they promise for petitions that reach the threshold, and it wasn't much more
than a justification of what they already do, but at this point I doubt
anybody was expecting anything more.

------
samwilliams
I think this comes with particular weight after this...
<http://www.bbc.co.uk/news/business-17405016>


A Recommendation for Google's Webspam Team - duck
http://www.seomoz.org/blog/a-recommendation-for-googles-webspam-team
======
WillyF
I like Rand's proposed solution, and I'm confident that the folks at Google
can come up with something even better and more effective.

I'm finding that natural link building is getting harder and harder. Much of
this is because social media sites (that often use nofollow) are now how
people talk about stuff they like. And when they do have a Tumblr or
Wordpress.com blog, the links aren't very valuable.

Most of the valuable links that I've been able to build lately have come from
my asking people to link to my sites. In a way, we're seeing more and more
PageRank inequality. The people who control the sites with the most link
equity know what they have, and they're not willing to share.

I'm lucky that my niche isn't completely commercial, so there are still plenty
of easy, valuable links to build, but I can't imagine how tough it would be to
SEO a site in a competitive, commercial niche.

------
jefflinwood
Rand's blog post demonstrates that there's now a pretty big disconnect between
anchor text keywords and actual link quality - he makes an excellent point
that natural links aren't likely to put the keywords directly into the anchor.

It's such an interesting problem - on one hand, you have autoblogs populating
the internet with Made-For-Adsense keyword-stuffed content that would soak up
long tail search results, so Google can't just ignore inbound links as a
measure of relevance, and on the other, you have keyword-stuffed anchor text
links that aren't particularly relevant to the content of the page they're on.

What other page metrics would one use to measure relevancy today that wouldn't
be as susceptible to SEO gaming?

------
praptak
The proposed solution requires a lot of manual tweaking: _"Have manual spam
raters spot check through a significant sample size of the pages"_ , _"If the
false positives follow some easily identifiable pattern, write code to exclude
them and their ilk from the filtration system."_

Google seems to avoid this kind of thing as a principle.

~~~
lmkg
Not really. This step basically says either "Look at the data and use that to
guide how you write your algorithms" or "manually curate a statistically
significant set of training data." You're not having the humans look at the
data and include/exclude links or sites, you're having them look at the data
to figure out heuristics for applying to the eight hundred billion pages they
didn't look at. This step doesn't need to scale, so manual labor is not an
incorrect solution. Given the context, and the ever-evolving nature of SEO,
having human review is necessary part of the process, and this is the best way
to add that human element in a scalable fashion.

------
tnorthcutt
What is the purpose of only notifying 65% of the sites found (and publicizing
it that way)? Is that to create some uncertainty, so that even sites that
weren't discovered by this method will give some thought to changing, for fear
that they are part of the 35% not notified?

~~~
bryanh
I thought it was for exactly this reason. He doesn't elaborate though.

------
ladon86
Great post. I don't know a lot about how well this would work in practice
(perhaps Matt Cutts could comment), but anchor text link gaming is a huge
problem and this sounds like a decent solution.

Many of Google's results have started to 'feel' really bad lately - I'm doing
a lot more wading through crap and a lot less finding what I want quickly.

------
pornel
Maybe they're not tackling this problem, because they realize it's futile?

If exact keywords stop working, spammers can easily start adding extra words
or variations to anchor text (with something like Markov chains one can create
lots of believable variations).

------
DanielBMarkham
The only thing I would add would be to make sure the links are cross-domain.

I can imagine several different websites operating in a target niche, say home
mortgages, that might have menus and pages and such that reflect common search
terms in that area. In fact, if you think about it, if you're writing for a
niche you should anticipate what people want to know about that niche, and
search terms give you that, so there's quite a bit of commonality.

But as long as the links were cross-domain, sure, makes sense to me.

I just wonder if there aren't a lot of more edge cases like this. At the end
of the article he kind of waves his hands around and says something like "and
if this doesn't work, then you can use artificial intelligence and machine
learning"

That's a sign that perhaps there are many more holes in this line of attack
that he just doesn't care to deal with. Don't know.


Heroku for PHP - Private Beta Signup - cardmagic
http://phpfog.com/

======
mdasen
I don't think there's a huge market for what Heroku does in the PHP world.
With Rails, you want to run it as a long-running process. The amount of time
to spin up a (Thin|Mongrel|Unicorn|etc.) is too long to do it based on a user
request for a page and it's why Rails isn't run as a CGI.

PHP is a bit different. The language is typically embedded in the server and
then the individual files are parsed and run. There's little configuration
other than uploading the files since the server can just interpret the files
ending in ".php".

Heroku needs to be able to put your application code on multiple servers and
know which servers are responsible for your application. When one of your
Thins isn't working, they need to kill it and spawn a new one, potentially on
a new server and make sure they update their routing table. It's a tad
complicated.

PHP Fog doesn't have to do much. Heroku is running around 65,000 applications.
Assuming that applications are under 30MB (for the hard drive), a RAID-1 with
2TB drives on every server they have would do the trick with a simple load
balancer sending requests to a random server would do the trick. Your code is
resident on their 15 app servers, a request comes in and gets routed to a
random one, it parses your PHP and returns a response. The application isn't
in memory as a long-running process like it is with Rails. Heroku already just
has shared or dedicated database servers. There's no fancy process monitoring
that you need since you only have to ensure that Apache is still going strong.

But that's also why PHP Fog won't do as well. They aren't taking on as
difficult a challenge as Heroku. They don't need to run something like god or
monit to monitor lots of user processes. They don't need to pre-spawn
application servers. They don't need fancy routing to keep track of what
domain is being requested, what application belongs to that domain, and on
what server that application is located. Because PHP doesn't usually involve
long-running processes, it's taken care of for them. In fact, there are
services like this already such as Rackspace's Cloud Sites (which puts your
PHP or ASP code on multiple boxes, has a shared database, and loadbalances
it). The same situation exists with Media Temple's Grid Service. Media Temple
says, "hundreds of servers for the price of one". That's possible because the
application code takes up such little space and can be easily replicated since
it doesn't store state. Rails and Django users on Media Temple have to buy a
"container" which comes with a certain amount of RAM on a specific box -
because they need to keep the application in memory.

Rails deployment will get a lot more people on board because it's more
difficult to do. You have to manage application processes. PHP deployment is
already seen as something that "just works". And if someone is going to argue
that this "just works" a little better, wait until different users are
expecting different php.ini stuff - or they expect to be able to save to the
local filesystem because that's what the code they downloaded does or do a
highly insecure cross-domain require or all of the various things that can't
"just work".

They could still be a very good webhost, but they aren't solving the same
problem as Heroku and others (including Media Temple and Rackspace) have
already gone the multi-server, auto-load-balanced and managed failover route
for PHP (just not using git).

~~~
noodle
i disagree, somewhat. yes, this won't provide truly comparable services to
heroku. clearly. the languages and stack don't work the same way.

but i think the point of this is to communicate the fact that they're
abstracting out the server and scalability details. i'd pay to not have to
worry about all that stuff and just work on the app.

if this thing will handle the server for me, keep it secure and up to date,
provide me with a database that will scale with my app like amazon's RDS,
provide me with meaningful data and metrics about my
server/application/database, and provide me with things to make common tasks
easier (deploying), then imo, it is worth me paying for it, or paying a small
premium on top of what i'd be paying amazon or whoever. but then again, i'm a
solo bootstrapper. the more time i have to develop, the better.

"heroku for php" might not be a great choice of a tagline from a strategic
perspective, but it is a decent one if you want to consider SEO and organic
search results.

~~~
cardmagic
This wholly encapsulates the philosophy we are bringing to PHP Fog... let us
deal with the plumbing and you deal with development.

~~~
cfpg
So, it's basically a PHP shared hosting with source control(git)? I would try
it.

~~~
cardmagic
It will let you seamlessly grow from shared to dedicated hosting (and back
again) as needed for either your application serving or database needs.

~~~
gabriele
this is pretty much what Mediatemple.net already offers with Containers for
their GS (shared hosting). They don't have PHP Containers but they do have
MySql Containers that are automatically instantiated if traffic spikes. I
think you could really make a difference by offering killer features on
demand, like isolated memcached instances, redis, cassandra/mongoDB and
RabbitMQ.

edit: email submited

------
cmelbye
_like Heroku, but better_

Somehow I doubt that, but the service looks interesting. I wonder if there is
a market for high quality PHP hosting.

~~~
dotBen
"Like Heroku but for PHP" would have been a less arrogant slogan IMHO.

Actually a lot of top tier websites are built in PHP (Facebook's front end is
a good example) and so I don't doubt there is middle tail in there that might
jump on a Heroku-style managed black box hosting platform.

~~~
cmelbye
The only reason they can use PHP in the front end is because they have a lot
of different backend and frontend services to compensate for it speed-wise.
Facebook uses HipHop, backend services written with C/Java/etc(?), and lots of
interesting frontend JavaScript stuff to speed up page loads. Wikipedia has
literally hundreds of Squid servers to cache requests, so most visitors never
touch code that was just generated with PHP. Needless to say, this would be
unlikely to be possibly using PHP Fog. (This comment sort of turned into a PHP
is slow argument, oops. My point should still come across though)

------
qeorge
Put in my email for an invite, its going to come down to pricing.

My initial skepticism is that deploying PHP apps is easy, and Fantastico
already gives us 1-click installs for stuff like Drupal and Wordpress. So
you'll have to provide all the value on the sysadmin side.

However, we do have a couple of apps that require load balancing. I'm pretty
happy with the dedicated server and load balancing prices we get from
WiredTree already, but I'm always looking for new opportunities.

~~~
whalesalad
The benefit here is the git integration. I'd also assume that the control
panel is going to be thousands of times easier to use and more efficient than
Cpanel/Fantastico (which is pretty gross in my opinion)

I also dropped my email address in out of interest, but I agree this is
definitely something that isn't needed for PHP. The web that we have right now
was built for PHP. 99.9999% of hosts support it out of the box, and offer one
click installs. If you're running your own app, it's just as easy to get that
running with PHP.

What we really need is a Heroku for PYTHON! And Google App Engine is NOT the
answer.

~~~
dotBen
Why is Google App Engine not the answer for Python? Is it "the man" element or
is there something at a technical level you don't like or missing?

~~~
mseebach
Google limits you to using their own key/value store instead of a regular,
relational DB. This makes it hard to migrate to and from GAE, so there's a
fair bit of vendor lock-in.

A Heroku app can run anywhere else, out of the box.

~~~
blasdel
BigTable is not a motherfucking key/value store. It's a sorted tuplestore with
built-in multidimensionality. Hypertable is a direct clone, HBase and
Cassandra use the same style of API but have slightly different storage
backends.

Just because it isn't a SQL database doesn't mean it's non-relational or
key/value.

------
silvertab
Interesting idea! I'm curious to see what exactly this service provides
(considering PHP deployment isn't exactly hard, as others mentioned). I would
certainly love to see such a setup for Python frameworks...

~~~
reynolds
Doesn't Google AppEngine solve this for Python?

~~~
ianb
It mostly does, except that the environment is restrictive enough it's not
like normal Python, everyone who uses App Engine really writes _for_ App
Engine.

------
tlrobinson
If all you want is the git deployment workflow it's incredibly easy to do on
any host that give you SSH access (including shared hosts):

[http://stackoverflow.com/questions/279169/deploy-php-
using-g...](http://stackoverflow.com/questions/279169/deploy-php-using-
git#327315)

I've been using this on my personal site and it works great.

------
jqueryin
The details are minimal in regards to what happens between pushing changes in
git and the source code being updated in the cloud. Could you elaborate?

------
cardmagic
Hey fellow hackers, would love your feedback for making this a killer service.

~~~
tlack
Prefer scp/sftp over git. Am I supposed to publish site assets like 20gb of
images in git? You can still trigger server-side actions when a file is pushed
if you allow ssh.

Other than that, more details on the service would be nice. How do you scale
MySQL for instance? I'm a technical guy so low level details are an important
aspect for me.

~~~
bphogan
With Heroku, you'd store those 20gb of images on S3. Then you have thm in
development as well as production. And once they're up, you don't have to move
them around.

------
pbiggar
This will be very popular. Proof:
[http://code.google.com/p/googleappengine/issues/list?can=2&#...
I
briefly considered making this, and the Python equivalent. Warning: I have
worked extensively with PHP internals, and you are going to have a very bad
time making this safe and secure.
I would suggest you add an option to use
HipHop, the Facebook compiler, as an option. That would be a great selling
point.

------
billclerico
since rails has so much convention, you can write a system that scales it as
long as peopel follow that convention.

PHP is a free for all. Different frameworks do things differently and need to
be scaled differently. Lots of people don't use frameworks. I think it will be
hard to write a "one size fits all" infrastructure solution for PHP, like what
Heroku did for Rails.

------
pclark
this feels very similar to Fantastico?

------
Raisin
Anyone know of a django/python set up like these?

~~~
GVRV
See if maybe <http://kutoken.com/> fits the bill.

------
SingAlong
the problem that PHP doesn't have is configuring the environment to run it.
You just install a few pkgs and boom!

Even plugins come in php itself and aren't seperately pkged. There's no gems,
no seperate server to serve the ruby backend. Just upload/push your code and
it'll run. And any cheap host would do it. The _only_ advantage I see here is
that I can increase my resources for the app (if it's like heroku) just with
the click of a button without restarting the server.

But I can't wait to be proved wrong. All the best guys :)

------
pclark
also no screenshots, no video, no hands on? boo.

------
bgnm2000
Seems insane and rude to say its better than Heroku, the service which clearly
inspired yours.

------
jared314
Someone needs to build a Heroku for Clojure.


Ohio car dealers want to prevent Tesla from selling in the state - MikeCapone
http://www.treehugger.com/cars/groundhog-ev-day-ohio-car-dealers-want-prevent-tesla-selling-state.html

======
thecolorblue
I feel that Ohio is getting a reputation as Luddites, that go out of their way
to prevent change, specifically new technology. Anyone from outside of the
state feel the same way?


Auto companies are lacking key ingredients for the future of the automobile - cocoflunchy
https://medium.com/backchannel/the-auto-industry-won-t-create-the-future-ba1867c9f0d7
======
burgreblast
This is a great post from someone not in the industry.

Car companies can't outsource production to Foxconn.

Source: gesamtprojectintegrationleiter (complete project integration director)
for a german car brand. After the car is "finished" setting up the production
line and making the tools is a 24-36 month process. You _need_ suppliers both
for sheer capacity and expertise. On my project, 17,000 parts (most with
subcomponents) coming together. THEN crash, emissions, certification, etc.

Easier of course to do at small scale like Tesla, but growth and capacity
planning are huge topics. Tesla's run rate is what 30K cars per year? (not
sure, just a guess). BMW sold 2M cars last year. Factories, suppliers, labor,
paint, tooling (not the fun stuff) consumes an unbelievable number of cycles.

Obviously that revolution will come from software, but there's no getting
around the hardware. One of the software co's will have to buy a car company
to achieve revolution and scale.

~~~
ctdonath
So build a Foxconn.

Someone is moving to create a billion dollar scale auto manufacturing facility
in Atlanta. Seems nobody knows who, but guesses abound.

Both Apple and Tesla realize this is a solvable problem and have the money to
make it happen. Blog Wait But Why brilliantly detailed the the return to first
principles for enormous cost savings. We've seen it before, we'll see it
again.

Someone did create Foxconn, after all.

~~~
Dwolb
To become a 'Foxconn' of automotive is really an interesting idea. The model
of designing a vehicle might have to become more constrained which cuts right
into the core of the automotive industry's design processes and car model
portfolios. They're trying as hard as possible to horizontally differentiate
from the competition and vertically differentiaite to access more segments.

A billion dollar plant isn't really novel for the car industry - that's what
it costs to bring a new facility for a model or family of models online.

I think the missing link to do what you're describing (a 'flow shop' that can
be very rapidly reconfigured to act like a 'job shop') would take an order of
magnitude or two more investment which, given the automotive industry's
single-digit profit margins, may be too risky for the incumbents. I've heard
of Tesla trying to do this, but not without major difficulty (no one has ever
scaled this while simultaneously building a brand new company and car and
distribution network and being at the forefront of aluminum body components,
etc.)

~~~
ctdonath
Thing is, there really isn't that much differentiation between automobile
models. Everything out there is basically a sedan, SUV, or pickup truck (even
the Jeep Wrangler is being forced, kicking & screaming, into the SUV form)
with little meaningful difference between variants. In "trying as hard as
possible to horizontally differentiate from the competition and vertically
differentiate to access more segments", manufacturers are trying _really_ hard
to make car-making as hard & difficult & expensive as possible. So back to
basics: it's not that hard, it's a well-understood process with a robust
supply chain ... an industry ripe for one company to arise focusing on turning
designs into vehicles, without the additional overhead of design & marketing.

Insofar as the "flow shop" for car manufacturing "would take an order of
magnitude or more investment", well, we all know one company that _does_ have
that kind of cash (!) lying around, and the interest in re-inventing the
automotive industry.

~~~
burgreblast
> manufacturers are trying really hard to make car-making as > hard &
> difficult & expensive as possible.

I think you may be under-estimating the complexities market. In fact, the
cheapest models in a give product are often the highest volume. So you have to
deliver maximum _value_ in each price segment.

It's not solely about price: The last brand to compete primarily on low-price
was Yugo. How'd that turn out?

Also, if marketing is so non-essential, why does Google make any money? For
that matter, how many non-free [choose your industry, including software]
companies don't use paid-for marketing?

------
w_t_payne
I work for one of the tier 1 automotive suppliers mentioned, and the author
couldn't be more wrong about data.

We have exceedingly large data sets -- equating to millions of km of driving
from locations all around the globe -- and we use that data in a very
disciplined and very effective manner.

(My particular area of interest is in the use of off-line machine learning
algorithms to analyse and optimise the algorithms that go onto the vehicle as
embedded software).

~~~
phoboslab
So where's the data from?

~~~
w_t_payne
We buy lots of cars, equip them with lots of different sensors, design and
manufacture data recording systems to fit in them, organize configuration-
management systems to manage and track changes to these test platforms, then
drive them around collecting data, driven by the requirements that are placed
upon our algorithms and systems, then analyse the data using both automated
and manual methods.

It _is_ a time-consuming and capital intensive endeavour, no doubt about it.

------
dandare
I bought new car recently and all the electronics is a bad joke. Especially
the "on board computer" with "large touch enabled screen". Low resolution,
dull colours, limited viewing angles, broken UI, bare minimum of functions. UX
of a washing machine. Dear automakers, just open up the APIs to aircon and
seatbelt sensors and leave a big hole in the middle of the front panel with
USB-C connector and don't force your obsolete technology on me. Any half
decent Android tablet is vastly superior to whatever "computer" you hardwired
into the car back in 2007.

~~~
danmaz74
But you don't entrust your life - and that of your family - to any half decent
Android tablet. With cars, you can't "break things, move fast" as in some
other industries.

~~~
marssaxman
I'd rather trust my life to a half-decent Android tablet than whatever
insanity the carmakers are likely to have perpetrated in their firmware, but
the real answer is that it shouldn't matter. Only a criminally irresponsible
degree of incompetence can justify the connection of any of that fancy crap to
any part of the car that has anything to do with its actual operation through
any connection more substantial than power+ground.

------
jasode
If one mentally redefines what a "car" will become, it can inform (and also
mislead) predictions.

Several industry writers have jokingly observed that a car like Tesla is
really a "laptop with wheels".

If we extend that reframing to say that future cars are really "robots with
wheels", it doesn't look so preposterous that Tesla, Google[1], and Apple
(rumoured self-driving car) could dominate Ford, GM, Toyota, etc. It seems
possible that a 75% or more of a future car's R&D costs will be the sensors +
computer algorithms + petabytes of cloud data integration instead of things
like the tires, paint formulations, suspensions, etc.

To riff on a phrase from CEO Reed Hastings, _" The Goal Is to Become HBO
Faster Than HBO Can Become Us"_ ... it seems reasonable for Tesla/Google/Apple
to acquire competencies in assembling chassis with wheels faster than
Ford/GM/Toyota to acquire competitive knowledge in robotics+algorithms. Time
will tell.

[1] robotics company acquired by Google:
[https://www.youtube.com/user/BostonDynamics](https://www.youtube.com/user/BostonDynamics)

~~~
w_t_payne
The automotive industry isn't populated by idiots -- but writing safety
critical software isn't the same as writing an app.

It is true that there is no _fundamental_ conflict between modern software
development practices (Agile etc..) and process-maturity oriented standards
like ISO15504 / ASPICE / ISO26262 / DO-178b etc... but writing the tools,
build-systems etc... that let these differing concerns coexist in harmony
_does_ take some careful consideration, planning, and organisation.

~~~
vlehto
Also "chassis with wheels" is easy. Congrats, you have built a trailer.
Building a car to satisfy modern consumer is not that difficult, but it isn't
trivial either. And it will be expensive.

Software companies are good at making software. But car manufacturers
currently are some of the leading experts in computer modelling of physical
world.

~~~
w_t_payne
Quite. Also, organising engineering teams on a global scale isn't trivial ...
and much of the engineering process is about coordinating people, rather than
specifically being concerned with the things that those people are doing.

------
jkot
Maybe I am wrong, but I think key innovation is to reduce cost and
environmental impact. Tesla and other high tech cars are maybe cleaner to run,
but have large footprint due to their complicated production.

At this front leader is India and China. Tatu in India is doing stuff like
gluing car parts together. And China has huge fleet of electric vehicles and
recharging stations, in form of electric bikes.

~~~
cocoflunchy
The total footprint is already lower than for ICE cars according to this
study: [http://www.ucsusa.org/clean-vehicles/electric-
vehicles/life-...](http://www.ucsusa.org/clean-vehicles/electric-
vehicles/life-cycle-ev-emissions)

~~~
vive-la-liberte
What is ICE? India, China and something else?

~~~
wibr
[https://en.wikipedia.org/wiki/Internal_combustion_engine](https://en.wikipedia.org/wiki/Internal_combustion_engine)

------
vlehto
I'm skeptical about this. It seems like the people who say "I want a self
driving car" seem to be really saying they wish they didn't need a car at all.

The people tho like cars often say "I want a car with less computers". What
they probably really want is access to the technology they have already
bought.

I'm pretty sure Uber has not run it's course yet. They could almost destroy
the market for self driving cars. Especially with competition.

I hope that cars go to the direction of bicycles. Currently bicycles are more
standardized than ever, with more options than ever. And with more competition
than ever. It's hard(?) to find a new bicycle with all parts coming from same
manufacturer. To me it seems this modularity is ultimately good for consumers.
If capitalism works, that's where cars should gravitate too.

~~~
padobson
Seems to me that Uber won't stop the market for self-driving cars, so much as
validate it.

They'll save a lot of money when they don't have to pay drivers anymore.

Or...

One person or company that owns a fleet of self-driving cars and sells them
all on Uber.

I think this is what the writer mean when he said self-driving cars will
eliminate the need for parking lots. You'll walk out of any building in the
developed world and your ride to the next place will be an driverless Uber
cab.

~~~
vlehto
If someone gives me a ride with a deal that he drives and I pay the gas, how
could anything compete with that? Lot's of people genuinely enjoy driving.

Also bus ticket costs me 45e/month. They have schedule, which is huge asset.
You could make self driving bus, but that market isn't as big. And the cost
savings aren't that huge. With bus, large share of the costs come from fuel
and maintenance.

There are minibuses I can already order to my doorstep.
[https://kutsuplus.fi/tour](https://kutsuplus.fi/tour)

And for really seldom occasions renting a car is becoming more and more easy
and cheap.

If it takes 15 years to develop self driving car, it's possible that 90% of
the current market for it has melted away.

------
alaskamiller
The note about car manufacturers these days being system integrator is the
killer point.

Over 100 years now car industries have started, evolved, grown, multiplied,
consolidated, failed, and experimented to today. Amazingly efficient at taking
chunks of metal and plastic from around the world, turn it into a car in 17
hours in one of three or four locations in America, transport it to where you
are so it can sit on a lot for another week before getting sold to you to take
home.

That efficiency is what makes it amazing. And that efficiency is going to be
what kills it.

Apple will come in, make a better ipod as they want to do and support it as
they can do.

~~~
DanielBMarkham
Yes. I agree.

I see a lot of companies determined to outsource all of their IT work. As we
all know, most of the time this fails miserably. But even sadder is when it
succeeds. IT is the brain of any organization. If you succeed in distributing
all the brains of your organization, all you end up being is an integrator.
You've just spent a big part of your resources training technical folks in a
bunch of other companies all of the important parts of your business. Success!
You've turned your company into a giant brainless robot which efficiently runs
on very little capital. And then you stagnate.

------
tumba

      > ... their dashboards are (likely to be) gorgeous and
      > vastly improved over the mostly superfluous dials and
      > gauges car manufacturers think we need to see (when was
      > the last time you had to check your RPMs or engine
      > temperature?).

Being aware of engine RPMs and temperature is important.

I'm all for better interfaces. Personally, I drive a diesel Volkswagen and
having a customizable dashboard that could provide access to additional engine
parameters and sensors, such as I can access today with a laptop connected
using Vag-Com (see [http://www.ross-tech.com](http://www.ross-tech.com)) could
be useful. But the key is to provide better situational awareness for the
driver, not more distractions.

In the US alone, more than 40k people die every year and millions are injured
while operating or riding in these machines. Self-driving cars may be the
future in some urban areas and on interstates, but we need to continue to
optimize vehicles for drivers, not make them into more distracting spaces
where people can continue to indulge their addictions to communication and
media consumption.

------
jakobegger
Whenever I read an article like this, with factual errors and inaccuracies in
the details (eg no modern car sold today has a carburetor), I wonder how
believable the big picture ideas presented in the article are?

Does the author have any idea what he is talking about? Did he just make a
small mistake when trying to add details to his ideas, or does the lack of
subject matter knowledge reveal the writer's cluelessness?

~~~
mywittyname
He clearly doesn't. Nearly every paragraph has either an inaccurate or
ignorant statement that makes this really painful to read.

It's easy to criticize and sound prescient when you hand-wave away reality.

------
escherize
Cars are kind of like tvs. My philosophy has always been to get the cheapest
nav/entertainment system (or dumbest tv) and use the car speakers like a dumb
pipe, because nearly every auto maker's attempt at integrating technology are
completely subpar. If you expect to keep a car for more than a year or two,
your best bet is aftermarket or third party components anyway.

I'd say one of the few that get it is Tesla. The huge touchscreen is pretty
cool, even though you lose tactile feedback, a huge nav screen with consistent
ota updates is neat.

~~~
vinay427
I hated using a touchscreen navigation system in a previous car. The loss of
tactile feedback is nothing to sneeze over, as I much prefer even a rotating
dial interface which I can use while completely visually (not cognitively of
course) focused on the road. This increases at least perceived safety by a
large margin. An ideal combination might be a touchscreen with tactile
feedback buttons, which I think has been used to limited success before. Or
just voice or alternative input...

------
S_A_P
There are some good points made, and I do believe this is a solvable problem,
but I also view google and apples entry into car building as naive on some
levels. I am way oversimplifying but it strikes me as a plot to "silicon
valley". Hooli's CEO telling the board/company all hands one day after meeting
with his guru- WERE GONNA BUILD A CAR!!! Everyone looks at each other
incredulously and says "umm ok, I guess we're gonna build a car". Then queue
the subplot that 90% of the engineers never learned to drive and bighead is
the only driver...

I know this isn't the real case, and I know some brilliant people are working
the problem for these companies, but I think that a better approach would be
for a tech company to team up with the hardware company and leverage their
combined strengths. That would probably yield a better product that is less
"Jony Ive's magical mystery mobile". Shallow or not, that google car would
embarrass me to ride in.

------
tiredwired
The best selling car in America is the Ford F-series pickup truck. I can't
wait to see competing trucks from Tesla and Apple.

------
rmason
I've seen this movie before. In the seventies I had a birds eye view here in
Michigan as the Big 3 totally missed the Asian threat.

Now the same smug group makes jokes about Tesla (and Apple) and when it rises
up to smite them they will be caught totally unaware. This time a trade
embargo won't allow them to regroup.

~~~
jacquesm
The car industry is a lot larger than 'the big 3' (or really, the big 2 1/2).

------
merb
It's not the ingredients, it's the future they are missing. Car companies
wanting to generate money and not the future. They lost their vision.

Once upon a time a new guy will come with a vision. Hopefully he has enough
money too change something.

I really don't understand why we are still driving with fossil oil. That's
prolly due to the lack of competetion. car manufacturers thing we will buy
their cars anyway.

------
Hermel
Software companies also lack key ingredients for the future of the automobile.
The first to successfully combine the best of both worlds wins.

------
roflchoppa
you know i really like my carb'd V8. Nothing like taking it out early in the
morning when no-one is on the road and quite literally pouring gasoline into
the motor.

I feel that a cup would be more effective sometimes tho. Don't get me started
on jetting configs.

------
buildops
This is why you have automated companies like Mobileye which provide the
innovation in autos


How it's made: Online Games - stacieandrews
http://www.slideshare.net/provado/how-its-made-online-games

======
shenanigoat
Well, that was shit.


The Linux Graphics Stack - Adrock
http://blog.mecheye.net/2012/06/the-linux-graphics-stack/
======
loudmax
I can understand that Wayland does not want to pay for the complexity of
network transparency, but I'd be sorry to see it go entirely. I'm one of the
few people who do make use if X11's network transparency on a regular basis.
Being able to open a web browser on a machine that is several ssh hops away is
awfully convenient. I hope that Wayland has some provisions for reproducing or
emulating X11 even if it isn't built into the core.

~~~
asdfs
This may be incorrect; I have only vague familiarity with the subject. I don't
know if there are any non VNC-like solutions being worked on.

Wayland doesn't have network transparency as a first-class citizen, but it's
easy to fit it into the mix. A bit of background:

In X11, the client sends the actual drawing commands (draw a line here, a
smooth gradient here, a pixmap here, a curved line here, etc.) over a network
pipe. The X server on the other end takes those commands and builds the
resulting image.

In Wayland, your program just transfers (well, using shared memory) complete
images of the entire window to the Wayland server.

The X11 solution is absolutely excellent and very efficient _assuming your
programs primarily use the X11 primitives_. Most modern programs and toolkits
do not use the drawing primitives; they just build the images they want and
send a bunch of pixmaps to the X server. They do this primarily because X11
doesn't have a number of useful drawing primitives, like anti-aliased text.
The result is that you're doing more or less what Wayland intends to do.
(Though sending things like Xclock or Xeyes will be less efficient under
Wayland, seeing as they use the X11 drawing primitives.)

In the end, Wayland will probably have something very much like per-window
VNC. Your program will produce an image, some stub Wayland server will send
that image over the network, and a Wayland compositor on the other end will
receive it and display it.

------
randallu
I wish that unoccluded or maybe just the frontmost window could be
unredirected too, even if it's not fullscreen. The decorations and shadow
could still be drawn in the Compositor Overlay Window.

I work on Linux on a program which is entirely drawn by OpenGL (I target ARM
devices, but I test on the desktop before doing an ARM build). Application GL
performance suffers immensely under a compositor, so on most machines I can't
use GNOME3 (though I would like to). On machines where I get acceptable GL
performance in my app, vsync is broken so there is constant tearing.

I'm sure there are some caveats with unredirecting the frontmost window --
like when it becomes occluded it would have to be redirected and that requires
a round trip to the client (which might hang, etc), but there are probably
other situations like this which the window manager has to deal with already
(resize timers?) so maybe there is a way to implement it...

~~~
timmaxw
I think that Mac OS X unredirects unoccluded windows; I've noticed windowed
computer games suddenly getting much slower when I move another window in
front of them.

~~~
randallu
It appears to, or has some other trick... My coworker has a huge monitor, and
his MBA doesn't hit 60 FPS on any of the fullscreen animations, but individual
window contents can go at 60 making me think they don't repaint the world
every time a window changes.

------
antihero
Absolutely fascinating.

Some questions...

Would this mean that window managers themselves would have to be re-
implemented in order to support the Wayland protocol?

Is anyone working to create a non-reference optimized implementation of
libwayland?

Have the Wayland developers said anything about supporting multiple monitors
yet?

~~~
makomk
Yep, the Wayland developers' solution to window management is for anyone who
wants a different window manager to replace Wayland with a different
compositor+window manager speaking the same protocol. Their suggested way of
supporting proprietary graphics drivers is also replacing the
compositor+window manager with one specific to that hardware which speaks the
Wayland protocol, sort of like in the early days of X when there was a
seperate X server binary for every piece of hardware. So your window
management choices under Wayland depend on which graphics drivers you're
using.

~~~
JoshTriplett
Not quite. Wayland itself doesn't require any graphics-driver-specific code;
it uses the standard kernel interfaces and graphics stack (Mesa, DRI, libdrm,
KMS, etc). That also works fine with radeon and nouveau, and it would work
fine with the proprietary drivers as long as they support the standard
graphics stack. It just won't work with proprietary drivers that implement
their own entirely un-integrated graphics stack, which seems unsurprising to
me.

Your window manager of choice can just link into Wayland/Weston and ignore all
the underlying graphics driver bits; they'll Just Work.

~~~
tedunangst
It's been years and years since I knew the details, but at one point the
nvidia drivers replaced pretty everything from libX11 down, and I don't think
you could hook in at a middle point. (ie, they don't support the "standard"
graphics stack.) Would appreciate if anyone could comment on how things stand
today.

~~~
JoshTriplett
Somewhat better, but still awful. They don't replace libX11, but they do
replace libGL, and they bypass the entire kernel graphics stack in favor of
their own.

------
outworlder
Now, this is the sort of article I want to see on Hacker News. Excellent read.

------
tedunangst
_instead of going over the network, they’ll go over a UNIX socket, and the
kernel doesn’t have to copy data around._

This isn't really true. Even if the kernel does cow pipes (on both ends), the
writer is almost certainly going to trash the page and cause a fault. The data
is just copied around without being bundled into TCP packets.

There is also a SHM extension which does use shared memory, but that's
separate and mostly only used for pixmaps and the like.

------
exDM69
> While it’s very apparent that X is going to go away in favor of Wayland some
> time soon...

Isn't it a bit early to be saying something like that? While I hope that
Wayland will succeed, it has an equal chance of ending up as vaporware.

~~~
chao-
At minimum we'll get at least one distro attempting to utilize Wayland
eventually: Ubuntu. See the bottom of <https://wiki.ubuntu.com/Wayland> where
it reads:

 _Canonical is investing in making Compiz Wayland-enabled and running Unity on
top._

While it does not completely refute your concern of Wayland becoming
vaporware, a commitment from Canonical is about as close as anything in the
Linux Desktop world ever comes to being a hard milestone. Put another way:
it's more reliable than a random user on the Arch forums* talking up grand
plans to rebuild WMFS to work with Wayland.

*A purely random example, and not a knock on Arch forums, which are an awesome/informative place.

~~~
hollerith
>a commitment from Canonical is about as close as anything in the Linux
Desktop world ever comes to being a hard milestone

Furthermore, most Xorg and desktop developers are pro-Wayland if the OP is to
be believed.

~~~
Jach
I think if anyone really doubts this they should spend some time programming
something directly on top of Xorg to convince themselves that when the ball of
mud is gone there will be at least a bit more sanity.

~~~
1346971608
I haven't used the raw stream protocol directly, but if you mean Xlib, I
actually find it more usable than most toolkits. (Although a big part of that
is being able to use select(), whereas most toolkits force you to do
everything in callbacks while the toolkit drives the main loop.)

------
Avshalom
So wait... Wayland does nothing, makes existing things harder and requires the
Linux ecosystem to greenspun X in perpetuity?

~~~
fusiongyro
Not sure why you're being pessimistic. VNC demonstrates that graphical access
can be networked at the application level rather than as a fundamental
architecture decision we pay for constantly. Wayland is an attempt to cash in
on the savings.

~~~
tedunangst
Except it doesn't look good, and copy/paste is even shittier.


HTTP throughput regression from Go 1.7.5 to 1.8 - 01walid
https://github.com/golang/go/issues/18964
======
jerf
As I've mentioned before [1], as the number starts getting too large,
"requests per second" isn't a useful way of measuring the performance of a
webserver, you're really more interested in "seconds per request overhead".
The former makes this sound horrible and leads to headlines that make it sound
like the entire web stack has lost 20% of its performance, which is terrible.
The latter shows that the "request overhead" has gone from ~100us per request
to ~120us or so, which is a lot more informative and tends to lead to better
understanding what the situation is.

This is not meant as an attack or a defense of Go. The facts are what the
facts are. The point here is to suggest that people use terminology that is
more informative and easier to understand. There are people for whom 20us per
request extra is a sufficiently nasty issue that they will not upgrade. There
are also a lot of people who are literally multiple orders of magnitude away
from that even remotely mattering because their requests tend to take 120ms
anyhow. Using "seconds per request overhead" both makes it easier to
understand both the real performance impact with real times, and makes it
easier to understand that we're just talking about the base overhead per
request rather than the speed of the entire request.

It might also discourage some of our, ah, more junior developers from being
too focused on this metric. Why would I want to use a webserver that can only
do 100,000 requests per second when I can use this one over here that can do
1,000,000 requests per second? If you look at it from the point of view that
we're speaking about the difference between 10 microseconds and 1 microsecond,
it becomes easier to see that if my requests are going to take 10
_milliseconds_ on average, this is not a relevant stat to be worried about
when choosing my webserver, and I should examine just the other differences
instead, which may be a great deal more relevant to my use cases.

Edit: Literally while I was typing this up I see at least three comments
already complaining about this regression. My question to you, my _honest_
question to you (because some of you may well be able to answer "yes",
especially with some of the tasks Go gets used for), is: Are you _really_
going to have a problem with this? Does the rest of your request _really_ run
in _microseconds_? It's actually pretty challenging in the web world to run in
microseconds. It can be done, but a lot of the basic things you want to do end
up like "hit a database" generally end up involving milliseconds, i.e.,
"thousands of microseconds".

[1]:
[https://news.ycombinator.com/item?id=11187264](https://news.ycombinator.com/item?id=11187264)

~~~
Matthias247
I have worked in the network programming domain for the last few years and I
also found that especially outsiders and newbies get too obsessed on pure
performance figures. Especially for all networked stuff there's also a very
important other key metric, which is reliability, which is only seldom taken
into consideration. However reliability can have a huge impact on performance.

E.g. not implementing read/write timeouts allows to omit lots extra code
(timer management, synchronization, cancellations), which improves
performance. But it might bring a whole system to stop if there a few non
responsive clients. Or not implementing flowcontrol through the whole chain
and simply buffering at each stage can give a huge boost on the throughput
metric. But sooner or later the system might go out-of-memory.

I personally now see reliability the number 1 thing you should achieve in a
protocol implementation. Performance is of course also important, but should
only be compared if all other parts are also comparable.

~~~
rocqua
In response to the response that now got flagged twice:

I think you read a lot into the parent posts that wasn't there.

Let me restate what I believe to be the parents meaning:

Many junior developers care to much about the "How quick is my normal
execution path" form of performance. This is a bad measure for actual
performance because the rare, error-related executions can have cascading
effects effectively blocking the entire network.

Allowing applications to wait indefinitely for a response. Even if
asyncronous, is something like a 'thread' leak where you start accumulating
dead threads eventually leading to slowdown. This would be one example.

Another would be weird broadcast storms that happen when a component fails.

Basically, consider cascading effects of errors when optimizing performance.

Projects where 'performance' is taken to be "how quick is my usual case
execution path".

~~~
logicallee
Thank you, but I read their comment carefully, and I'd like to let this person
(Matthias247) speak for themselves. (I've asked mods to unflag my comment.) I
hope they will respond.

To reply to the take on their comment that you've just written: I'm not
talking about the decisions _junior_ engineers make. I'm talking about the
decisions senior architects, who whiteboard and diagram solutions as
complicated as necessary (which is the correct approach), make. They are
making the wrong decisions, using the wrong trade-offs. They are not doing
their job well.

The specific issues you have paraphrased could be solved in a different way
(I'll just quote what you just said: "something like a 'thread' leak". This
has specific possible solutions). The point is, that way is not the way that
has been chosen, due to bad, incorrect, wrong decisions.

It's not that there are leaks or bugs (I'm not talking about the work of
junior engineers). It's that the chosen, correctly implemented algorithm
implements the wrong choices.

Let me give you an analogy: there is a very, very good sort algorithm called
quicksort. It has very good behavior and is commonly used. It has excellent
theoretical properties.

In its first naive implementation the worst case happens when an array is
already sorted or nearly sorted. ([http://www.geeksforgeeks.org/when-does-the-
worst-case-of-qui...](http://www.geeksforgeeks.org/when-does-the-worst-case-
of-quicksort-occur/)) [1] As a practical matter sorting things are often done
in cases where they might be sorted already or nearly so.

So it's not that the other cases don't need to be taken into consideration -
after all even bubble sort works optimally when lists are already sorted....

It's that it's wrong to code quicksort by making the choices that ignore the
most common case. Anyone coding the naive quicksort implementation I mentioned
on data that is frequently already sorted or nearly sorted is not doing their
job well.

In the case of network logic, the wikipedia article I linked shows that it
does not even have technical properties that mean it is theoretically correct
under all network conditions. So it's even worse than a naive quicksort: it's
broken for the most common case, and not theoretically correct (because that's
not possible) for every case.

They simply need to wake up and change their trade-offs and priorities. For
example, by randomizing sort order for quicksort, of course this adds steps -
at the same time, it improves the most common condition (sorting an already-
sorted or nearly-sorted array.) Use this analogy and, yes, by God, code (and
more importantly, _architect_ ) for the common case!

[1] [http://www.geeksforgeeks.org/when-does-the-worst-case-of-
qui...](http://www.geeksforgeeks.org/when-does-the-worst-case-of-quicksort-
occur/)

------
arussellsaw
worth mentioning that this is only a noticeable performance regression in
situations where the majority of the request is spent in http processing, eg
'hello world' handlers. Here is an example of the performance improvements
i've seen in a real world application, admittedly heavily GC bound, but still
the performance improvements are considerable:
[https://twitter.com/arussellsaw/status/819904231759085571](https://twitter.com/arussellsaw/status/819904231759085571)

~~~
Cthulhu_
This is the real benchmark - compare performance with real, working software
instead of microbenchmarks that show a small regression (okay a fairly big one
in terms of percentage) on a very specific and unrealistic use case.

I'd take 20 us performance degradation in one specific slice of code over a
50% performance increase overall any day.

edit: english in the previous sentence is bad. You know what I mean. Small
regression is fine if the overall speed is much better.

------
Matthias247
If I understand the possible culprit commit
([https://github.com/golang/go/commit/faf882d1d427e8c8a9a1be00...](https://github.com/golang/go/commit/faf882d1d427e8c8a9a1be00d8ddcab81d1e848e))
correctly then real world applications could still be faster than with the
older versions on average. E.g. if a request handler would start a database
request and forward it's CancellationToken (context.Done) to the database call
both might be immediatly stopped with the new logic and the resources can be
used for handling new requests. If in the old version the cancellation did not
work properly the database request might have needed to run to completion
before anything else could be done.

------
bsaul
bradfitz : "That was one of the biggest architectural changes in the
net/http.Server in quite some time. I never did any benchmarking (or
optimizations) after that change. "

Sorry, what ? It's not like the http server of the stdlib is here only for
doing hello world code samples... You would imagine those benchmark to be part
of some CI process along with unit tests.

~~~
lmb
Benchmarks in CI are hard, because you need them to run in the exact same
environment to make any sort of conclusions. But CI's are often noisy,
virtualised, dockerized, whateverized. There is not much benefit in that.

~~~
bsaul
That could be an idea for a service. Provide an instance type with stable
execution environment for benchmarking. Just stable, and not necessarily
performant.

~~~
bluejekyll
I think it's harder than that though. You're trying to predict real-world
numbers, and a hobbled test environment could show benchmark hotspots which
might never occur on a real system.

It could still be a good, but very expensive, service, but its hard for me to
imagine something that would be one-size-fits all service that would
accurately predict real world experience.

~~~
bsaul
At least it could catch some easy regression between version after some heavy
refactoring, like this particular one. Better than the complete random
performance of current VMs on cloud.

It wouldn't be much harder than just making sure you're the only VM running on
the hardware (disk & cpu) . Much like a "reserved instance", with real
guarantees against side effects.

~~~
bluejekyll
I think it _could_ catch this, but it could just as easily miss that there was
a huge degridation on HDD vs SSD; high ram vs. low ram; fast vs slow CPU; GPU
vs no GPU.

Obviously you can build test suites for each of these scenarios, but I think
it would be expensive to run _all_ of them. That's all I'm really saying, it's
by no means a bad idea, I think it's a great idea, just going to require some
upfront thought of what type of environment the software is going to run in.

------
akerro
Why it is too late? He doesn't want to give any justification. Isn't the point
of RC and community supported development to catch such cases before stable is
published? Just make another RC.

~~~
dawkins
It's answered here:
[https://github.com/golang/go/issues/18964#issuecomment-27830...](https://github.com/golang/go/issues/18964#issuecomment-278307245)

Once a release candidate is issued, only documentation changes and changes to
address critical bugs should be made. In general the bar for bug fixes at this
point is even slightly higher than the bar for bug fixes in a minor release.
We may prefer to issue a release with a known but very rare crash than to
issue a release with a new but not production-tested fix.

------
tmaly
If you look at it, the change that was most attributed to the slow down, was
committed on October 2016.

Why could the people making an issue about the 0.5 us slow down per request
not have tested or ran a benchmark sooner?

------
cameroncooper
Surprised that nobody has mentioned the true hero of this story - git bisect -
awesome tool, and perfect for pinpointing these sorts of regressions.

------
eternalban
The std. dev. & max numbers caught my eyes:

                   avg.      std dev   max
         Latency   195.30us  470.12us  16.30ms -- go tip
         Latency   192.49us  451.74us  15.14ms -- go 1.8rc3
         Latency   210.16us  528.53us  14.78ms -- go 1.7.5

That is a seriously fat distribution. Has anyone ever benched for percentiles?

------
sddfd
Conspiracy theory: They knew they'd take a 20 microseconds hit on every
connection close, and (rightfully) did not care.

So basically this is a communication issue with a community that does not
understand what to make of its own benchmarks.

------
siscia
As jerf mention I don't believe that this particular regression is going to be
significant for the almost totally of the use cases (and the very few that are
going to be touch by it probably are savy enough to test their performance
before to deploy in production).

What I believe is more serious is that this wasn't catch during the
development, it could definitely be a worth trade off however we should be
aware of it...

------
OhSoHumble
"Too late for Go 1.8, but we can look into performance during Go 1.9."

That probably shouldn't be the response for a major performance regression in
a release candidate.

Looks like I'm sticking to Go 1.7 for however long it'll take before 1.9 is
released.

~~~
lmb
So all your application does is accept connections, send hello world, and
close them again?

~~~
OhSoHumble
Absolutely! I provide a "hello world as a service" platform.

~~~
Cthulhu_
How does it compare to [https://github.com/salvatorecordiano/hello-world-as-a-
servic...](https://github.com/salvatorecordiano/hello-world-as-a-service),
which is written in JS / Node? Does yours do more requests / second? Do you
have an enterprise plan?

~~~
OhSoHumble
I question that project's long-term viability. Event loop based languages
inherently limit systems to inefficient and unreliable concurrency models.

My platform, which I've received seed funding for, is entirely done in Erlang.
This technology decision will better enable me to deliver _more_ hello worlds
per nanosecond than Node ever could.

------
reimertz
Why would it be too late? Isn't this the whole reason for release candidates?
To find final major issues before releasing the next major version?

If not, could someone please educate me?

~~~
barrkel
The closer you are to a release, the bigger the blocker needs to be. If there
was incorrect behaviour in a mainline use case, that would be much more
significant than a performance regression.

A 20% performance regression in a minimal http server (i.e. one that doesn't
have any business logic) does not sound like a big problem to me; that kind of
overhead would normally be dwarfed by database calls, and a 20% increase in
the overhead doesn't sound like it's a large increase in what I'd expect to
already be a very small number.

~~~
reimertz
Thanks for the clarification.

So a similar situation in node.js-land would be if require('http') would get a
worst-case scenario of a 20% performance hit, right?

If this is the case, even I, who only run single instances of node, would
think it would be a fairly big impact that i'd try to fix if I was the
maintainer and still had the possibility to fix it.

~~~
Vendan
The issue is that's it's 20% of the http library's time, not 20% of your
application's time. Put a large app on it, and now the regression is 0.02%...
Does it still make sense to push everything back for that 0.02%?