skysight-inc/HackerNews huggingface dataset:
They released a free browser and then didn't innovate. You can paint the picture however you like for yourself, but I distinctly remember what it was like to try to develop anything in javascript for IE. It was beyond horrible. In their defence they did come up with Ajax which has been a boon of course.
The RSP is in the business of building roads, not apprehending criminals. Nothing about the business of road-building implies that their employees would be trained or equipped to deal with bank robbers.

The analogy falls apart here anyway because bank robbery is a criminal offense and the police are around specifically to deal with it. Piracy is a civil offense. I don't know of any comparable civil case where a private third party is required to enforce a contract they're not involved in.
If you want Xapian search on a local maildir, I highly recommend notmuch[1]. Adding new mail and updating the index can take noticable time, but searching is super fast, it allows easy custom tagging, and search results are better than gmail in my experience.

I use it from the emacs notmuch mode.

[1] http://notmuchmail.org/
Xapian is to Cyrus what Lucene is to Elasticsearch - the search engine embedded into the larger server.
I've worked with some "slow programmers" before, including one almost exactly like that guy and: no freaking thanks.
If you name it readme.org, then github will render it as html.
I haven't tried it myself yet, but modern Android and Chrome do seem to be trending this direction: http://www.mobilexweb.com/blog/home-screen-web-apps-android-...

Also, the fact that the underlying Chrome engine for WebViews can now update independently of the Android OS bodes well for the viability of HTML5 apps: http://developer.telerik.com/featured/android-5-0s-auto-upda...
The imperativeness of Racket really doesn't come so much from the *! functions, but instead things like `begin` which explicitly sequence program statements in such a way that only allows them to interact via external mutable state.
I always found the eugenics arguments to be irrelevant, because parents will probably do design babies before accumulation of mutations can have a big impact.

There is 20-35 years/generation and already now, there is some selection of embryos to avoid disease. So routine fixing of gene "flaws" will be standard in just a few generations, since most everyone want intelligent children.

And yes, there will be large and complex social effects, probably partly negative. But the "Idiocracy" scenario seems unlikely.
"First off, the authors are confusing causation and correlation. Schmidt points out a series of characteristics of Google as a company and presents them as the reasons for Google’s success, but in my opinion, they are all consequences of Google’s success.

For example the authors write: “Their plan for creating that great search engine, and all the other great services was equally simple: Hire as many talented software engineers as possible, and give them freedom.” Well, this worked because the search was already successful enough to fund that freedom.

[...]

The key is market dominance. If you have a de facto position of a monopoly in your market, money pours in, and you can afford to give your employees even more than 20 percent of their time free."

This is itself backwards, yes? ISTR that http://blogoscoped.com/archive/2007-09-03-n78.html AdWords — and thus the profitability of Google's search business, if (arguably) not the search monopoly itself — was the product of early Google's 20% time and employee freedom, rather than the other way round. (Oh, and they got GMail into the bargain.) Similarly for:

"I would love to see one single company that isn’t dominating a market with no cash cow in-flow that can succeed without strict discipline, sharp focus, hard work, and hands-on management."

I thought that Google's 20% time was modelled after practises at 3M and Hewlett-Packard? I have no doubt that in their day these were companies that enjoyed comfortably high margins on many of their products, but from my limited knowledge I don't have the impression that they were monopolists sitting on their laurels from one of two huge hits. (As Xerox apparently was.) I also don't know how reasonable it would be to claim that private-project time didn't contribute anything to the bottom line of these companies either: 3M itself tends to claim that the Post-It note was a product of its 15% time http://solutions.3m.com/innovation/en_US/stories/time-to-thi... .

Accordingly I'm unsure why this article has been voted to the top of HN.

None of which is to say that How Google Works is a model of candour and insight, or to suggest that Google has no problems with how it handles innovation, of course.
A lot of the investing orthodoxy is predicated on the average investor being non-observant and ignorant of almost everything important going on in the economy. I think this is both incorrect and a bit snobbish at least some of the time; many average people have sophisticated views of their line of business even if they are not sophisticated investors per se, and their domain knowledge is improperly discounted due to their lack of sophistication as investors.

I am not suggesting high-risk, short-term strategies but long-term, buy-and-hold strategies that leverage the native knowledge and intelligence of Silicon Valley engineers. I also do high-risk, short-term strategies (options and similar) based on the same domain expertise, and have done alright with those too, but I never recommend that to people.

