Hacker Newsnew | past | comments | ask | show | jobs | submit | _airh's commentslogin

1. Everyone who gets sued by a patent troll is going to complain about the validity of the patent. Even when the patent is, in fact, completely valid.

2. Patent troll + Law firm is not a "dangerous new breed". This has been happening for a long while now.

3. It seems strange to complain about the being sued for patent infringement while owning '150' patents. Do you agree with patents or not? If you agree, then being sued for patent infringement is part of it. If you disagree, why invest so much? I understand the argument of patents being defensive, but, does that really help in a world of patent trolls? More likely, a company eventually goes under and the patents are acquired on the cheap - by a troll.

4. I think the "we will pay you a bounty to help make our problem go away" approach is interesting and I hope it works. ...but it's very self serving. Maybe just pay a law firm $50,000 to invalidate the patent rather than making a contest out of it.

To be fair, I really don't understand the concept of a software patent. If I can implement it then it is fair game.


1. That is another issue, the USPTO issuing patents that shouldn't be issued.

3. They don't seem to be against patents, just against non-practicing entities. Did you even read the article?


I hate patent trolls with a passion, but these non-practicing entities are are just another negative by-product of what has devolved to be a negative system. Patents originally existed to protect inventors. Today, like in other legal systems, they have very little to do with justice and a lot to do with "whoever has the gold makes the rules". As such, while I definitely side with CloudFlare, it does seem like a complaint of "not fair, they are manipulating the rotten system better than us"


I don't understand why we can't just make patents non transferable. If you company gets bought, your patents go away. Small companies still have protection but trolls disappear. You still do have the IBM approach to "patent all the things" but that can also be addressed by forcing patents to have to be actively deployed in a public way or they expire after a year or something.


> I don't understand why we can't just make patents non transferable.

Because inventors want to invent things, not prosecute patents, and making patents transferrable allows them to make money from inventions without having to accept any of the headache of patent defense, which is a distraction even when (as you will practically need to) you hire counsel to do the actual legal work.


The wright flyer was just sticks, canvas, and a small engine. Anybody could have done it - in fact there were teams around the world competing to be the first ones. The Wright brothers got a patent on it. Should they have?


In retrospect: No. Prior art.

They abused the system for their own gain, while at the same time "retarding the development of aviation".

"The Wrights' preoccupation with the legal issue hindered their development of new aircraft designs, and by 1910 Wright aircraft were inferior to those made by other firms in Europe. Indeed, aviation development in the U.S. was suppressed to such an extent that when the country entered World War I no acceptable American-designed aircraft were available, and U.S. forces were compelled to use French machines."

"The lawsuits damaged the public image of the Wright brothers, who previously had been generally regarded as heroes." [1]

[1] https://en.wikipedia.org/wiki/Wright_brothers_patent_war


The Wright patent holding back the US airplane industry is a myth, as demonstrated by industrial data from the period:

http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2355673