It would be seriously odd if some random guy on Wall Street understood Silicon Valley and tech better than I do. The technology industry is not driven over the long-term by financial numbers on a spreadsheet. I've been through many tech boom-bust cycles in Silicon Valley and understand the dynamics pretty well. No special magic to this portfolio, and it has been one of the most consistent producers for me. As long as you are not betting the farm on a single company, it is difficult for this to go wrong. At least in tech, I can see the bad things telegraphed long before they materialize in the market because I understand the fundamentals. Even if Wall Street isn't paying attention.

For the poster below, my returns are consistently worse than every hedge fund that has ever wanted to hire me. I'd be a terrible hedge fund manager; I am personally more interested in return on effort than maximum possible returns. (They wanted to hire me for my theoretical skills, not my investing skills.)
Android could. If they spun that off into it's own company it would be worth tens of billions, minimum. It's headed toward a mobile OS monopoly. It would be difficult to overstate how valuable that is.

AdSense could as well. They roll that into 'advertising' but it has nothing to do with search or any of G's products - and it's a huge chunk of their advertising revenue. Even if search lost all of its marketshare overnight they would still bring in many billions every year via AdSense.

(AdSense is their ad network where they display ads on 3rd party sites, acting as a middleman between publishers and advertisers).
There's also Excelsior, which is an AOT JVM, but it's for Windows only.

Unfortunately, it's also extremely expensive. That's not to say it isn't worth every penny in some situations, but I've gotten kind of spoiled by free development tools for personal projects. I'm glad the days of spending hundreds of dollars for things like C compilers are long behind me.

I agree that a really good AOT JVM would be very nice. It doesn't necessarily imply better performance however.

For some application domains, I would be happy to trade speed -- and even features -- for the ability to create a native binary with no dependencies.

This is one area where I find the Go programming language interesting. I prefer Java, but the lack of a good and free ahead-of-time compiler for Java that creates native binaries with no additional dependencies is a killer feature for some situations.
Second part is here: https://www.youtube.com/watch?v=MGMoRu5yrVc
wages are not absolute, they vary by location, for the same kind of work. cost of living are taken into account when offering salaries. taxes ditto. this applies to the US as well as Europe.

it is about fairness among workers. there should be no penalty for living close to the HQ or major office hubs, which practically always are in high-cost areas.

counter-example being SAP with Waldorf, but that is ending its lifespan for the inverse reason (no one sane wants to move there).
In the US and many other parts of the world architects are professionally liable for the public welfare in general and life safety, regulatory compliance and system performance specifically of the buildings they design.

The practice is regulated in these places because there is very little soft about people dying. It is the absense of a culture that comes from individuals aaccepting such responsibility that concerns people like the author and Uncle Bob.
As a buyer you get an opportunity to connect with sellers before they have publicly list their house and sign on the dotted line to pay 6% commission. So not only you get access to off market listings but there is good chance you are going to get a good deal.
Google is very good at building tech to support search. That's no small feat. But they're terrible at sales, customer support, etc.

People buy Google ads because everyone uses Google for search. So Google doesn't need to sell anything. People come to them.

It's an amazing position to be in, but it's a very unusual one.
I love Java 8 streams, but they're still awkward compared to Clojure.
How would this work in restaurant business, hospitality industry or retail environment?
Migration Agent – Registered Immigration Agent – Australia
Rating the Severity of Usability Problems
More like peoples computers just don't come with IRC. A lot of modern IRC clients (I use konversation) are basically:

Open program.

Automatically connect to freenode / quakenet / other major networks, sometimes even intelligently enough to try to reserve the username or users contact info nickname.

Hit a join channel button, or just get prompted the first time to name a channel.

Ommit #, it works fine. It also gives you a picker of servers, defaulting to freenode in konversations case.

Join a channel and chat.

But there is no means to notify users this exists, or how it works, or how to get on it. There is no money to be made in getting everyone on IRC.
For me it would be the use of Java. I've just had too much bad luck with it. Admittedly that's not really very objective reasoning.
>You're rearchitecting anyway, creating stable interfaces and putting load balancers in there because those are also things you need to do as you're scaling up. Changing languages is no harder

I have to disagree here. With just a little forethought, a good bit of the code can be reusable. For instance, your data access layer.

And, the more forethought you put into it, the larger the potential reusability. This doesn't have to be premature optimization. It's just a balance between getting it done as quickly/efficiently as possible while still making some sensible, fairly low-cost coding decisions for scalability. For instance, everything I write now is load-balancer ready. This was achieved largely through a simple library that understands its environment via a simple config directive, and proxies relevant calls (e.g. when pulling the client IP or checking whether the request is secure, it determines when to pull from the request headers stamped on by the load balancer versus invoking request.getRemoteAddr() or request.isSecure()). Of course, there are other coding decisions you make, but it's really not as much extra work as how you implement.