In fact, a lot of airplane innovation was happening in the US during that era despite the patent being in force. For instance the seaplane was invented in the US (by Curtiss, the Wrights' most bitter foe.)

Also their patents were challenged repeatedly and, despite being interpreted broadly, upheld repeatedly because they actually were that much of an improvement over the prior art.


I think this is the trouble with being an entrepreneur. You are crazy right up until the moment you are proved right. At which point, the idea is ‘obvious to everyone’.

Of course, most ideas fail. Most entrepreneurs are just proved crazy.

It is a lonely existence where even other entrepreneurs are unsupportive.

These guys have a nice PR piece on the BBC. That will give them a big temporary boost in traffic. Maybe not so crazy?


There are some business which are known to fail miserably.

Like, when you want to lend money to open a restaurant in some places, a reputable bank should be able to tell you that xx% of restaurants go bankrupt within the next 2 years.


Like the already saturated social media market. What can a new social network do that can't be done already on Facebook?


...or, if it isn't already being done by Facebook, can't be developed and rolled out incredibly quickly to a billion users if they decide that they like what you're doing and want to do it too.


I realize I am biased, but I don't get it. Notepad++ and other tools are not designed around viewing log files. They are text editors. People use tools like Notepad++ to view log files because, traditionally, there hasn't been anything better.

Remote access is a good example. I am actually working right now on getting tail for remote servers working in [redacted]. FTP tailing a file is a special feature because you do not want to redownload a 1GB file every 3 seconds. The idea of a forward read-only file is a special concept. If I am using Notepad++ as a text editor, I want it to download the whole file because there may be important changes to the beginning of the document. If I am using it as a log viewer, then I need to provide a special configuration to the FTP agent. Not impossible, but the overlap in behaviour for the tool can be confusing. The additional configuration makes it harder when using it as a text editor and harder when using it as a log viewer. It starts to make the tool less useful for both tasks.

Now add additional features like grep, merging files, very large files (4 GB+), etc and it becomes clear that Notepad++ is a text editor. It is a fantastic tool, but not fit for every task.

Disclosure: I am the author of [redacted].


You're right. Notepad++ is a more of a general purpose text tool.

I got into the habit of using it to open HUNDREDS of files at the same time and perform ad-hoc interactive searching and data extraction to prep for further processing in R.

I've not seen any editor that can work effectively with so many files totaling a huge size. Would like to try Emacs for this stuff someday but Notepad++ works great and is easy to use.


Hello, agreed on your point about large, read only remote log files. I'm not sure if it will work at all. However notepad++ is a very popular editor and will probably be the first tool people will use to view a log file - that's why I talked about a de facto standard. If it doesn't cover the needs of some people then they will try other tools that may cover them - but only after they try with the tool they already use!


Not good enough.

I think Tesla have a lot to answer for here. They are pushing the limits of a technology which Google has said, "needs to be 100% autonomous". No steering wheel. Tesla knows this, but branded their car as 'auto-pilot' anyway. When it became clear from early youtube videos that people were not using the technology 'correctly' Tesla did nothing more than issuing a statement.

They should be considering a recall. It is not good enough that Tesla PR is 'sad' that someone died. What are they doing about it?


They don't even have to do a recall; All Teslas can be updated (or in this case, downgraded) over the air. All they need to do is either learn from this and fix the 'white vehicle against a white sky' problem, or remove the 'auto-pilot' feature completely, until they actually develop proper auto-pilot.

Paraphrasing from JFK: We choose to make auto-driving cars, not because it is easy, but because it is hard.

There will be casulties along the way. Deaths are not a reason to stifle development. If we'd done that, we'd never have spaceflight or Vaccines (or Nuclear Weapons for that matter...) .


Tesla actually use the correct term for it, the fundamental problem is a mass misunderstanding of what aircraft autopilot does.

Autopilot in an airliner is capable of flying the plane on a set course in ideal conditions. This means good weather, no other air traffic in the vicinity and full feedback from its various sensors. As soon as the plane enters a scenario outside of which it's designed to operate, control is reverted to the human pilots.

That's exactly how Tesla's system is designed. So long as the computers can account for the current scenario, the car drives itself, but it explicitly falls back on the human (who, like a pilot, must be ready to take command at any time).

A trucker pulling out on a driver and blind-siding them falls outside the definition of 'ideal condition' in my book. I live in Europe where underrun guards are mandatory on all trailers. Sounds like one wasn't fitted here. That's likely more to blame for the fatality than Tesla's software or a distracted driver - let's face it, anyone could suffer a lapse in concentration at a critical moment on the road.


If a radar system mistakes a mammoth trailer for an overhead sign, there's clearly something wrong with it.


On the surface, yes, but what actually differentiates one large angular piece of metal from another to radar? Not much. The best option, as others have suggested, may well be for Tesla to incorporate LIDAR, but that means hardware changes to all its cars.


>When it became clear from early youtube videos that people were not using the technology 'correctly' Tesla did nothing more than issuing a statement.

Is personal responsibility something that's completely taboo nowadays?


The answer is not 'no'. The answer is, 'It will take some investment'. There is a big difference between those two answers.

People who say it is impossible to move production from one country to another don't understand what the word 'impossible' means.


> The answer is not 'no'. The answer is, 'It will take some investment'.

That's also the answer to 'can we move production under the sea?'


Not really "some investment" is not equal to "extraordinary investment". One is possible with little change and costs, the other would require lots of change and waste.


Which one is which?


the difference is that there are lots of parties that stand to profit by moving the production back to the u.s.. if a u.s. packaging company is able to be price competitive with a chinese counterpart, it will certainly emerge... over time, the whole supply chain can reemerge.


This feels an overly technical objection? Very little of our problems are actually "impossible" if by "impossible" you mean something like "inverting a one-way function".

What I think most people mean is that moving production is impractical, e.g., that there is no realistic incentive that justifies making the investment and so for that reason nobody will make the investment, and production will not move, etc.

It would be more effective to argue that the required investment is smaller than expected, and some particular entity does have an incentive to make the investment after all, etc.


Yes, it's only 'impossible' if you hold a bunch of economic variables constant.


Precisely. It's much easier to move supply chains when you don't have to move the labor (people) with it.

Also it is not limited to electronics - as others have pointed out, Addidas moved automation back to Germany.


No. The most interesting part is that this is an example of a vindictive employer ruining someone's life.

I used to work at Goldman's and can tell you that they are paranoid about this kind of thing. They are trying to make an example out of Sergey. We used to get daily updates (on the corporate intranet) about the progress of the case. There is no telling how much money Goldman's has spent going after this guy. Both directly and indirectly through lobbying. You have to ask why, after a year in jail with no conviction, the government still trying to prosecute him? Could it be because Goldman has a very powerful lobbying arm which is particularly strong in New York?

If you are leaving your employer, don't upload any code. Sure. ...but that was over 6 years ago and the guy has already done time. Try getting a job with a prison record. I can tell you that in the banking industry it will not happen.

I wouldn't be the least bit surprised if they keep coming after him. Poor guy.

One last point. There is no market for stolen code. If I stole Google's search algorithm, who would I sell it to? Microsoft wouldn't be interested and it is not like you can take out an ad on ebay. Who would have the brains to figure it out? If you had those brains, wouldn't it be easier to just write it yourself? What is true for Google's code is also true for any complex system such as trading software.


My best friend works at Goldman, and used to sit next to Sergey. Three things:

1. There were definitely NOT daily updates about the progress of this case

2. He WAS absolutely trying to steal code. Goldman high-frequency code isn't great (except in options market making). The thing that ultimately flagged him was that he kept trying to clear his .history file.

3. He wasn't planning on selling it. He was planning on taking it to Teza, a place that has a notorious reputation for poaching people and code.


>NOT daily updates

This was an exaggeration that I did not think would be taken literally. We had updates as the case progressed. I would guess about once a month. These updates were on the corporate intranet home page which generally contained about 5 links to 'external news' or something.

>He WAS absolutely trying to steal code. Goldman high-frequency code isn't great...

You have written this in a weird way. I agree he was trying to steal code. The quality of what he stole is not relevant. The way you have written this, it could be read: "He tried to steal high-frequency code". This is very much debatable. I could easily argue that Log4J is part of Goldman's high-frequency code.

He did try to cover his tracks. What he did was wrong and he knew at the time it was wrong. Six years later, does the punishment fit the crime?

>He wasn't planning on selling it. He was planning on taking it to Teza

Yes. This is the interesting point. He wasn't planning on selling it because there is no market for it. By this, I mean that there is no place he could list the code for purchase because:

1. It would be illegal and other companies frown on that kind of thing (at least on paper).

2. The code would not be worth much without an understanding of what it does in the wider ecosystem.

Point two is key. Sergey understood the code. He was uploading it to help him remember the work he had done at Goldman's. There is very much a market for, "I did XYZ at Goldman's, I can do it for you too." I have no doubt that he would have been able to do it again without the source code, but he wanted his 'notes'.

GS didn't want him to apply his trade at another firm. Hence the 'vindictive employer' remark.

How long before another developer gets harassed by Goldman's because they printed off some technical documentation before leaving? What if the documentation is printed a month before leaving? ...a year? ...where is the line, exactly?


Do you have any proof, or do we have to believe the word of someone who belive's the word of someone else, who in his turn is unknown?


Haha your point is obviously valid. Without outing my friend, I can't prove it, so I hope you'll believe me.

In fact, even if you don't believe me, that's okay--Goldman Sachs deserves to be given some crap!


What you wrote above is basically hearsay, which is not allowed as evidence in the United States (barring some exceptions). Not sure why it should hold any weight on an online discussion forum.


you're really equating the credibility of an online discussion forum with that of a court of justice?


>The thing that ultimately flagged him was that he kept trying to clear his .history file.

I'll assume you mean .bash_history This discussion has been had here before. There are plenty of good non-sketchy reasons to delete it, and at some places it is mandatory.


He said ".history" because he probably meant it.

There are many shells aside from bash. My systems don't even have bash installed.


Yeah, it was the .bash_history file. My bad.

He also encrypted the files, uploaded them to his remote computer, and then deleted the programs used to encrypt and upload them.


Oh boy, this thread again. see: https://news.ycombinator.com/item?id=9044805

  user@somemachine.gs.com:~/ >svn export --username Aleynikov --password Hunter2 \
  --non-interactive svn://subversion.ZOMG.think.of.the.children.com/plundered/exportFile
  user@somemachine.gs.com:~/ >rm .bash_history
It's also not unheard of to encrypt files for transit, and for storage on untrusted remote machines. I'm sure someone else around here could show you a few dozen ways to pipe that through gpg, a few of which might also require a password to be used in the command, necessitating the deletion of .bash_history

You may criticize him for using encryption but what would you have him use, plaintext and ftp?


Teza didn't use the same programming language as Goldman Sachs, so he definitely couldn't use it at Teza


The value in the code is not the code itself, but the models it encapsulates.

For those interested, Teza uses (single-threaded) Java and Hadoop (or at least they used to), and Goldman Sach's high-frequency code was written in C++.


He didn't steal the strats, only the code he was personally interested in.


One last point. There is no market for stolen code. If I stole Google's search algorithm, who would I sell it to?

Google's search algorithm might not be very marketable but I can think of tons of different uses for stolen proprietary trading algorithms. The potential for inflicting enormous economic damage is very real.


If the code allows someone to generate positive returns, then there is a tremendous market for it if the person who writes it comes with. (I do believe the value of code drops dramatically if the person who write it is gone) In this case, the person could take the code and generate money for another fund.

This doesn't mean that GS is doing the right thing going crazy after him, rather it's just an explanation that he could make money with it elsewhere.


This doesn't mean that GS is doing the right thing going crazy after him

Oh yeah. There's a big difference between doing the right thing and doing what's in GS's best interests.


Yes - this applies to countries too. High morality doesn't always map 1 to 1 with interests, as much as people try to make it seem the case. :-)


You mean like the banks usually do. Carry on.


One thing about this case puzzles me, and none of the news coverage I found explains it: what code did he actually take?! Details matter. Was it a tweak of something like Samba (obviously GPL)? Or was it part of a proprietary risk management system, derivatives models, or other direct money-making programs?

If he took the former, then I'd side with him — he took nothing of genuine value. If he took the latter, then, très uncool. (I witnessed several incidents of model theft while serving time on Wall Street in the mid-2000s, and none were publicly pursued like this one.)


In Flash Boys, he makes it clear that he did not take any trading strategies or in-house models.

They don't provide a ton of detail in the book, but it seems that he wanted to take some FOSS code he modified himself while at Goldman. All code ever used on a Goldman machine is licensed as proprietary, even if it was downloaded from a FOSS repository 1 µs beforehand. It's mentioned that some irrelevant infrastructure code may have been intermingled with the modified FOSS he took, though it doesn't seem Goldman was particularly incensed by any particular piece of code, simply by the fact that he took any to begin with.

Also in the book, Michael Lewis brings together a panel of HFT technologists to interview Sergey and assess whether anything he took was consequential. Their collective conclusion after meeting with him for several hours was that he took absolutely nothing of value.


Why would you cite flash boys, which doesn't provide a lot of detail, and not the court filings, which do?


How does Goldman relicense FOSS software as their own proprietary software?


By never distributing the result outside the company, and not caring about intermixing proprietary code with it? The GPL, like most other FOSS licenses, only applies to distribution; no distribution, no license compliance issues.


That's not relicensing then. That is just not violating the license.

The person I was responding to said they took FOSS and made it proprietary in one microsecond.


A comment elsewhere in the thread suggests that they put their own proprietary license header at the top. Which is legal if they never distribute the result.


It would depend on the license.

You can't rip the copyright notices or license text off anything under the MIT license, for example.


Yes, you can. Such licenses only apply on distribution, so if you're not distributing it, it doesn't matter.


No, you can't.

The MIT license explicitly applies to those who obtain a copy of the code, not those who distribute it (although you are explicitly granted the right to distribute the code if you do obtain a copy of the code).

It also requires that all copies or substantial portions of the software maintain the copyright notice and the license text. If Goldman is just ripping off copyright notices and MIT licenses and slapping on their own copyright notice and license (or lack, thereof), they are doing it wrong. Way wrong (would not surprise anyone though).

>Copyright (c) <year> <copyright holders>

>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Not that simple. You can't just place your license above someone else's code even if you do not distribute externally, at a minimum you are going to distribute it internally. I'm not sure what legal avenues exist to prohibit this but this does not simply get a pass.

If it's permissively licensed, sure. But not just any license.


distribute it to whom? it was certainly distributed to the machines that are rented by a company which only assets is the fact it's close to the trading servers.


That is (generally) not how it works. HFTs rent rack space in which to insert machines that they themselves build, own, and maintain. The code never leaves the network/property of the company in usual circumstances.


In the book, Sergey says they simply rip the FOSS license off the header and replace it with a Goldman proprietary license. It's implied that the legality of this is a grey area.


Ripping software licenses of from software is extremely unlikely to be a grey area. The license is what gives a person permission, and if they remove it, so goes the permission. I would compare it to a person boarding a train, and then imminently throwing away the ticket.


If possible, it would depend on the license. Do we know the software in question?



What he took was proprietary infrastructure-related code that didn't involve any of Goldman's trading algorithms. His claim is that it was so tangled up with the open source code he wanted that he had to take it out to get it.


If you can't think of buyers for Googles secret sauce you should think again, just about every two-bit SEO guru would be willing to pay for that (assuming they could understand it) to be able to better game the system. Obviously this has value.


from Bloomberg[1] "Under cross-examination by Assistant District Attorney Elizabeth Roper, Malyshev said that Aleynikov would have been the second-highest paid person at Teza, and that he was the only employee that he had offered to pay three times a former salary"

I can't find a citation, but he was worth that much to Teza precisely because of the HF trading models he was bringing with him. I've worked at hedge funds where quants did have rights to their own trading algorithms and under their agreement they could leave and take them to the next shop. If Sergey did not have such agreement, taking anything (even his own code) would be considered company property.

I am not familiar enough to say he did or didn't steal company property, but I would certainly not say that "there is no market for stolen code". If all he really took was open source code than this is indeed a witch hunt, but I don't see why any company would pay so much if they could just get the free open source code.

[1] http://www.bloomberg.com/news/articles/2015-04-21/goldman-co...


> I am not familiar enough to say he did or didn't steal company property, but I would certainly not say that "there is no market for stolen code".

He hasn't stolen anything (since the source code is still on GS' computers), he just copied it illegaly. Using the word "stealing" for this is plain propaganda.

> https://www.youtube.com/watch?v=IeTybKL1pM4 [Copying Is Not Theft]


You would sell it to someone interested in gaming it.


There is no market for stolen code.

Microsoft might not be interested, but every SEO company out their would be.


> What is true for Google's code is also true for any complex system such as trading software.

I'm not sure that follows. Many trading companies operate as black boxes, and there are a hell of a lot more of them, and they have much fewer employees, and seem to exemplify a "get rich quick" attitude.


> One last point. There is no market for stolen code. If I stole Google's search algorithm, who would I sell it to?

Microsoft would not buy it because that would be illegal on their part as well.

However, if I can reverse engineer Google's code, I can put myself at the top of the search rankings.

Sell that, rather than selling the code.


>There is no market for stolen code. If I stole Google's search algorithm, who would I sell it to? Microsoft wouldn't be interested and it is not like you can take out an ad on ebay

This is just not the case. Google "sued trade secret misappropriation." The classic example is a company hiring someone with a wink and nod and they bring over all sorts of stolen documents.


You worked at GS but call it Goldman's?


Perhaps tpatke knows that using the term GS would be much harder to parse for folk that have not worked there. I work for FWE, by the way.


I can imagine that, still, how come "Goldman's" with the 's?

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

It isn't:

https://en.wikipedia.org/wiki/McDonald%27s