In any case, unless you're purposely writing completely nasty throwaway code, there is always some reusability, which typically makes starting from scratch in a new language a much weightier prospect than making some scalability enhancements to the existing base.
Koen Claessens's A Poor Man's Concurrency Monad [0] is perhaps easier reading than Li and Zdancewic here.

[0] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.8...
For more technical methods and theory, I would check out The Five Orders of Ignorance (http://dl.acm.org/authorize?9919) and the book The Pragmatic Programmer.
I think there still needs to be a cap, probably around the 35-40 hour mark. Likewise, eliminating PTO generally seems to be a bad idea that can be abused by managers to keep their employees from actually taking PTO. I agree that leaving these issues to be implicitly resolved between employers and employees is a recipe that invites abuse, but if maximum work hours and minimum PTO are specified, ROWE is a pretty good policy.
And a clarification on point one, you can't change the water level in a hot-water heater. Outgoing hot water is always replaced by incoming cold water.

What you could do is use a second electric water heater as feeder tank to the primary one, and only raise the setpoint above vacation-idle when electricity prices drop very low or below zero (if you're in an area that offers real-time electricity pricing).
So you're consuming data of an existing (legacy) SOAP service? Or complying with exisiting clients of a (legacy) SOAP service? That's not the same as writing a new SOAP service.

If the language you're using is already expressed in a form that does not need serialization, then you don't have to serialize it. This is the very essence of languages that are homoiconic. Perhaps you should familiarize yourself with that before down-voting what I have to say about it.
I'm sure it's up for interpretation, but it's a reasonably defensible position. Here's what the XML 1.0 Spec has to say:

Abstract

The Extensible Markup Language (XML) is a subset of SGML
that is completely described in this document. Its goal is
to enable generic SGML to be served, received, and
processed on the Web in the way that is now possible with
HTML. XML has been designed for ease of implementation and
for interoperability with both SGML and HTML.
...

1. Introduction

Extensible Markup Language, abbreviated XML, describes a
class of data objects called XML documents and partially
describes the behavior of computer programs which process
them. XML is an application profile or restricted form of
SGML, the Standard Generalized Markup Language [ISO 8879].
By construction, XML documents are conforming SGML documents.

XML documents are made up of storage units called entities,
which contain either parsed or unparsed data. Parsed data
is made up of characters, some of which form character
data, and some of which form markup. Markup encodes a
description of the document's storage layout and logical
structure. XML provides a mechanism to impose constraints
on the storage layout and logical structure.
...

1.1 Origin and Goals

...
The design goals for XML are:
XML shall be straightforwardly usable over the Internet.
XML shall support a wide variety of applications.
XML shall be compatible with SGML.
It shall be easy to write programs which process XML documents.
The number of optional features in XML is to be kept to the absolute minimum, ideally zero.
XML documents should be human-legible and reasonably clear.
The XML design should be prepared quickly.
The design of XML shall be formal and concise.
XML documents shall be easy to create.
Terseness in XML markup is of minimal importance.

http://www.w3.org/TR/1998/REC-xml-19980210
I like buying clothes myself, so I wouldn't have someone do it for me all the time. However, I also like getting clothes as Birthday/Xmas gifts and my family knows what I like.

My shopping is 50/50 in-store and online, when I do in-store shopping I like to have my wife with me, mostly for company and to verify what I pick fits and looks good.
no I after dealing with it I would recommend avoiding it like the plague. However with several petabytes deployed at remote sites its not a simple matter to up and abandon it.
I have that title too; I feel that basically "coder" + "process" = "software engineer."
Interesting. One might go further and postulate an inverse relationship between the focus of a company and it's ability to attract 'good people'.

It's tempting to argue that the kind of long-term vision usually shared by the best researchers is at odds with having pressure from management to compete. To be sure, companies with focus also fund pure R&D, but non-monopolies won't usually be able structure an an entire corporate culture around the research mentality.
> Edit3: Multiple downvotes seem a little fishy, as does this article getting voted to the top of Hacker News.

Do you really have to complain about being downvoted? From the HN guidelines: Resist complaining about being downmodded. It never does any good, and it makes boring reading.

https://news.ycombinator.com/newsguidelines.html
I must point out that Rust standard library includes std::mem::swap, which provides your safe atomic swap primitive. It is implemented using unsafe, but the interface is safe.

Historically, swap actually was a part of Rust language (operator <->). It was removed from the language as a primitive, because it can be implemented in a library.
I don't understand the point. Are you claiming that search and replace functionality provides the same ease of use as an actual rename refactor ?

No, I'm saying you need extra key strokes to activate that rename refactoring functionality, which is unnecessary in an ideal situation.

To refactor the java code

Foo x = new Foo();

you need to hit the key combo to active your IDE's refactoring thingy, then type the new name.

To refactor a less verbose statically typed language:

x = new Foo();

You just type over the old name, no refactoring key combo necessary.

This discussion isn't about static versus dynamic. It's about useless verbosity versus less useless verbosity.
" “Their plan for creating that great search engine, and all the other great services was equally simple: Hire as many talented software engineers as possible, and give them freedom."

Man I so dislike these. Its pure bullshit. (its a quote from the book, mind you).
So. If I were still a postdoc (~40k/year with three years of experience), I would still be paying car payments, insurance. Now, I make those payments and (I think) I can deduct them from my taxes.

Of course comparing to a postdoc is unfair because you're putting in ~80 hours a week, which is certainly below minimum wage, and the postdoc market is totally insane.

Nonetheless, I am definitely making more than minimum wage - for the first time in my life I have savings and investments. Not to mention the fact that I have launched a nonprofit, sinking quite a bit of my own out-of-pocket to get that running. Granted, the take home was much higher at the beginning of the year (avg 1400/wk) than it is now.
> why have the majority of initiatives at Google either failed or been financially inefficient and unprofitable? If they were standalone startups, they would have most likely already been dead.

It takes a lot of experimentation to produce hits. Even the best companies are going to have a lot of failed projects.

One reason Google "appears" to have so many failures is that they're more open then other companies. No doubt Apple has tons of internal failures. Projects that don't see the light of day, get canceled if they're not looking good. Tim Cook even talks about it in interviews. I do think that Apple's producing more hits overall, but the point here is that they are not failure-free; they just don't ship crap. Google likes to publicly experiment.

In the startup world this experimental function is fulfilled by the startup pool as a whole. Most will fail. Most winners have "focus, discipline, hands on management", but I'm sure that's true for most product teams at Google too.. where "management" = the local team's product & engineering management, which is more equivalent to a startup's executive team than the CEO of Google.

If bigger companies want to stay innovative I think there's still a lot of value to supporting experimentation and freedom within the company. It's going to look like a lot of failure. But then so does the startup universe.
You would think that eugenics was thoroughly discredited during the twentieth century, but apparently we need a phrase that means the opposite of “throwing the baby out with the bath water”—unleashing a terrible negative upon the world in order to attain something desirable, but relatively minor and probably attainable by other means.
>And I disagree with this assertion. Heavily. Simply look at the state of most bridges in the US (and elsewhere?) to see that they are not holding up nearly as well as is implied by this assertion.

I find that they (from the '50s and even older) hold up just fine.

If software worked initially, and survived 60 years that well as bridges from the 50s do today, that would be a miracle.
i think thats a great point - that said most french ppl i know pull about 45h a week in the tech industry and are "manager" level (but arent actually managers)
You may be able to help influence it at https://github.com/ircv3/ircv3-specifications/issues
I'm interested in how/why a couple of the biggest channels on Freenode have been left out: #bitcoin-otc with 484 nicks and #bitcoin with 1179 nicks at the time of my post. What gives?
That might be not what Alan Kay meant, but here's one description of fundamental problems with RPC: [1]

[...] the fundamental problem is
that RPC tries to make a distributed invocation look like a local one.
This can't work because the failure modes in distributed systems are
quite different from those in local systems, so you find yourself
having to introduce more and more infrastructure that tries to hide
all the hard details and problems that lurk beneath. That's how we got
Apollo NCS and Sun RPC and DCE and CORBA and DSOM and DCOM and EJB and
SOAP and JAX-RPC, to name a few off the top of my head, each better
than what came before in some ways but worse in other ways, especially
footprint and complexity. But it's all for naught because no amount of
infrastructure can ever hide those problems of distribution. Network
partitions are real, timeouts are real, remote host and service
crashes are real, the need for piecemeal system upgrade and handling
version differences between systems is real, etc. [...]

[1] http://erlang.org/pipermail/erlang-questions/2008-May/035209...
CSS (or more generally the dream of content and presentation separated HTML) might be considered message passing since the browser usually has some freedom with regards to on screen layout (implementation), although in practice many sites specify the message so precisely that only one implementation is possible.