Likely British usage. We pluralize company names in many cases: Goldmans, Tescos, etc, and refer to them plurally (so, "Goldmans are seeking to ruin Sergey" vs. "Goldman is seeking..."). Apostrophe is probably wrong :)


So would a Briton say "I used to work at Goldmans" if the company is called Goldman Sachs?


Yes, exactly. Same with Lehmans, Merrills, etc. Mostly companies named after people.


In southeast Michigan its also standard for people to append an `s` to the end of most stores.

Kroger -> Krogers Meijer -> Meijers

etc. I never noticed it until I went on a linguistics bender on Wikipedia where it was noted.


Yeah, I'm still not feeling much sympathy for him though. He did 11 months for a premeditated theft for which he tried to cover his tracks. Is that too harsh? Of course they're going to go after him. And you're worried about him getting another job?? I don't get it.


>>If you had those brains, wouldn't it be easier to just write it yourself?

Except it takes months to recreate code. Much easier for you to walk up to your boss and show them a working prototype after a week of refactoring.


> Except it takes months to recreate code.

No. For a neanderthal leadership it doesn't take months to recreate code. It usually takes forever.

Goldman Sachs and many such large corporation, including the US Government, are led by a bunch of dinosaurs. People who do not understand what code is.

What they understand instead is bullying, setting an example like some sort of public execution, owning people to the point of slavery etc. They know what it means to prosecute and destroy lives of individuals. And enjoy parties and drinks on the side in the evenings.

And this is just one example of that tyrannical trait.


Maybe we are both right? GS are terrible people, but the code he stole could help him future work?


Really? Someone who worked at GS probably wouldn't refer to it as "Goldman's"... just sayin'


One of my great epiphanies as an American expat is that Americans have a tendency to be extreme. They often have one thing that they use to define themselves. They are driven to be the best at their 'one thing'.

- People who go to church on Sunday feel the need to tell you about it on Monday.

- The guy at work who runs marathons, is running all the time. He never comes to lunch because he is doing a practice run.

- People who are fat. ...well, I am sorry, but if it was genetic then there would be 500lb people in Europe too.

- People who work, work and work and work. A lot of Americans fall under this category.

I think taking pride in your work is a good thing. Knowing when you could do better is a good thing. Building your sense of self around any one aspect of your personality is a bad thing.

Aim to be more well-rounded. Try to find lots of things you like doing. Moderate your activities. Live a less extreme life.

(I have obviously made some assumptions here. This post probably applies more to me than anyone else. :)


At least for the running example, running marathons is extreme. A lot of people run 6-10 mile distances, precisely because it doesn't take over your life. You might be surprised at how many people you know run and don't talk about it ;)

More broadly, I think you're falling into the trap of assuming the loudest/most prominent people represent the average. Just like there are a lot of people who run and also do other things, there are lots of people who are quietly religious.

I don't even get where being fat comes into this? There are a lot of factors that go into Americans being fatter on average than Europeans, but your list devolved into the typical one-dimensional "I hate North Americans because I moved to Europe and I'm so continental now" rant.

> Aim to be more well-rounded

Good advice for everyone, regardless of where they live.


I am fat. Does it count as "well rounded"?

sorry I just had to :)


I get your point but I wouldn't put this as a trait of american society. It's what the world is moving to because specialization is a core skill in today's world. If you want to become good at something, you have to spend lots of time on it. I think the core issue is 'impatience'. People want to get good very fast. By the time they are 30 and thus spend all their time on one thing. Previous generation was happy to wait till 50 to get the same level of specialization. But because of globalization, it only requires one society to work insanely and it puts the pressure on the rest of the world to follow suit. If you don't follow, you will be replaced. If you think you cannot be replaced, it's only because you have spent an insane amount of time on one thing compared to others....

I do think the quote below is less and less followed today:

"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."

-Robert A. Heinlein


>>Aim to be more well-rounded.

Not sure if I agree. Being "well-rounded" will result in being mediocre at everything, i.e. jack-of-all-trades-but-master-of-none. If you want to excel at something, you need to specialize and focus on that thing, usually to the exclusion of a lot of other things. Einstein wasn't "well-rounded" but he no doubt lived a fulfilling life and had a lot of impact on the world. Not everyone can be Einstein, or even wants to be Einstein, but I think being very good at a few things would make them feel more satisfied with their lives than chasing after many different interests and goals. That's just my opinion though.

I also disagree with your characterization of Americans. If anything, people in this country are very good at noticing what they are not good at, and live their lives trying to plug those perceived holes, rather than focusing on developing themselves in what they are good at. This is mostly because the consumer culture emphasizes people's imperfections in order to sell them products and services. You walk down the magazine isle of a bookstore and are bombarded with messages: you're out of shape, you need to be better at sex, you need to learn how to talk to people better, you totally need to check out the latest and hottest JavaScript framework bro! That's where the obsession with well-roundedness comes from.

Now, here's the caveat: people who combine multiple disciplines tend to be very successful. There was a story discussed on HN recently about this where Elon Musk's ex-wife pointed that out. I agree with that. But even then, we're talking about two or three things at most. Steve Jobs is a good example: he understood technology and design, but he definitely could not be described as "well-rounded."


>> "Being "well-rounded" will result in being mediocre at everything"

Even if that's true you're making the assumption that being excellent at something will make the poster happy and improve his self-esteem. Maybe being average at lots of different things will make him happy.


> This is mostly because the consumer culture emphasizes people's imperfections in order to sell them products and services. You walk down the magazine isle of a bookstore and are bombarded with messages: you're out of shape, you need to be better at sex, you need to learn how to talk to people better, you totally need to check out the latest and hottest JavaScript framework bro!

I would file this under the 'extreme consumerism' department that America is quite famous for though.


"well-rounded" CAN mean being good at two or three things, it doesn't mean that everyone should attempt to be a polymath.

Also, the point of being "well-rounded" wasn't to excel at all activities, but by not totally subsuming yourself in one activity you might achieve a broader perspective about experiencing life.

Considering the question in the OP, it is funny you brought up Einstein, Musk, and Jobs in your reply.


I think people are fat for any number of reasons. First and formost being it's a natural instinct to take in as much macro nutrients as possible, as densly as possible. For most of the developed world, food isn't really scarce. That is where it starts.

Follow that by government subsidies that lean towards larger agribusiness which are ruled by companies that produce the most calorie dense foods at the cheapest prices. No, you cannot feed the world without GMO corn, soy, rice etc. Just the same, when you subsidize this it creates an artificial incentive to buy more of it. Pre-packaged Hamburger Helper, candy bars (the likes of "health" bars, granola etc are candy here too) rule the roost even for those that do cook at home.

The third being marketing. Americans are targeted by junk food ads far too much. Everything from placement on store shelves to stores that operate on junk food (convenience stores with gas stations)... leading towards most of the U.S. necessitating cars to drive just about everywhere, which feeds laziness.

The fourth being laziness and atrophy... By the time you get to an age where you start to care it may well be too late to make significant change. I didn't know a fraction of what I know about nutrition in my late teens and early 20's... Now, I have a broken metabolism and simply reducing calories alone doesn't work... it leads to a binge cycle. I avoid carbs because of what it does to my blood sugar, but even then trying to keep calories in relative check, getting enough each day and not going over is far more difficult at 40, than it would have been when I was younger. Compound this at a generational level, and it just feeds on itself.

I'm not making excuses here, it's just not as cut and dry as "you are fat, and you shouldn't be". Not to mention assumptions about health care... it's cheaper on the community for you to be fat and die at 60, than to live until 80+.


> - People who go to church on Sunday feel the need to tell you about it on Monday.

I grew up Catholic (fortunately, I was cured ;), but I never came across anyone with the 'need' to tell others about the fact that they went to church.


Two thoughts:

First: I find it worrying that Google has enough power to dictate the direction of the internet is such profound ways. Remember when people would get up in arms when Microsoft created de facto standards?

Second: Doesn't this change only effect 'mobile searches' ? Reading the blog post [1] that is how I interpret it. I think the article could make this more clear.

[1] http://googlewebmastercentral.blogspot.com.es/2015/02/findin...


This is what happens when your search engine monopoly also has a mobile OS.

Frankly, I hate most mobile sites. For most sites I just use an app or deal with the desktop site. On a 5" android phone, desktop browsing isn't bad. Its a shame companies with great mobile apps but non-mobile sites will be punished by this, yet half-assed responsive design sites will be rewarded.

I wish google would use its muscle for good once in a while. How about lowering the rank of sites that have all those in-page pop-ups? Or refuse content until you log in with a facebook or similar account? That's stuff real people complain about. The mobile stuff seems to have been taken care of for the most part and, frankly better, via Apple's approach of convincing everyone to buy an iphone and sites having to either serve them via apps or via mobile themes via customer demand.

Google's heavy-handed approach is pretty concerning. If users and the market aren't dying for mobile sites, why is google unilaterally forcing them down everyone's throats via the completely unrelated pagerank system? If sites are of poor quality, people won't link to them, and pagerank will work as designed. Google is just making modifications to help sell its Android product.

Sadly, this won't lead to some mobile renaissance (we already had one and its working fine). We're just going to get a lot of "SEO-optimized" crappy responsive design that will be a checkmark on a list of requirements no one really gives a shit about. Good mobile sites are hard. Get ready for the cookie-cutter mobile half-assery that will limit content, break functionality, etc just because everyone is chasing that precious pagerank value.

Not to mention, its not 2008 anymore. Everyone has a mobile site. Those that don't probably just can't afford one, like very small business and other edge cases (applications that are only used on desktops for niche needs and have no need for mobile). Google is just pissing on those least able to move swiftly in an ever changing technological world.


Google didn't create the switch to mobile, they are years late to the party. Apple initiated the mobile smartphone revolution. Now billions of people are coming online, many of whom never ever had a desktop with internet, especially in developing companies.

This is a disruptive change, and it is undeniable reality. Even if Google didn't change the mobile search ranking, eventually non-mobile ready sites would lose traffic from frustrated users picking alternatives that are mobile optimized. What would happen is, mobile users would say "man, Google Search sucks, every time I search for a site, it gives these horrible, slow to load, hard to use sites on my phone" At some point, a competitor, possibly even Apple, would release a mobile-ranked search engine.

Maybe they'll be a button to get the desktop results even on mobile, or maybe "Request Desktop Site" in the mobile browser will give you Google Desktop search. But to blame Google because you're going to eventually be forced to update your site is just laziness.

It's not Google who brought this on, it's your customers. They've changed their access patterns, and if you want your business to thrive, to you need to follow your customers. Sometimes that even means native apps in app stores.

I'd say this is a good wakeup call and really, Google took way too long to seriously target the mobile Web. Chrome only recently got Add to Home Screen and Push Notifications, two of the biggest things missing. We're now 8 years post iPhone (2007). The fact that Search ranking is just now, almost a decade later, targeting mobile friendly means Google was seriously lagging the usage patterns of most of the world.


I find it very hard to believe that people are blaming content on search engines. If a site doesn't look right, I blame the site. I also find it hard to justify that even if they did, that somehow Google has a responsibility to unilaterally police the web via pagerank punishments.


It's not that people blame Google for the site looking crappy, but they do blame Google if the top search results aren't useful -- and that includes the site being unusable. Google also makes a huge amount of its revenue off of pay-per-click display advertising, and if it's referring customers all day long (through organic search) to sites that don't convert, then it's bad for everyone.

This is nowhere near the first pagerank modifier based on site performance -- it's well-known that Google penalizes sites that are slow to load, because users click away from those sites more frequently.


> Or refuse content until you log in with a facebook or similar account? That's stuff real people complain about

Outside of the HN bubble, I've not seen (m)any people complain about this. Its not something most people care about really, as long as they can still access the content "for free"[1]

[1] - standard disclaimers apply.


Internet is one big case of Stockholm Syndrome. I'll leave the web developers love affair with crappy tech for another discussion; in case of users, I'm astonished by how much crap people are willing to tolerate because they think "it's how things are". Ads, more ads, crappy/spam sites, SEO, clickjacking... There is a huge market failure here, the signal about people being frustrated doesn't really travel upstream so everyone keeps pumping out even more crap.


You could argue that, in a sense, Google already punishes sites with annoying features like in-page popups and mandatory Facebook logins, in the same way it punishes all sites with annoying features - if you load a page and then hit the back button within a few seconds, Google knows the site it sent you to probably wasn't very useful and that will affect the page's rating. Add that to myriad other signals they use to detect whether you got value out of the site or not and I'd say they do a good job of punishing sites that people genuinely don't like.

What's probable though is is that although we don't like those things, other people aren't so bothered by them and still find utility in sites that use them, so Google doesn't punish them too much.


Well, to me, it makes perfect sense. If I am on a mobile phone, I want mobile-friendly websites higher.

I am actually quite surprised it's not working like that yet.


> I find it worrying that Google has enough power to dictate the direction of the internet is such profound ways. Remember when people would get up in arms when Microsoft created de facto standards?

They're playing catch-up, not dictating. Mobile-friendly has been the rule not the exception for web developers for years.


It only affects users on Mobile. So 'mobile searches'


You probably have a source I don't, but the article says nothing about this only changing the ranking on mobile searches.



What about Apple changing the direction of Flash websites and Flash video on mobile? (when iOS was about 1/10 as big as it is today).


How well did that work out? I mean, really? YouTube just completely switched from Flash, many other video sites are still pushing Flash or sometimes even Silverlight, HTML5 gaming has still yet to really take off the way Flash gaming did. All Apple did was push these interactions to native apps instead of on the web.

It's been what, 8 years since the iPhone was released, and Flash is still around. I didn't notice a huge decrease in Flash usage when Jobs made the announcement. It doesn't hurt that they have strong competition and Android can still to this day play Flash content if the user wants.


How big is Flash gaming these days? I feel like it's mostly dead at this point.


It's sort of been replaced by mobile apps, but there's still a lot of Flash out there. Kongregate is still a thing. Browser-based games are currently in this weird limbo state where the old tech is out of favor, but the new hotness (WebGL) really isn't ready yet.

The WebGL exports you currently get from Unity and UE4 are typically huge, slow, and often completely broken. I have no idea where the blame lies, but it's not pretty.


Do you actually play on Kongregate? I check it on occasion and have noticed that it hasn't really changed over the last five years. 90% of the games I see at a glance aren't any different.


I think it worked out pretty well actually.


So we waited eight years for Flash to die to the point where it is today. Meanwhile sites are changing now for Google's new algorithm. I don't think it's comparable at all.


Yes, what about it? How does this makes Google's behavior any better? 2 * bad != good


My experience with TDD is that it is very helpful from a design perspective because it gets you to think about the code before you write it. How is the API going to work? What should I name this method? As an industry we use to dedicate too much time to this (RUP, etc). Now, we don't think about it enough.

As far as actually improving code quality... not so much. For the money, I would much rather see an hour of functional test development rather than an hour of unit test development (and I put TDD in the unit test category). I think functional tests provide more value and our industry has put way too much emphasis on unit tests.

100% unit test coverage says nothing about code quality. 100% functional coverage does. Functional tests also tend to be less brittle – which is a nice bonus.


Haven't seen the supposed benefit here as well.

I tried it as an experiment. With 100% coverage, TDD everything.

Code still fails in production. That is because unit tests detract from running functional/integration tests. Database, connections, hardware all mocked and each little cog is the right size. Put the cogs together into a gearbox and it shits the bed.

The one thing TDD helped was to find exact code breakage easier. Functional tests give higher level (less precise) error, maybe "something failed in the backend" then one has to look at logs to see what happens and such. But I'll take that over a false sense of security.

So am definitely not against unit tests, I am all for having a mix of both.

Another way to look at it, unit tests are a bit like drugs. It is easy to get addicted, create 10000 tests and a little micro-burst of pleasure hormone every time you see the dot on the screen for a passing test, it just feels good. But it is important to realize that is what it is (maybe I am writing all those tests just as a therapeutic exercise...), as it might not translate immediately to a ship-able working product.


I test your way, but if you're not aware of it you might want to watch this talk called Integration Tests are a Scam: http://www.infoq.com/presentations/integration-tests-scam It may explain why the "gearbox shit the bed" and how to fix that problem.

If you want a talk that preaches to the/our choir, check out this one: http://vimeo.com/68375232

It's interesting how different they are. Mutually exclusive in fact. But is one wrong, both or neither?


> Integration Tests are a Scam: http://www.infoq.com/presentations/integration-tests-scam

Thank you, that was interesting! A lot of good points. I agree with some of them and don't agree with other parts of it.

First, let's start with this basic principle -- "customers don't care if I have 1M unit tests or 0 unit tests". They just don't. They will complain and not like my product if it keeps crashing or is showing other pathological behavior. First and foremost it is important to ship, and to ship working code as far as customers are concerned. Taken from that side, I want to ensure that when the system is setup in customer's configuration (and we do know it, in our line of work), then we want to stimulate the system as close as possible to what a customer would do. If that doesn't break and is behavior properly. We gain immediately a large degree of confidence because it is closer to "doesn't break when customer uses" use case.

Unit tests also promise that, and they would also promise that "if I have unit-tested my code well, there is a higher chance that the code will not break when it gets into customers' hands". However notice that this is further from being true than the first one.

The problem with integration tests as discussed in the talk it they take a long time to run and give imprecise results. When something is broken I might not be able to quickly zoom in on it. I can't experiment as often as I would like because it take too long to discover precise mistakes. And I agree with those, but, I still maintain it is better to have integration tests because once you get into a stable steady state and all of the sudden one commit breaks the tests it usually is pretty clear what broke, in the worst case just revert the commit or examine in detail until it works. That helps with the "I don't know what broke, something did" part. Usually that something is the one commit where tests started failing.

Yeah, it would be better to also have complete 100% unit test coverage as well and zoom in immediately on the problem. No doubt that 100% unit test coverage also costs a lot of time and money and I posit it is often un-necessary.

Another criticism, perhaps I misunderstood the presenter, it seems to me that the talk focuses more on machine-local, object oriented code. Today the systems are more and more distributed. In a pure, local, single threaded, object oriented code (say a 3D modeler or Photoshop).The behavior or objects is more predictable and it is easier to write what he calls "focused tests". Now introduce threads and well that starts to become hairy. Add in multiple machines (a distributed system) and it gets even more complicated. There is a whole slew of strange problems. Often involving consistency, timeouts, networks failure, partitions, hardware peculiarities. Un-expected input that is generated maybe because a front end service is broken and back-end write might never expect that case and crashes. Unit tests will catch basic errors but it will mask those harder to find those kind of errors.

One more criticism is psychological and it is the false sense of security. And I have seen this happen from those that advocate unit testing everything 100%, when their code breaks, they simply don't believe their code could break because it has 100% coverage and they "just ran it and it passed". Well in production it crashes. And customers don't pay for passing tests they pay for a working product. Anyway I am repeating myself at this point and this is longer rant, so, sorry about that.


> The problem with integration tests as discussed in the talk it they take a long time to run and give imprecise results.

I think you left out the main complaint: It's impossible to cover a majority of code paths.


Whenever I tried to learn TDD, it only seemed relevant for back-end testing (eg REST APIs). But is there anyone left who is strictly a back-end guy? Most programmers now bill themselves as full-stack app developers, and probably spend at least half their time working on the front-end/UI.

I hadn't heard of functional testing before. From a stackoverflow answer:

> Functional Tests are written from the user's perspective. They ensure that the system is functioning as users are expecting it to.

This makes much more sense to me than TDD. TDD is writing functions which test other functions. Are the users writing code, and passing arguments to function calls? If not, then time spent on TDD isn't adding much value for the users.

So what does it mean to write functional tests? I'd argue that writing modular React components is a form of functional testing. Devcards[1] is similar, and looks to me exactly like what would be considered functional testing. These two workflows feel much more natural than testing UIs methods like automated selenium browser interactions to generate screenshots.

1. http://rigsomelight.com/2014/06/03/devcards-taking-interacti...


> Whenever I tried to learn TDD, it only seemed relevant for back-end testing (eg REST APIs). But is there anyone left who is strictly a back-end guy? Most programmers now bill themselves as full-stack app developers, and probably spend at least half their time working on the front-end/UI.

yes?

> So what does it mean to write functional tests? I'd argue that writing modular React components is a form of functional testing. Devcards[1] is similar, and looks to me exactly like what would be considered functional testing. These two workflows feel much more natural than testing UIs methods like automated selenium browser interactions to generate screenshots.

no.


As to code quality, the closest I can come to agreeing with you is that I think some people do unit tests ritualistically, not thoughtfully, and those suites can be relatively low in value. That brittleness you describe is often a sign of that. I rarely see that from people doing actual TDD, though.

Where I part ways, though is the notion that an hour of activity X substitutes for an hour of activity Y. For any given fear you have about your code failing, you should pick the testing approach that yields the most risk reduction per unit of effort. I don't think we can externally judge the right choice for a given team and code base. As long as it's reasonably easy for people to write tests at a variety of levels (unit, integration, functional, end-to-end), and as long as they're committed to continuous improvement, I'm inclined to trust that they'll figure out the right mix for their project.


I share your perspective on this. I have also found that writing tests forces you to write testable code (goes without saying). Often times, if code is impossible to test and requires to you to mock and inject a bunch of different things just to write the test then you're design is probably no good. So, while this necessarily mean you have to do TDD, it's interesting to see that testable code and good design kind of line up.


> it's interesting to see that testable code and good design kind of line up

They can line up, but I'm not sure there's a causation. There are many different ways to write tests the wrong way. It's taken a lot of trail and error for me to get better at it (I can't even say I'm "great" yet). I'd have given up long ago if I wasn't a passionate developer. A less passionate developer would think the whole concept is BS and give up long ago if he took my path.

One of the first mistakes I made was using a mocking framework to test my implementation. The test read like, "first call this method, then call this, then call this". Needless to say it was worthless. I was just writing my code twice.

Then you can use mocks inside-out and end up writing code you don't even need to call, etc.

I'm sure there's many ways to do TDD right, but from in my personal experience, there's more ways to do it wrong.


I don't know about your code quality assertion. My experience has been that it produces code right off the bat that is equivalent to code that has been through 1 or 2 rounds of functional testing. I ignore code coverage, though. It's not a good metric.


My personal experience is that any code that I write that I haven't tested has a bug in it. Usually a NPE/SegFault.


> and I put TDD in the unit test category

there's your problem. TDD with functional tests, only unit test when it's a complicated & important piece of domain/business logic.


I believe that's called BDD. Behavior Driven Development. It has a separate name because TDD-ers kept making this mistake.


Functional tests + strong static functional language => win ?


Where did you get this information from? What tools / services did you use? Strange for HN, but I am not being argumentative; I would just like to use similar tools myself. :-)


Nothing fancy - the data is available on Robert Shiller's website[0] and I implemented the rule in Excel.

[0] http://www.econ.yale.edu/~shiller/data.htm


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: