EA is File Snooping with the Origin Client - <AUTHOR> http://wccftech.com/ea-spying-file-snooping-origin-client-investigation/ <comment><USER2> I am constantly surprised by the common reaction that this is covered by the EULA and thus okay.

Origin is a software intended for international use, including such countries where this behavior is:

a) actively prohibited b) probably illegal, but never came to court c) not covered by the EULA, as EULAs are not binding

It might be okay in your country, but not in others.

<comment><USER3> That's not how EULAs work, so far the only decision about EULAs not being binding is when they prohibit you from reselling the software. Not when you agree that the other party is allowed to do something.

These are two wildly different scenarios.

<comment><USER4> > That's not how EULAs work, so far the only decision about EULAs not being > binding is when they prohibit you from reselling the software.

I can write a EULA that requires you to sign over the rights to your firstborn child, your soul to the devil, and any other nonsense that I could come up with[0].

That doesn't mean that it's actually legally enforceable. Certain clauses have been deemed nonenforceable by law in contracts[1], so just because it's in the EULA doesn't mean it's valid.

Also, just because it _hasn 't_ been deemed nonenforceable previously doesn't mean that it is valid either; it has to be tested (as with all law).

That doesn't give a definitive answer either way, except to say that just because it's in the EULA doesn't mean it's permissible, either morally (subjective) or legally (objective, or at least "objective").

[0] [http://www.out-law.com/page-10929](http://www.out-law.com/page-10929)

[1] The ones that people on this site may be most familiar with are noncompetes and/or invention assignments (in certain states - these particular examples are actually more hazy than most people think, but that's a separate matter). Other extreme examples would be contracts that make a person the legal property of another person (e.g. in many/most countries, you cannot enter into "consensual slavery" with a legally binding contract).

<comment><USER5> There's also the question of whether an unsigned post-purchase EULA constitutes a legally binding contract at all.

<comment><USER3> Courts have agreed on them being legally binding several times. [https://ilt.eff.org/index.php/Contracts:_Click_Wrap_Licenses](https://ilt.eff.org/index.php/Contracts:_Click_Wrap_Licenses)

When they haven't found them legally binding, they've generally either been simply ridiculous or deceiving.

<comment><USER6> OP was saying in some other countries these clauses would not be legally binding, regardless. Your link only shows US court cases.

</comment></comment></comment></comment></comment></comment><comment><USER7> It's quite likely to be cheat-detection scanning filenames, maybe even file contents. Valve had an issue like this recently. (edit: the Valve issue was actually DNS cache scanning)

edit: Gabe Newell explained Valve's reasons for scanning DNS cache - [http://reddit.com/r/gaming/comments/1y70ej/valve_vac_and_tru...](http://reddit.com/r/gaming/comments/1y70ej/valve_vac_and_trust/)

<comment><USER8> Yes Steam I think tracks what websites you've been to, but they only do this when they are already suspecting you of cheating, and they only send a hash of the url to see if matches known cheat sites. That's just one of the things I remember.

In a perfect world EA would just use steam and give up on Origin. I'm sure they can pay Valve enough to get top billing on steam and it would be less than they spend on their own anti-cheat and origin engineering. They'd also have to cut steam in on sales, but it might still be worth it. It would definitely be worth it to the user as the Origin software is horrible.

<comment><USER9> That's still a bad thing, in my opinion. If I am suspected of cheating then they get access to my browsing history?. How is that acceptable?

<comment><USER10> If you read the linked thread, they are not "accessing your browser history". Rather, as a specific countermeasure against specific cheats, they checked the DNS cache for access to a particular set of phone-home server addresses embedded in some cheats. Not websites, but backend servers (ironically) enforcing DRM for cheat software. Like all such countermeasures, it was effective for a short while, then counter-countered by the cheat. What they sent back to valve was only a "yes they appeared to have accessed cheat backend server X", not a list of all accessed servers or browsing history.

I'm not saying I love it, but it's important to be accurate before turning the outrage dial to 11.

<comment><USER11> So far as outsiders were able to tell, it sent back hashes of every DNS cache entry. Someone stuffed their DNS cache with a larger-than-usual number of entries and found the amount of encrypted data sent back consistently increased by exactly the amount required to send every hash twice, then went back to normal when they cleared their DNS cache.

<comment><USER10> Ah, thanks for the clarification.

</comment></comment></comment></comment></comment></comment><comment><USER12> This is a funny story to report for a web site (wccftech) that has 85 tracking widgets on that one page. Thanks for blocking all of those Ghostery!

<comment><USER13> And Ghostery is owned by an advertising company that tracks you by default.

<comment><USER14> Ghostrank? It's disabled by default.

<comment><USER13> It may have changed recently but for sure until some time ago, an option that clearly said they are tracking you, was activated by default.

<comment><USER15> Just checked on a new install, it's disabled.

</comment></comment></comment></comment></comment><comment><USER16> Basically everything Cory Doctorow has predicted [1] would happen with DRM, and of course what Richard Stallman said many years before that.

[1] [https://www.youtube.com/watch?v=HUEvRyemKSg](https://www.youtube.com/watch?v=HUEvRyemKSg)

And now we're going to get OS level DRM that works through all of our browsers, thanks to Netflix, Google, Microsoft, Apple, and last, but not least, the W3C. Terrific.

<comment><USER17> The issue goes deeper than DRM. Online games like Rust, CS:GO and so forth attract cheaters.

Often the intent of a cheater is to ruin the game for everyone else, with patches that give them super-powers (aimbots and wall hacks are pretty common) and the ability to unfairly dominate the other players. Sometimes there are cheaters in official tournaments (a high-profile player in Germany was recently found to be cheating).

Scanning a whole system for "DRM cracking tools" seems very, very bad to me. If this is what EA is doing then they had better have a really good explanation.

Scanning a the running environment of an online game, under the umbrella of a EULA, seems fine. I'll note that if you object to this, you're free to play on non-protected game servers.

Some games are designed to be inherently cheat resistant. One strategy is for the server to never give the game client enough information to be useful for cheating, so even if you've written a totally cheaty client it doesn't do you much good. (Reductio ad absurdum, your client is just a smart video feed with some controller input).

Cheaters suck, but they're a fact of life and if your online game doesn't prevent them then you'll be overrun by the scum and honest players will stop playing.

<comment><USER18> > If this is what EA is doing then they had better have a really good > explanation.

Or?

<comment><USER17> ... or we'll get mad? Again? Good question.

"I'm going to pout and not pre-order Battlefield 5 until a week before it comes out. That'll show them!"

</comment></comment></comment></comment><comment><USER19> This has been a pretty old issue [2011] with EA, which they have tried to deny many times.

[http://www.gamespot.com/forums/pc-mac- discussion-1000004/ea-...](http://www.gamespot.com/forums/pc-mac- discussion-1000004/ea-is-spying-on-us-through-origin-28825397/)

</comment><comment><USER20> To compare with Valve's reaction when an user discovered that kind of data collection in VAC, EA representatives don't seem to know a thing, while, for VAC, Valve's CEO Gabe Newell immediately explained publicly the situation and demonstrated that Valve did think their system quite thoroughly for their users' privacy: [http://reddit.com/r/gaming/comments/1y70ej/valve_vac_and_tru...](http://reddit.com/r/gaming/comments/1y70ej/valve_vac_and_trust/).

</comment><comment><USER21> Is there any proof of this actually being packaged up and sent to EA? It seems to me that this is probably like Blizzard's Warden process, which actively scans for hacks while the client is open. I'll save my outrage until there is proof that they are phoning home with these file scans.

</comment><comment><USER22> Wow... people seem to be ok with this - saying this is in the EULA, therefore it's all cool?

"Errrm, I couldn't help but notice that the videogames company representative just let himself into your house, fucked your dog up the arse, killed your goldfish and pissed in your coffee"

"Oh yes, it's all in the EULA, it's perfectly fair, I am playing the game I bought from them, don't you know!"

</comment><comment><USER23> As one of the comments there mention, the Origin client is only enumerating the list of recently run applications.

The app name in that list is ROT13-"encrypted" by explorer.exe for some odd reason; see:

[http://blog.didierstevens.com/2006/07/24/rot13-is-used-in- wi...](http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows- you%E2%80%99re-joking/)

<comment><USER24> So, how it behaves with non-ASCII data?

</comment></comment><comment><AUTHOR> This reminds me of when Blizzard did the same thing to us Diablo 2 players almost ten years ago: [https://en.wikipedia.org/wiki/Warden_(software)](https://en.wikipedia.org/wiki/Warden_\(software\)).

They did so very openly, although you clearly couldn't play the game without submitting to the requirements.

Of course, this was back when things like having the government surveil our library history was considered a big deal in privacy. Culture's changed quite a bit since.

</comment><comment><USER25> Snooping my files? Ugh, jackasses. But using ROT13 to hide your activities? That's downright offensive. Who the hell uses a Caesar cipher in the 21st century?

<comment><USER26> Actually the UserAssist reg key is meant for windows explorer usage tracking and does the ROT13 encoding automatically. You can turn off the encoding or tracking in general. Source-[http://www.aldeid.com/wiki/Windows-userassist- keys](http://www.aldeid.com/wiki/Windows-userassist-keys)

</comment></comment><comment><USER27> This is what scares me about Steam at little. My understanding (though not sure) is this is what Apple's OSX store and Microsoft's windows app store are trying to solve. Basically sandbox native apps so you can install them and not worry they can do stuff like this.

I'm not saying they succeed at that. I have no idea how secure their sandboxes are and what limits they place. But, that is arguably the intent (or at least one of the intents).

Steam on the other hand has no such intent AFAIK. Of course in all those cases, including Steam, there is the threat to the publisher they'll be banned from the store if they do this kind of thing. I don't know if there is any example of Steam removing an app because of "unethical behavior". I would guess if it was an indie they'd ban first, question later whereas if it was a big publisher like EA they'd probably talk first, try to get them to address the issue.

I'd be curious to know if Steam Box makes any effort in this direction. I was similarly worried about Boxee apps (the PC/OSX/Linux version), XBMC scripts. etc...

</comment><comment><USER26> The UserAssist registry key was meant for tracking Explorer stats. EA is just reading a reg area that windows is already tracking. Also, you can turn it off. Source- [http://www.aldeid.com/wiki/Windows-userassist- keys](http://www.aldeid.com/wiki/Windows-userassist-keys)

</comment><comment><USER28> People need to be educated on what software/websites is/are doing by default. I would assume that most people familiar with today's tracking boilerplate would know better than to install Origin in an unsandboxed environment in the first place. Unfortunately, this doesn't seem to be the case.

</comment><comment><USER29> The worst thing is that Origin is compulsory for many EA distributed games now. e.g. If you played Mass Effect 3, you had to go online with Origin running every time you played the game to get past the DRM, even if you bought a physical disk to install the game. There were no other options for acquiring the game legally.

Besides being intrusive, Origin is spectacularly unfriendly to user mods. The mod community has made some nice texture upgrades for ME3, but to use them with an uncracked ME3 executable requires you to shuffle files around while Origin is running so that it never sees the modified executable (Origin scans and validates executables when you start up a game).

I'm not much of a gamer, but Bioware games are a weakness of mine. I look forward to the day when they're no longer infested with EA's spyware.

</comment><comment><USER30> So wait...these allegations are based entirely on the fact that Windows registry keys exist with ROT13-ed process names?

Let's just check the scorecard:

\- Outbound packet captures showing that Origin is capturing this information? Nope. \- Proof that the Origin client is making a targeted effort to steal information about the user? Nope. \- Indications that Origin is accessing the processes of Firefox or Chrome in any way beyond getting their names? Nope. \- Indications that Origin is _potentially_ capturing any information at all beyond the names of some running processes? Nope.

Cheat detection has been named a couple of times, and that's certainly plausible. I'd imagine ROT13 is used to prevent Origin from being spuriously picked up by antivirus software.

<comment><USER31> Those registry entries were not created by origin. They were created with rot13 by windows explorer. That screenshot shows origin specifically checking whether the entries exist. So origin has a list of files that it checks if the user has.

<comment><USER32> Do we know that it isn't enumerating the whole hive? that seems more likely to me.

<comment><USER31> I guess I don't really know. But the way it says either "SUCCESS" or "NAME NO..." makes it look like it either found the registry entry or it failed to find the registry entry. The second case would probably only happen if it was looking for specific keys.

</comment></comment></comment></comment><comment><USER33> I didn't use Origin much, but it's uninstalled and gone for good, now.

</comment><comment><USER34> We need a new hardware architecture to elegantly enable containment and sandboxing. Every application should have its own isolated virtual environment and OS for execution. Like Qubes, but with every environment capable of utilizing the full hardware simultaneously (that is, managed by the hypervisor).

Direct access to the video hardware is the main thing that holds back the virtualization of gaming or other graphics-heavy activities. We desperately need a solution to that.

<comment><USER35> This is kind of already available for VDI if your willing to accept the overhead of multiple OS instance. Nvidia GRID and similar GPU / Compute boards can handle multiple simultaneous users.

The problem is COST. These are designed for VDI servers supporting 25/50/100 desktop users not 1 gamer and are priced as enterprise equipment.

</comment></comment><comment><USER36> The program is probably hooking into the web browser, because you need to start some Origin games (BF 3) via the browser! Yeh, I'm not joking.

A similar thing happened for me with Googleupdate.exe it scanned all my hard drives ... They don't do it any more but I still remove googleupdate.exe every time it magically gets installed on my system.

<comment><USER37> That is my guess also, it's actually probably just looking for their specific plug-in.

See slide 21 [http://www.slideshare.net/DICEStudio/battlelog-building- scal...](http://www.slideshare.net/DICEStudio/battlelog-building-scalable-web- sites-with-tight-game-integration)

That doesn't mean there isn't any leakage they technically can/can't see. No clue if any of that info gets phoned home.

<comment><USER36> One of the problems with encrypting almost everything, even pictures of your dog, is that it no longer brings suspicion ... And programs like these can send any information without you knowing about it. Encrypted data is not a security protection, it's a security risk! Because you have no idea what information they send. Probably a lot more then they tell you, because there's no way you can find out.

</comment></comment></comment><comment><USER38> Kind of crappy sensationalist article. This is common behavior for game clients which do this sort of thing to detect cheating and bots. E.g. World of Warcraft trying to detect automated gold farming, etc.. I can think of at least four programs that do this sort of thing and it would only be news if it didn't, honestly.

<comment><USER39> While I am aware that warden and things like it can scan the memory of processes, I don't think they are granted full access to read everything on your system. I believe their are restrictions like the file must actively be reading / writing your processes memory before you can scan it.

There is definitely 0 reason that they should be scanning all of the files on your computer and storing them in some sketchy gibberish registry settings. Who knows what else they are looking at.

This is no different then Sony putting rootkits on their audio CD's in order to "prevent piracy". [http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootki...](http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal)

<comment><USER40> Hahaeha, no, warden can and does scan EVERY SINGLE THING on your system. Good luck with fixing that whole "trusting companies that release games I like" thing.

<comment><USER39> I actually don't even play any blizzard games, but I thought I remembered them being sued over warden overstepping its bounds back in the day. I tried to search for it though and cannot find any evidence, so I guess I must have been wrong.

Edit: I did find mention of it on the Wikipedia article about Warden: [http://en.wikipedia.org/wiki/Warden_(software)](http://en.wikipedia.org/wiki/Warden_\(software\))

 _On 23 June 2010 Blizzard updated the Warden Anti-Cheat Platform to version 2 - named Warden 2.0 - with World of Warcraft Patch 3.3.5.

Warden now scans Warcraft II and III game memory space only, with exception of a few tools._

Obviously it's a Wikipedia article, and no source listed for that claim, so who knows if it's accurate.

</comment></comment></comment></comment><comment><USER41> Even if you think this sort of thing is OK because of EULAs or explicit consumer buy-in (I know multiple people that are OK with it because they are bigtime gamers and appreciate its reduction of cheating,) this is one more NSA attack vector. How's the security on this backdoor? Does EA ever service NSLs?

</comment><comment><USER42> From reading newer comments in the Reddit thread it looks like the OP was wrong.

</comment><comment><USER43> wccftech.com on Hacker News? My world just collapsed. It's most unreliable tech website in the world.</comment>


Syntax Matters...? - <AUTHOR> http://smallcultfollowing.com/babysteps/blog/2012/04/15/syntax-matters-dot-dot-dot/

<comment><USER2> _It is important, however, to distinguish between syntax and expressiveness. I don't care (too much) whether you write function(x) { ... }, \x - > ... or { |x| ... } to denote a closure, but there had better be a way to write a closure somehow! (Java, I'm looking at you here)_

Java is the refutation, IMO: it _does_ have a way to express a closure, it's just that the syntax (anonymous class) is laborious. You need to wrap up any mutable variables to be captured in final single-element arrays, and your closure type will be a single-method interface, but the expressiveness is there. The syntax just sucks.

The laborious syntax is what stops you from writing what may be expressed in C# as 'foo.Where(x => x.Name.Length > 10).OrderBy(x => x.Name)' in Java. The equivalent, even using the smaller Javascript syntax of 'function(x) { return x.name.length > 10; }', is tedious. The (current) Java syntax is just silly.

The syntax "weight" of a feature matters. Syntax that's light and unobtrusive invites use. Syntax that's large and clumsy dissuades use, to the point that whole libraries may not come into existence, not because of a lack of expressiveness in the language, but because of aesthetic ugliness.

Lisp has an out here because of macros; almost everything is equally ugly. Many people appear to consider this base level of ugliness unacceptable; others may see it as a flaw of Lisp, because the very malleability of the syntax makes it harder to encode implementation costs in the _form_ of the program.

<comment><USER3> I think you're abusing the word "syntax." I think there is a difference between being able to implement the same functionality of an abstraction, and having direct language support for that abstraction.

I don't think it's accurate to say that Java has clunky syntax for closures. Rather, I think it's more accurate to say that Java has no _concept_ of closures. If you want that functionality, you need to roll your own support using existing concepts. C++ before C++11 is the same.

<comment><USER4> But isn't that abuse of the word "concept"? The same logic would argue that C has no _concept_ of a string, or that lisp has no _concept_ of an object (despite lots of text handling and OO code being written in both languages). Not every "closure" works the same, even between languages that support things called "closures" and use them in roughtly the same way. Anonymous Java classes are clearly a related concept, and in fact as the grandparent points out there's a straightforward mapping between them.

<comment><USER3> I _would_ argue that C has no concept of a string: there is no direct support in C (or C++, for that matter) for concepts related to strings. They are just arrays that happen to contain characters. All of the _strigyness_ of those arrays exists solely in the mind of the programmer. C itself does not help you any. That is, I think, the hallmark of a language level abstraction: does the language allow you to think of the entity only as its abstraction, or do you need to handle that yourself? This fact is also, I think, a major reason why there are so many string-related bugs in C code.

Having never used Common Lisp, I can't say if that's also accurate for your other example.

Edit: _ARGH_. I forgot string literals in C. So C clearly does have the concept of strings. The problem is that's the only support in the language for that concept. Aside from being able to define string literals, C does not help you with strings at all.

<comment><USER4> Fair enough. Then I suspect we'll just have to agree to disagree here. To me, that's a near-meaningless semantic distinction. Language concepts are squishier in my mind.

</comment></comment></comment></comment></comment><comment><USER5> I don't agree that surface syntax doesn't matter unless it affects language functionality. Syntax is UI for programming languages, and UI for programming languages matters as surely as UI for other software matters. Fortunes have been won and lost on UI.

To me, the problem is that there is no answer to programming language syntax that pleases everybody. There are general aesthetic principles to follow, but the fundamental questions - semicolons vs. newlines, indentation vs. braces, short vs. long keywords - generate a lot more heat than light. We have to pick one and disappoint somebody.

Note that even in this thread, there is disagreement about whether JavaScript is too terse or too verbose!

</comment><comment><USER6> Frankly, I've stopped using languages, or lost interest in learning languages, entire over "small" syntax issues. Syntax is a bigger potential deal-breaker to me than functionality in many cases - I spent many times more time reading code than molding my mental model of what I want to do into something I can write down as code in a particular language. If I can't read and scan code quickly, the language is dead to me.

<comment><USER7> I empathize. I have a _hugely_ hard time reading code, which is why I tend to use Python wherever I'm able (and even Python's a bit hard for me to read, but it's certainly better than most).

However, I also think it's a little sad to limit your selection of languages strictly due to syntactic concerns, without any consideration of features whatsoever. Some languages that are utterly unreadable (I'm looking at you, Haskell! Like trying to eat soup with your hands tied behind your back) have some really cool concepts that, if nothing else, are great to poach for your own favorite language (list comprehensions spring to mind).

<comment><USER8> Haskell's actual syntax is actually quite readable — I'd say it's maybe second to Python. Where Haskell gets hard to read is in library code with lots of custom operators, where you have to remember the difference between

      **>
      *>
      *>*
      >*>
      >**

But that's not really Haskell's syntax, it's just a combination of libraries with lots of unfamiliar operators.

<comment><USER6> I'd prefer to read assembly over Haskell any day.

</comment></comment></comment></comment><comment><USER9> Syntax matters. Take Erlang, great language that nobody learns because it looks and feels alien. Damien Katz, creator of CouchDB & now Couchbase, is pretty convinced this is its main reason for lack of adoption: [http://qconlondon.com/dl/qcon- london-2012/slides/DamienKatz_...](http://qconlondon.com/dl/qcon- london-2012/slides/DamienKatz_ErlangInTheRealWorldCouchDB.pdf) (~8 MB)

</comment><comment><USER10> Well, there are two things here: syntax, and lexical form or lexical syntax -- the underlying structure and the textual representation. The term 'lexical form/syntax' ought to be more popularly used, and hence make it clearer to talk about exactly what we like or do not.

</comment><comment><USER11> This touches on some really important relationships between programming languages and cognition.

Alan Kay has been studying how children take to programming and many of the ideas from Smalltalk come from these studies.

When designing for children, every part of the user interface, including the syntax of the programming language, matters a lot. For example, he writes, "If we take functional relationships as an example, it has been shown that children readily understand them but have considerable difficulty with variables, and much more difficulty with parameters. The standard math syntax for functions with parameters requires some extra trained chunks to associated dummy names with actual parameters. Some computer languages allow conventions for prefixing the actual parameters with the dummy names. This is good. For younger children, it's likely that making these into complete assignment statements is an even better idea. An object oriented language can use instance variables for a long time before introducing the idea of passing parameters in a method, etc. Having really good trace and single-step visualizations is critical." <http://www.donhopkins.com/drupal/node/140>

Children have different cognitive needs than adult programmers (and different needs from each other depending on age). But cognitive needs matter in designing programming languages for adults too. I personally take the optimistic (or cynical?) view that we have a lot of room to improve our programming interfaces (not just languages, but the entire programming experience viewed holistically).

<comment><USER12> What about languages that have no syntax? Or have very little syntax? In my experience, I find them easier to reason about, therefore easier to read and easier to write. My sense is that children would find this to be true as well.

<comment><USER11> Could you explain or give examples of what you mean by no or little syntax?

<comment><USER12> Lisp languages have virtually no syntax.

Example: Write a function that generates a string of all the numbers in a range from a start and end value.

Java (lots of syntax, many tokens):

String rangeString(int start, int end) { String oni = ""; for(int i = start; i < (1 + end); i++) { oni += String.valueOf(i); } }

Clojure (almost no syntax):

(defn [start end] (apply str (range start (inc end))))

<comment><USER11> Ah, okay.

So by less syntax you mean fewer syntactic forms (parentheses, curly braces, do notation, etc.) and keywords (class, public, etc.) in the language.

I think in general, languages with fewer syntactic forms also have fewer but more powerful abstraction features. Lisps are pretty high up by this measure. They basically only have one abstraction feature: lambda expressions. Other languages have powerful abstraction features but more of them, like Haskell (lambdas, pattern matching, monadic do notation). And others have many but less powerful abstraction features (e.g. Java).

On the one hand, I certainly agree with you that more powerful abstractions make it easier to program. Once you've grokked the abstraction, you only need one brain "chunk" to deal with it freeing up your other chunks to work on the problem. If you need to juggle several different abstractions (e.g. wrap up your closure inside an object inside a class), you have fewer chunks to work on your problem.

On the other hand, people tend to have difficulty learning these higher abstractions in the first place. Alan Kay, in that quote, points out that young children (I think less than ~8 years old) have difficulty with the abstraction of parameterization. In particular they have trouble with mentally corresponding the placement of a parameter in a list with its role in the function. Named parameters make things a bit better, they help the children keep track of the role. Explicit variable assignment (imperative programming) makes it even easier. Of course, as less powerful abstractions, these styles don't tend to scale as well when working on more complex programs.

In general, I think people need help keeping track of _specifics_ while working with higher abstractions until the abstractions become "natural" to them. Programming interfaces, including debugging interfaces, can help with this.

It's a bit of a paradox. When you truly understand an abstraction it tremendously improves the clarity of your programming experience. But without this understanding, abstractions can be a major hindrance.

You may be interested in further exploring "point-free" abstractions. It's kind of the next level up the abstraction ladder from explicitly assigned variables in imperative code, to lambda abstractions with parameters, to functions without the parameters at all. <http://www.haskell.org/haskellwiki/Pointfree>

Or approach from the concatenative side, [http://evincarofautumn.blogspot.com/2012/02/why- concatenativ...](http://evincarofautumn.blogspot.com/2012/02/why- concatenative-programming-matters.html)

<comment><USER12> Yes. I mean less syntax (you call it "syntactic forms", sure). I can think in this language because it's only the semantics that I have to remember, because there is no syntax to also remember. Any syntax you come up with will be inferior to data. But I think it could be a worthy challenge to teach kids Lisp. For instance, you know, you can make named parameters in your functions to help kids really easily in Lisp. It's, what, at most a 15 minute task to add that to any function.

</comment></comment></comment></comment></comment></comment><comment><USER13> Syntax matters for people who are just learning a new language. When I was learning to program I thought about code in terms of the pascal statements I had to write. Now I think about more abstract ideas, about data flow and control flow. I can map those ideas to the language I am using at any given moment but that only came after many years of experience.

On a different note, I have abstained from commenting on Rust's attitude toward keyword names but aside #2 just bothers me. Naming conventions matter and since Rust may possibly become used in the future it may inspire some new generation of users to learn to program. 20 years later they will start writing their own languages and think "Hey, I used 'ret' in Rust and that brings back good memories so I'll just keep using it!". Truly an embarrassing part of hacker culture.

</comment><comment><USER14> The smalltalk difference is not just syntax. Smalltalk uses messages instead of function calls. It's a different concept because smalltalk object can handle messages that are not declared on the class body. If you changed the parameters order it would be a different message, and you would not have a compile error, because it would still be possible to an instance to answer that message.

</comment><comment><USER15> I think good syntax won't make a language better but bad syntax can make a language worst

Its like you will not work for a company because it have clean toilets, but if they have dirty toilets you wont work for them

If you find this logic familiar, its because i am basing it on motivation theory

</comment><comment><USER16> I have real problems reading a large volume of code in certain programming languages. With a lot of code, even if I'm not familiar with the language, I can scan it and understand the broad strokes and what it's doing very quickly.

There are two languages I can't do that with. Javascript and Lisp. For me, Lisp and Javascript's syntax is too sparse. I've even used Javascript for a few days every week for the last 10 years and I still can't 'scan' a large code file. I know how it works, I know how to use it, I know the good parts and all the tricks. But I still dread cracking open a misbehaving Jquery plugin or any home grown, even self-written, non-trivial code base in it.

With both of them it's a laborious process of actually having to load the whole code into my head, to remember what other functions are doing, how things are initialized. Perhaps you can call it laziness, but personally I only 'load' a whole code base into my memory when I'm doing significant work with it. It takes time and effort I don't want to have to put in just to make a tweak.

So not being able to just skim read code is intensely annoying.

And that's down to syntax. So to me syntax does matter and it's why I'll keep railing against javascript being the only available language in the browser. It's not just a matter of preference, it's also a matter of productivity. I at least, and I suspect many others, are not very productive with sparse syntactical languages because they're so hard to skim read.

EDIT: Some people have the gift/skill of memorizing things very quickly. I don't, I have the gift/skill of understanding things very quickly, which generally means I can get away with a weak memory. I think a lot of programmers have one of those two skills, but rarely both. Sparse syntax is a bane for the latter.

<comment><USER7> Could you define "sparse"? Perhaps illustrate it with a counterexample in a language that does not exhibit that property.

(Also, have you tried Dart, Coffeescript, or any of the dozens of other languages that compile to Javascript?)

<comment><USER16> Sparse in that function can actually mean function, closure, class or class method.

Javascript also suffers from a cowboy layout problem where, for example, the initializer of a class may be anywhere. Most programming languages have established a convention to where it is (the top of the class declaration (e.g. Ruby, Python) or underneath class variables/properties (e.g. Java, C#)).

In Lisp it's even worse as it's not even obvious immediately what is a function or an argument as it's just on the position of the words.

I do keep meaning to give coffeescript a whirl, but feels it solves the symptoms not the underlying cause, so it's not that high on my 'try it' list.

</comment></comment></comment><comment><USER17> Brilliant</comment>


Social Media Design Cheat Sheet  - <AUTHOR> https://www.imforza.com/blog/social-media-design-cheat-sheet/ Stay updated on the dimensions & requirements to properly customize your social media accounts with our Social Media Design Cheat Sheet. <comment><USER2> It's worth noting with the Facebook profile picture the 180x180 original is cropped, rather than resized, to 160x160.

This is important if you're looking for seamless integration between the profile picture and cover photo.

<comment><AUTHOR> Very good point, thanks!</comment></comment>


Google Labs: Similar Images and Google News Timeline - <AUTHOR> http://googleblog.blogspot.com/2009/04/hard-at-play-in-google-labs-with.html

<comment><USER2> This is pretty exciting stuff! Content based image retrieval has been an active and hot topic in research for years, yet I have rarely seen them in action that much specially in the form of any new startups, which is really surprising for me.

The startup I am working on is somewhat related to CBIR but in a different way, so it's definitely cool to see more implementations spark up in this field.</comment>


Differentiable Genetic Programming (2016) - <AUTHOR> https://arxiv.org/abs/1611.04766 <comment><USER2> I'm still facepalming GP because the associative and communative properties of algebra are omitted. Add in a nonlinear solver and you can reduce th problem size considerably.

[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.394....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.394.140)

<comment><USER3> So do you mean that GP could sped-up by taking the evolutionary process it's simulating and using a solver to find the process' fixed-points?

</comment></comment><comment><USER2> GP in general needs something like Tensorflow and a standard set of benchmarks

<comment><USER4> gpbenchmarks.org ?

<comment><USER2> That's ok, there was a paper from Gecco2012, I think, GP needs better benchmarks.

Differential Equations and PDEs would be a good option too.</comment></comment></comment>


Ask HN: Why don't you ban the dead link forever? - <AUTHOR>

Hey,
I notice that dead links can be submitted over and over again!
For example, someone out there keeps sending the Google mozzila homepage. Like here: http://news.ycombinator.com/item?id=505915
If an entry is submitted as dead, do you block the link forever, or you just allow it to be submitted over and over again, and abuse us?
Thanks!
EDIT: If someone submits a link, and you mark it as dead because it's spam, then why don't you make a technique that in case another user submits the same link again, the entry becomes dead automatically?
Also why don't you monitor a "high risk users" with many spam entries? Such users are more likely to be posting spam, so monitoring them - maybe automatically - you will reduce the spam flow here.
Also consider users with no history record as a potential spammers.
Thanks. <comment><USER3> I would imagine that the data on the page could change, and therefore it would be irresponsible to assume that the link once bad is always bad.

<comment><AUTHOR> First of all, HN already has a ban list of websites! EDIT [I am not sure, but I think I read about this before]

Secondly, you should note that this is for posting news and articles, and such type of stuff does not change often! I am talking about banning the link - <USER2> url, not the whole domain!

And even if we suppose what you say is correct, then they should ban it at least for a while... like 3 months ban or something!

</comment></comment><comment><AUTHOR> I really wish that pg checks this entry out, because I am tired of the spam on this website - although it's relatively low.

check this out! <http://news.ycombinator.com/item?id=506273>

I feel that there is no spam protection here!</comment>


Ask HN: Did you pay Marc Andreessen for advice and was it worth it? - <AUTHOR> I see you can ask Marc Andreessen for advice at  https://21.co/pmarca/ - It costs $100 <i>if</i> he answers... Has anyone here asked him for advice and received it, and if so, was it worth the $100? I saw this a day or so ago, and at the time it was $20. The price seems to be inflating fast! <comment><USER2> Previous thread (featuring Ben Horowitz on 21.co): [https://news.ycombinator.com/item?id=13485488](https://news.ycombinator.com/item?id=13485488)

Two takeaways:

1\. A response looks like this: [https://monosnap.com/file/CbRNrj7TUUhaLolVTLYJhrPxUdsYOK](https://monosnap.com/file/CbRNrj7TUUhaLolVTLYJhrPxUdsYOK)

2\. A16Z invested in 21.co when it still was a Bitcoin mining hardware startup: [https://techcrunch.com/2015/05/18/what-is-21-co-really- doing...](https://techcrunch.com/2015/05/18/what-is-21-co-really-doing-an- excerpt-from-digital-gold/)

<comment><USER3> >1\. A response looks like this: [https://monosnap.com/file/CbRNrj7TUUhaLolVTLYJhrPxUdsYOK](https://monosnap.com/file/CbRNrj7TUUhaLolVTLYJhrPxUdsYOK)

That seems reasonable for $20, but I'd be disappointed in that for $100. Basically, it's

Q: "We have some tech that works in the law field, who should we talk to?"

A: "Talk to some big law firms"

Of course, the question itself invited that answer. Would love to see answers from other questions.

<comment><USER4> Don't forget... now that person can call those firms and say "Ben Horowitz said we should talk." :)

<comment><USER5> If Ben would kick off an email introduction with someone he knows at the firm it'd be worth much more than $100.

</comment></comment></comment></comment><comment><USER6> I think it's just a really interesting way to gate a contact form and get people to think twice about sending off an email. Lots of people have thought about how to avoid spam: finding a way to have to pay to get into an inbox might just be the ticket.

<comment><USER7> I suppose this _is_ just a slightly more expensive version of the idea that we could do away with spam by charging a penny or a tenth of a penny per email sent.

</comment></comment><comment><USER8> I find it interesting that you can write RMS, the leader of the Free Software movement, and he'll respond to you within the day for no charge because he think's that's a morally important thing to do. You can in contrast write Marc Andreessen, one of the figure heads of the propriatary software and privacy violating movement of every bigger information companies, and he'll charge you for the pleasure.

Interesting dichotomy, at least to me.

<comment><USER9> Never tried personally, but read somewhere Steve Wozniak does the same

<comment><USER8> Well if someone ends up giving it a go after reading this comment please tell him that there's a college student on the East Coast willing to buy a sheet of $2 bills from him for the cost of the sheet and a free lunch.

Wozniak seems like your one friends dad who knows all the corniest jokes and has a past that took him into some of the funniest situatins alive. He also happens to be a great hardware guy which makes him infinitly cooler.

</comment></comment></comment><comment><USER10> What are you asking his advice for?

I'm not a VC industry insider, but I've spent enough time in the industry as a peon analyst to see the industry for what it is. I've written before about how nearly all VC partners are ridiculously conservative bandwagoners (they only invest if someone else invests), with the sole (to my knowledge) exception being Marc Andreessen. There might be other exceptions out there, but the thing I always admired about him is his ability to fully commit to a business without any social proof. And I believe that this attribute is what makes him successful. If you are taking his advice on whether to invest in something, it's probably worth the $100.

Never worked with him personally, but I'm sure his business advice is gonna be pretty sound even if I don't know how it rates relative to other VCs. But I think the real point is that it is important to know what you're asking him about before anybody can tell you if it is a good idea. You wouldn't ask him about plumbing, right?

<comment><USER11> If everyone is a bandwagoner, how does the bandwagon start? Without pmarca, would VC grind to a halt?

<comment><USER10> It's really slow. Someone gets interested, their interest piques someone else's interest. This goes on practically forever until some point where there are 2 or more VCs in a room together and then it becomes "I'll do it if you do it".

They've co-opted a word for this process: syndication. If you ask them what it means, they'll have some flowery language[0] for you. In reality all it means is that they're too chickenshit to invest on merits alone, and really want to know what other people think.

This process drives up pre-money valuations and thereby reduces returns. By opting out of the process, Andreessen has outsized returns. It's a bigger risk (he has abnormally large potential downsides), but he's good enough of a judge of merit to make it work out phenomenally for him.

[0] [http://www.startable.com/2008/10/27/venture-capital-deal- syn...](http://www.startable.com/2008/10/27/venture-capital-deal-syndication- why-it-ought-to-take-two-to-tango/)

</comment></comment></comment><comment><USER12> No one's mentioned getting a response so far, but I'm intrigued enough to give it a try. I've sent in a question about genetic engineering.

Some notes about the process:

1\. 21.co's signup form mandates an image, but the tool they use for file uploads breaks on PNGs (!) silently without any visible warning to the user (!!), you can click on the 'save' button many times with nothing happening and without any kind of error or warning in the web console (!!!), in both Firefox and Chromium with Noscript & Adblock disabled. Apparently even using an entire specialized file upload service, the second-most common image format in existence is just too exotic and confusing to support.

2\. you have to confirm by email before you can do anything, which adds on another 10-15m to the process (amusingly, they spam you on signup to set up a public paid inbox - and that email arrived first, but you can't do anything unconfirmed)

3\. it's not $100, it's actually _$110_ , because 21co tacks on a $10 'service fee' (even though it's for charity). It's unclear if I have to pay this $10 regardless of whether Andreessen ever responds. I hope not. In any case this strikes me as a huge fee for such a trivial service, and I really hope it's a 10% fee rather than a fixed $10 fee...

4\. the site is surprisingly slow despite being so barebones

5\. browsing the interface, despite the prominence of Bitcoin, I'm not clear whether I am even allowed to deposit Bitcoin and pay that way; in any case I opted to use a credit card because the profile image bug wasted so much of my time and I was losing my patience. The cash out page indicates that should I ever earn anything via 21.co, I would need to jump through even more hoops, presumably even if I only wanted Bitcoin and not bank deposits or anything. I thought briefly about setting up a paid inbox because it's a fun concept but between a 10% (or worse) fee and all this invasiveness, I'm not interested.

6\. signup form doesn't work with Lastpass, which failed to capture the username/password; always annoying to manually copy over generated passwords.

So, I'm not impressed but we'll see how it works out...

On a side note, how do people regard the expectation of privacy with these public inbox emails? I see someone has screenshotted a Horowitz response; are these responses considered 'commissioned' in a sense, rather than private emails with an expectation of privacy/confidentiality, and so it's OK to copy- paste any response publicly on HN or elsewhere?

<comment><USER12> To update:

My message idn't make it in the first time and 21co notified me it has been canceled:

> Thanks for using 21 to contact Marc Andreessen and donate to Black Girls > Code. Demand for Marc's time was extremely high and it was not feasible to > respond to your message in 48 hours. As such, your credit card has not been > charged. Marc still wants to hear from you though, so we encourage you to > resubmit your message at 21.co/pmarca! The new estimated response time is > one week given the high demand. We are working on adding code to dynamically > update wait times in the presence of surges of demand, but in the interim we > want to make sure you have a good experience. Thanks again for using 21 and > supporting Black Girls Code!

I decided to try submitting again (I'm still curious and at least the price didn't increase).

I also mentioned my comments to 21.co. To summarize their response:

1\. PNG: should be supported, they don't know why it didn't work 2\. they'll check that the emails arrive in an actionable order 3\. it's a flat 10%; it is to cover payment processing (so the user may be donating to charity but they're not) 4\. performance is a known issue 5\. you are not allowed to deposit Bitcoin, they have to be earned via the site; deposits may or may not be available in the future. Verification for withdrawals are required because of fear of abuse. 6\. the responses _are_ supposed to be private/confidential (I guess Horowitz simply doesn't mind or know about that one being passed around). So should I get an Andreessen response, I guess I will confine my comment to whether it was a good response or not and whether it might be worth the money.

(I don't entirely agree with some of the reasons.)

<comment><USER12> Got a reply this morning, 98 words. I think it was a good reply - it was mostly what I was thinking but it's valuable knowing that someone like Andreessen, who may know many secret things and has seen many tech sigmoids come and go, takes a similar view of things.

</comment></comment></comment><comment><USER13> whatever you want to ask him: I'll answer it for $1

<comment><USER14> The question here is: does your answer worth $1? anybody here can share experience on that? :)

<comment><USER15> You have to pay $1 to find out.

<comment><USER3> But you just established that you're willing to dole out freebies.

Edit: nope, as mentioned below. Oops.

<comment><USER16> That wasn't him.

</comment></comment></comment></comment></comment><comment><USER17> It seems to me this is just an advanced (and probably very efficient) quasi- captcha. Except it distinguishes those with a real need for his attention (that is, those who are willing and able to pay) from the others, instead of separating humans from bots.

</comment><comment><USER18> I made a donation, asked no questions, and thanked him for doing something different.

Good, bad, or indifferent I like the way Marc approached this given the amount of people clamoring to get access to him.

</comment><comment><USER19> I like this service, but where can I see a full list of people I can pay to contact? I tried finding a link on the site, but couldn't.

<comment><AUTHOR> That is interesting, I also couldn't find a way to search or a complete list. There's a sampling here: [https://21.co/](https://21.co/)

</comment></comment><comment><USER20> Yes. I paid $100 because I want to encourage volunteering.

> To Marc Andreessen. From Joel Parker Henderson. Hi Marc, what are some of > your favorite charity causes that could benefit from pro bono coding help? I > work at [X] and we have many programmers who volunteer for social > progressive causes; we love coding and we love to help. Thank you, Joel

<comment><USER21> why didn't you just talk to your favorite charities instead of deferring that judgement to Andreessen

<comment><USER22> > _why didn 't you just talk to your favorite charities instead of deferring > that judgement to Andreessen_

No doubt. Paid $100 to ask Andreeesen what _his_ favourite charities are? The SV hero worship is so intense.

</comment></comment></comment><comment><USER23> He answered my $20 question regarding whether he thought the SoLaTiDo wearable keyboard/controller would be accepted by the mobile enterprise AR community, or was too early to the market. His answer was that it was cool, and that he wanted one on his wrist. This means he barely considered it, since it clearly requires both hands and all fingers, to offer workstation level control. My follow-up question (at $100) told him of the mistaken assumption, and asked him what he thought deskless workers would do to gain workstation level control of AR devices. His 48 hours to reply has just expired, so maybe he's swamped.

</comment><comment><USER24> Yeah and here is my question - how much of your own money did you give to this meaningful cause?

<comment><USER25> How much did you? What are you doing to help?

Let me get this straight. Here is someone who makes it possible to a. get access to his knowledge and experience in a pretty easy way and b. lets charities benefit from an interest in this knowledge and suddenly HE is the greedy bastard? Wow.

</comment></comment><comment><USER26> He's making a tradeoff here. This is an ingenious way to filter the 'massive' noise-to-signal ratio on his inbox, but at the same time it makes some of the random but legitimate questions go away.

<comment><AUTHOR> It sounded to me like you only have to pay _if_ your message gets a response. So I just assumed it would be a lottery as to whether he even ever saw my message. I figure he must devote only a very small amount of time to perusing his messages, and then he must devote an equally small amount of time composing an answer.

So I figured I'd have to get pretty lucky to actually wind up spending the $100 (or $110) in the end. Even so, I'd hate to spend the $100 and find the response was disappointing.

</comment></comment><comment><USER27> I believe Quora and Facebook tried it in various forms though there you could reach out just about anybody. I assume 21.co will do same thing going forward.

</comment><comment><USER28> Someone should spend the money to ask him if he thinks the service is worth it, or if he would have used a similar service at any point in his career.

<comment><USER12> There's no need to ask that. Just see if he's still using it in a few months, or if the price has escalated drastically.

</comment></comment><comment><USER29> shouldn't this be marked with "Ask HN:"?

<comment><AUTHOR> Maybe, but I don't see anything in the FAQ which says you have to do that [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html)

</comment></comment><comment><USER30> What advice could he have to offer? This is really stupid self aggrandizement. Get over yourself Marc.

</comment><comment><USER31> maybe they are just testing their latest ai bot?

</comment><comment><USER32> > "Was it worth it?"

The proceeds go to programs promoting underrepresented genders and ethnicities in tech, I'd say that yes it is quite "worth it".

<comment><USER33> I think the question was whether the advice was worth $100, not whether the $100 went toward a meaningful cause.

<comment><AUTHOR> That's correct. Clearly the worth of the advice would be different for different people, depending upon how deep their pockets are. I was hoping to get some examples of just what kind of advice was offered.</comment></comment></comment>


"Shockingly Pink" Dolphin Surfaces - <AUTHOR> http://madmariner.com/news/story/PINK_DOLPHINS_ALBINO_DOLPHINS_RARE_110507_AP <comment><USER2> Because this is important hacker news.

<comment><USER3> It's still interesting. Reminds me of The Black Swan.</comment></comment>


Interview Question: Why do you want to leave your company for this job? - <AUTHOR>

I have an interview for a front-end programmer position this Tuesday and I know they will ask this question. I am not sure how to answer it. My current work is boring and stale maintaining intranet web applications. Been doing this for 5 years. Please help :D <comment><USER2> I have no experience in this area, so you can pretty much ignore any advice that follows.

I think I would be very honest about this question. I would tell the interviewer that my current job bores me and I don't feel intellectually challenge, which is important to me. If the interviewer doesn't understand why this is a problem then this company might not be one I want to work for anyways.

</comment><comment><USER3> Interview is all about honesty. I think there are 2 things you could say. The first reason is that you have been in your current job for a long time and you have learned a lot and became good at it. But it is not giving you any more challenge and growth that you are looking for professionally. Another reason you should think about is why this company is a better company than your current one. There is got to be a reason why this is a better fit for you professionally and personally. It could be what the company stand for, what they sell, or the technology you will be using, you name it.

</comment><comment><USER4> You just answered it. That's a perfectly fine, honest answer. The interviewer might follow up with a question about trying to get another position within the same company so be prepared to answer that.

<comment><AUTHOR> That is true, who are they to look down on me for giving an honest answer. I already tried that many times haha, bottom line was I didn't have an engineering degree!

</comment></comment><comment><USER5> Tell them the truth.

"My current work is boring and stale maintaining intranet web applications. Been doing this for 5 years. I believe I've exhausted all opportunity for growth at current job. I'm looking for a change and a challenge."

<comment><USER6> Agreed. You definitely answered your own question. Just tell them the truth. There is nothing to be ashamed of in that answer.

</comment></comment><comment><USER7> "Ready for something new" is the standard and boring, but fair answer to a totally unfair question.

<comment><USER5> Why is it unfair question? Other than they may not have a current job.</comment></comment>


Apple and Consumer Choice - <AUTHOR> http://johnloeber.com/w/apple-choice.html <comment><USER2> The continued availability of the last two years' iPhone models has been common practice since the iPhone 3GS remained on sale alongside the iPhone 4S. The fact that the iPhone 6S is still available now has at least 6 years of precedent. I think the article is more than a little off base in searching for another explanation here.

The oddities this time are that the iPhone 8 isn't called the iPhone 7s (even though that's what it so obviously _is_ ) and Apple's also announced (but hasn't yet released) the iPhone X.

<comment><USER3> It's pretty curious he picked the headphones jack of all things to justify the 6s still being on sale, when the most plausible reason is the one you just mentioned, keeping older devices available for cheaper.

The author could've selected screen sizes as the premise for Apple offering more choices than before, and the article could've been kept mostly unchanged. Mentioning the headphones jack is just fitting the data to what he wants it to mean.

<comment><AUTHOR> "Keeping older devices available for cheaper" does not quite solve the issue, because Apple is also currently selling the iPhone SE. Both the SE and the 6s are down-market, legacy devices. In my view, there shouldn't be more than one down-market, legacy device.

</comment></comment></comment><comment><USER4> "Apple has become an industry leader not by catering to the conscious wants of its customers, but by delivering products that improve their quality of life, thereby defining what the users want. ""

I find this a bit double edged. If the customer can't get what they want, they ultimately don't stay/become a customer. They move to a different company/product, and are no longer an _Apple_ customer.

If its perceived as a trend by the trendsetter, well, the industry will follow. Take for example laptops. You can't even open and replace hardware like RAM and SSD nowadays. The customer doesn't know they want to open the device, its only a minority who do, but now the industry standard has become laptops which are slim and difficult to open. I'd say that is a wolf in sheep's clothes. Or, take the 3.5mm headphone jacket for instance. Do customers want this as well? Or is it rather that the customers are herded into liking that change?

Apple also sometimes gets credit when it isn't due to them (I wonder if they'll get the credit for small bezels). That is because they're regarded as the leader. How many people believe x86-64 is due to Intel instead of AMD?

The above explains why even non-Apple customers care a whole lot about big decisions by Apple (such as the examples in the article, as well as bezel example, 3.5mm headphone example, and slim size laptop example).

</comment><comment><USER5> Its really just part of being a more global company. iPhone 6S happened because Asian consumers expect phones with big screens.

Apples roots are luxury brand, but we are seeing it slowly go after other segments of the market. Very natural progression as economies of scale grow and they can bring the same product at lower prices.

Even if it means a small hit to consumers in the west, its worth it to start reaching the 2-3 billion people in the rest of the world.

Its a classic case of luxury products becoming commodities, and its how a global giant is born.

<comment><USER6> > iPhone 6S happened because Asian consumers expect phones with big screens.

I think you meant 6+ ? (it would be funny if it weren't sad, how this proves there are simply too many models to keep track of)

</comment></comment><comment><USER6> Meh, this has been the problem from day <del>1</del> 2 with the iPad lineup. I'm a developer, I've watched the keynotes, and I couldn't tell you what the current iPad models are or which moniker describes which iPad or which size came first or what model is bigger or which has the latest features just by the names. Pro? Mini? Micro? 2? 3? X? Air?

<comment><USER7> I'd say the current line of iPads is fairly simple. They did have the issue iPhones currently have, where there are far too many poorly differentiated models. But today, you have the mini (which considering it's now only available in a strangely priced 128GB variant, is likely heading for a quiet discontinuation), the "iPad" which is a lower priced, plain-Jane iPad for the vast majority of people, and then two sizes of Pro, which are differentiated by their higher quality screens, beefier specs, four speakers, and Pencil/keyboard support.

I'd go as far as to say it's the simplest major product line Apple currently runs, as while it's very similar to the MacBook line, that has the problem of the 12" MacBook, the Air, and the Touch Bar-less 13" Pro all filling basically the same role. Although let's face it, the only reason the Air still exists is so Apple can say they have a $999 laptop. That thing is starting to become an embarrassment.

</comment></comment><comment><USER8> Cue "this wouldn't have happened on Jobs' watch".

As an Android user myself I think choice is good but also think Apple should strive to offer as few choice as possible.

It's one of their main strengths.

<comment><USER9> I don't think Jobs would keep the MacBook Air either. Why does it exist, and why does the "air" suffix make it significantly heavier than the laptop called just "MacBook"?

And if selling too many models is the new way forward, please introduce a regular desktop computer more powerful than the mini, and less expensive than $3000. I don't get why (excluding the $3000 trash can pro) Apple's focus is on making desktop computers crazy small. Is there a market that carries a Mac Mini around with them like a laptop?

<comment><USER10> The $999 MacBook Air is Apple's #1 best-selling computer.

The cheapest MacBook is a few hundred dollars more expensive.

It does not make sense to discontinue your biggest volume model in the line unless you are sure that your other models can pick up the same amount of slack; I assume Apple believes that the added cost of the MacBook (and it's a lot slower than the Air, I might add) would prevent that.

<comment><USER9> Good points, I didn't know the sales were so good. Just weird naming then I guess.

</comment></comment></comment></comment><comment><USER11> > consumers fundamentally do not know what they want.

From quite some years in software development I've found this quote of that other one about Henry Ford and faster horses is usually pre-cursor to someone about to explain a "brilliant product idea" for which they haven't done enough research.

Consumers fundamentally DO know what they want. They want life to be easier, faster, more convenient, sexy even. They just aren't collectively any good at expressing it in terms which are useful to a product designer.

<comment><USER3> If you reduce the idea that much, it becomes meaningless. Of course people want things to be better. Consumers fundamentally don't know _what_ will make things significantly better for them, though.

<comment><USER12> > If you reduce the idea that much, it becomes meaningless.

Conversely, the idea that consumers fundamentally don't know what they want is reducing consumers so far down to their lowest common denominator that it becomes meaningless.

The truth lies in the middle.

</comment></comment></comment><comment><USER13> I keep wondering what kind of person would benefit from reading this article. If I'm a product guy, I think about these things all the time anyway and it's not news. If I'm not a product guy, well, I couldn't care less. And beyond all that, Apple notoriously doesn't give two bits what any of us think.</comment>


The Elements Of Style: UNIX As Literature - <AUTHOR> http://theody.net/elements.html

<comment><USER2> After coding parsers, my English became a little more refined (or possibly, just my interpretation of my grammatical decisions become a little more refined): I had said "one can reuse code as a platform or library", but realized that that could imply that I thought those two were different names for the same thing, and this ambiguity could be avoided by "one can reuse code as a platform or a library".

This was precisely the grammatical issue that came up in my parsing code (actually for fields that can hold a choice of types). Of course it's no surprise - Chomsky is a linguist - but such an absolutely direct connection between programming and speaking was striking to me.

An interesting point in the article is that GUI's have become synonymous with constrained choice. Constrained choice can be a good and useful thing, but a graphical representation is potentially much freer than text (consider an image of text in photoshop). I think the closest we have to this in common use is hierarchical tree views (as in vim's NERDTree, or java's JTree, or in windows directories), but they are still very constrained. We could have free- floating graphs with arcs and nodes everywhere; or handwritten algebra; or even active diagrams! (not sure what that would be!). But we don't. I think it's partly because the mouse is great for pointing; not so great for drawing. You really need a pen tablet (which many artists use), or.... a multi-touch screen. People, I think there's a deep opportunity here to change everything.

I've long been curious about Perl's growth... did it in fact grow more strongly in NT than unix? It was the best linguistic tool around with no real competition at all, unlike in unix (BTW Wall: also a linguist). Did this then form a stronghold, from which to launch back into Unix? It's an appealingly logical adoption path.

</comment><comment><USER3> What a great essay, if out of date - I suppose maybe Windows' PowerShell might have changed his opinion of NT?

I wonder if the whiff of elitism he mentions is still a reason for people to avoid UNIX, or if the availability of Linux has changed that.

<comment><USER4> I would wager that he might grant some charity to PowerShell, but still hold onto his thesis. AFAIK, you operate on objects in PS, rather than parsing clear text in UNIX. PS is a much more powerful way to do things, but it seems that the UNIX way is much more grounded in human language than the Windows way, whether it be through a GUI or through PS.

</comment></comment><comment><USER5> Years ago I worked with a government techie, a fellow who had written a masters thesis on W.B. Yeats. One day, as we were discussing the dim prospects for the line of proprietary minicomputers we worked with, he said, "Jim, I think we're fastened to a dying animal." (<http://rpo.library.utoronto.ca/poem/3847.html>)

</comment><comment><USER6> Did the fact that I enjoyed the essay mean that I read the essay right or that the author read me right?

</comment><comment><USER7> I sense parody but can't retrieve the source.

</comment><comment><USER8> You are not expected to understand this.</comment>


Why suicide is falling around the world, and how to bring it down more - <AUTHOR> https://amp.economist.com/leaders/2018/11/24/why-suicide-is-falling-around-the-world-and-how-to-bring-it-down-more <comment><USER2> I don't get how they go from saying poor rural folk that struggle to survive commit suicide more often and then conclude from it that gun control is a solution to that problem. That isn't treating the source of the problem at all. Guns didn't make these people poor and desperate. I would expect any marginalized and poor group of people to have higher rates of suicide than normal regardless of their access to dangerous tools or chemicals.

<comment><USER3> Successful suicide is a function of desire and access to means. You can work on either, or both at the same time.

<comment><USER4> Comments like this make me sigh at the gulf of brilliance and borderline mental disability of HN.

Literally every single person contemplating suicide has access to means. Every single one. No matter how much regulation is imposed which is why it is stupid to attempt to regulate to begin with and usually used as a means to push a secondary agenda. Even someone strapped to a bed and force fed will eventually die from the process.

The only cure for suicide it access to mental health assistance and reasonable living conditions. Even that won't "cure" someone who truly wants to die.

<comment><USER3> I love how you've assumed from my comment a large range of 'secondary agendas' rather than just the face value of my words.

Also I very much appreciate your bad-faith implication that I have a mental disability. Thanks for that.

<comment><USER5> Please don't get uncivil, just because someone else wrote an uncharitable comment. It only makes the thread worse.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment></comment><comment><USER6> > at a global level, suicide is down by 29% since 2000

> in America is up by 18% since 2000 ... The rise is largely among white, > middle-aged, poorly educated men in areas that were left behind by booms and > crushed by busts

> Because farming involves killing things, rural folk are likelier to have the > means to kill themselves—guns, pesticides—to hand

> Unemployed people kill themselves at around two-and-a-half times the rate of > those in work

> the most effective measure of all is limiting access to guns. Half of all > Americans who commit suicide shoot themselves, and the overall rate in > America is about twice that in Britain, which has strict gun controls. The > difference in gun ownership largely accounts for the state-by-state > variation in suicide rates

Unlike the worldwide decline, the rise in America is linked to such a specific cultural subgroup that I'd love to know how the suicide rates compares between different populations within America

<comment><USER7> Britain sounds like a dystopia where I can't find a tool to kill myself. Remember Bender and the suicide booths? If you're going to take the guns, please provide some of those.

</comment></comment><comment><USER8> "more curbs on the means of self-destruction"

This means guns. And that is why right now this post is full of mean spirited comments. It is a shame that cannot be a sincere discussion about guns even when it relates to suicide and the lives it could save.

<comment><USER9> Even if you're pro gun control, it doesn't mean gun control reduces suicides. You'd have to look at the numbers -- are suicide rates lower in places with less access to guns? Or do people just commit suicide differently? I strongly suspect the latter.

Removing means doesn't fix the underlying problems, and it smacks of agenda pushing to suggest otherwise (even if it's a good agenda).

<comment><USER10> People do look at these sorts of numbers all the time, and most of the evidence points to lower overall suicide rates in places that have stricter gun control. Of course, it is hard to fully control for all the correlations, but the available evidence does point towards fewer guns == fewer suicides.

The general explanation is that many suicides are somewhat spur of the moment, and access to an easy way to kill yourself when you have those moments of weakness increases the chance that a person will follow through. People have this sense that suicides are well thought out decisions that people make when they conclude that their life isn't worth living anymore, but that isn't the case most of the time.

[https://www.rand.org/research/gun- policy/analysis/supplement...](https://www.rand.org/research/gun- policy/analysis/supplementary/firearm-availability-suicide.html)

[https://www.reuters.com/article/us-health-firearms- suicides/...](https://www.reuters.com/article/us-health-firearms- suicides/strict-state-gun-laws-linked-to-fewer-suicides-and-murders- idUSKBN1GH39W)

<comment><USER11> Thanks for the links. The RAND paper is really good; the Reuters article less so. While your summary seems true, I think a better summary might be "despite many studies, none have found evidence for a full substitution effect". That is, in studies that show a drop in firearm suicides, there is almost always a drop in overall suicide rates as well. The degree to which changing from an existing lax gun control regime to a stricter one results in a lower firearm suicide rate is harder to establish, but in at least some cases for some populations it's probably a positive effect.

</comment></comment></comment></comment><comment><USER12> The statistic about bridge jump survivors seems improperly researched. It ignores the literal survivor bias as well as the fact that survivors probably had access to many things that they didn't before the jump.

        * A memory of how painful and fearful they were while in the act.
        * Actual medical treatment and resources.
        * Awareness in those they know and work with.
        * Maybe, a more stable place in their community.

It would be FAR more illustrative to contrast the 94% of survivors that persisted against the 6% who took another path. That would provide an extremely strong retrospective view about effective means of preventing "remission" and, quite plausibly, initial incidence.

</comment><comment><USER13> > _The suicide rate in America is up by 18% since 2000. This is not merely a > tragedy; it matters politically, too. The rise is largely among white, > middle-aged, poorly educated men in areas that were left behind by booms and > crushed by busts. Their deaths are a symptom of troubles to which some see > President Donald Trump as the answer. Those troubles should not be ignored._

And yet they are ignored, time and time again. Even mentioning that men could have a problem that society could help solve will be met with great resistance. As we know, there's a never ending effort to get women into stem, to empower girls, to elevate women in society. Which _can_ be good but it seems the pendulum has swung so far in that direction that men are now viewed as "the problem". It seems to me that technology is one of the last areas where men actually succeed but there's a great deal of effort put into place to remove that success.

Women now outnumber men greatly in university. Is there a point where we collectively step back and acknowledge the great gains women have had in society; so great that they now have a very real advantage over men?

In addition to suicide, men are imprisoned at a much higher level than women: [https://en.wikipedia.org/wiki/Incarceration_in_the_United_St...](https://en.wikipedia.org/wiki/Incarceration_in_the_United_States#Gender)

This seems like a problem at least worth acknowledging.

<comment><USER14> > Is there a point where we collectively step back and acknowledge the great > gains women have had in society; so great that they now have a very real > advantage over men?

What evidence do you have to support this? Women are still underpaid compared to their male counterparts for doing the exact same work, which SCOTUS recently ruled was perfectly legal.

Women are still underrepresented in managerial and executive roles across the Fortune 500 and beyond, and have only begun making real gains in high-level US gov positions.

How exactly is the increasing rate of women in university contributing to the problem of poorly-educated white men committing suicide at a higher rate?

<comment><USER13> > _What evidence do you have to support this?_

This article is about how male suicide is on the rise in the US. That is evidence. I also linked to male incarceration rates vs. female.

> _Women are still underpaid compared to their male counterparts for doing the > exact same work_

This is simply not true and I challenge you to provide data to back up this assertion.

[https://www.forbes.com/sites/karinagness/2016/04/12/dont- buy...](https://www.forbes.com/sites/karinagness/2016/04/12/dont-buy-into-the- gender-pay-gap-myth)

> _How exactly is the increasing rate of women in university contributing to > the problem of poorly-educated white men committing suicide at a higher > rate?_

Do you think they are totally unconnected? Is it not worth examining? Do you think male suicide and incarceration rates are even a problem worth looking into?

<comment><USER15> >This article is about how male suicide is on the rise in the US. That is evidence.

This article is about how suicide among various groups is _falling_ , and it mentions as a counterpoint the rise in suicides by "white, middle-aged, poorly educated men in areas that were left behind by booms and crushed by busts". Nowhere in the article is it implied that male suicide is on the rise in the US as a result of the power women have over men in society.

For that matter, you haven't proven that the increase in proportional incarcerations of males versus females is due to the power women have over men in society (vis a vis, I assume, the legal system) either, rather than men committing more crimes than women.

If you're going to challenge others to back up their assertions at least back up your own.

<comment><USER13> I'm saying that men don't have a very good place in US society as evidenced by suicide, lack of university enrollment and incarceration. At no point did I suggest that women have power over men. I see the problem as women's issues are being dealt with (often at the expense of men) while men's issues are a taboo that you can't even speak about. I'll use the voting performance of comments in this thread as further evidence that you can't even suggest that men might be in trouble without meeting great resistance.

<comment><USER15> >I'm saying that men don't have a very good place in US society as evidenced by suicide, lack of university enrollment and incarceration.

>. At no point did I suggest that women have power over men.

"Is there a point where we collectively step back and acknowledge the great gains women have had in society; so great that they now have a very real advantage over men?"

</comment></comment></comment></comment></comment></comment><comment><USER16> This article is just an opinion piece and junk at that. If they have any data they fail to properly cite it beyond their own economist article which also fails to properly cite sources. I find this so frustrating when reading articles these days. All to often they just write "in a recent study ..." with no mention of what the study is, who did it, or a link for you to read it.

Suicide is a huge problem and very complex topic and this article answers to "Why" are quite flippant.

<comment><USER17> If this comment gets any more grey I should probably leave HN because all logic is gone, and we are just voting based on emotions now.

Folks let's get back back on tech and leave the politics to those with time for unproductive discussion.

<comment><USER18> Submit articles you think are appropriate. Flag those you think are inappropriate for the site. Act within the guidelines by not complaining about those that you think aren't right for discussion on HN.

> _" Please don't complain that a submission is inappropriate. If a story is > spam or off-topic, flag it. If you flag something, please don't also comment > that you did."_

Similarly, _" Please don't comment about the voting on comments. It never does any good, and it makes boring reading."_

I suspect the downvotes for your parent are in response to them thinking the comment isn't in line with the guidelines. Commenting as they did often attracts attention to the comment and leads to worse discussion.

</comment></comment></comment><comment><USER19> Thinking about the Bertrand Russell quote: "Drunkenness is temporary suicide", and wondering about the correlation between ~70k drug related deaths per year and this topics ~40k suicides per year. Would suicides increase if the easy access to palliatives would be stopped? Or would they decrease because it may be the drugs themselves that drags people down? I assume that the latter happens, but it seems to me that there's a root cause there before the heavy drugs exacerbates it.

</comment><comment><USER20> suicide should be increased, suicide = freedom and that means more suicide means more freedom

</comment><comment><USER21> They are wrong. Suicide rates in Australia rose in 2017.

<comment><USER22> The article also mentions that suicide rates have gone up in the United States in recent years. It's not saying that every country has had a decreasing rate of suicides, it's saying that the global rate is going down.</comment></comment>


Calculating the perfect Tetris play: Part I - <AUTHOR> http://ains.co/blog/breaking-tetrisfriends.html <comment><USER2> I thought this post was fun and interesting, and showed a great hacker mentality at work. Reverse engineering a particular Tetris implementation isn't what keeps me up at night, but I'm glad someone has tried it and shared the results!

<comment><USER3> Thanks, glad you enjoyed it. It was a side project of mine a few months ago but they are only so much use on my hard drive, happy that people somewhat enjoyed me sharing what I've learnt

</comment></comment><comment><USER4> "True randomness is hard to achieve, especially with computers."

Yes, for important cryptography. No, for pretty much everything else. Use a decent random number generator, there are many to choose from. Problem solved. Do not reinvent one.

If you are investigating the workings of Math.random() when coding a tetris bot, you are prevaricating and IMO wasting your time.

<comment><USER5> I think his point was that the game would be using a predictable RNG, which made his whole endeavor possible.

</comment></comment><comment><USER6> Presumably it's got to be possible to free yourself from the constraint of a given implementation, and put together a solution for truly random pieces.

You're starting from a zero point, there's gotta be a minimum cyclic graph with each node having 7 outgoing connections for each new piece, and representing a certain configuration of blocks on the ground...

<comment><USER7> Knowing which pieces are coming next makes a significant difference in edge cases, but I'm not sure how it would affect the bot in typical play.

If you can predict the pieces perfectly you will always[1] perform at least as well as the same bot but using worse information.

[1] assuming your bot is any good.

</comment></comment><comment><USER8> Pretty sure about ten years back a team at MIT did a paper on how Tetris is NP-Complete...

<comment><USER9> Note that results like this [0] tend to be for generalizations. '''It is natural to generalize the Tetris gameboard to m-by-n, since a relatively simple dynamic program solves the case of a constant-size gameboard in time polynomial in the number of pieces.'''

[0] <http://arxiv.org/abs/cs/0210020></comment></comment>


Windows Experiences Substantial Market Share Drop as Linux Posts Record Growth - <AUTHOR> http://news.softpedia.com/news/windows-experiences-substantial-market-share-drop-as-linux-posts-record-growth-517588.shtml <comment><USER2> I bet the vast majority of these linux users are using laptops which came with windows installed though</comment>


Ask HN: Do you have a ThinkPad X1 Carbon? - <AUTHOR>

I'm debating getting the X1 over a Macbook Air.  What are your feelings on the X1?  Also, whichever I end up buying is getting a big fat linux partition. <comment><USER2> I'm just waiting for it to be released in Australia so I can see specs/prices.

It's pricey, but no doubt far better for *nix than any Macbook. And it has a TrackPoint (although the trackpad is apparently Macbook-spec anyway).

</comment><comment><USER3> I'd seriously consider buying one if HDMI and at least one more USB interface were available.

Anyone knows a lightweight laptop with HDMI, SSD and no optical drive?

</comment><comment><USER4> Nope. I have a Thinkpad T530 though. Discrete GPU running on Mint 13 with Bumblebee ftw.

</comment><comment><USER5> Is the x1carbon Ubuntu certified?

<comment><AUTHOR> I don't think so, but I can't verify because <http://www.ubuntu.com/certification/> is throwing a 503 error.

<comment><USER6> The site's back <http://www.ubuntu.com/certification/hardware/201104-7945/>

<comment><USER2> Note the X1 is a different laptop than the X1 Carbon

<comment><USER6> Ah thanks. I wasn't sure of that (but assumed they were pretty similar due to model #).</comment></comment></comment></comment></comment>


Show HN: HN: Turbo Range Coder / Arithmetic Coding - <AUTHOR> https://github.com/powturbo/Turbo-Range-Coder <comment><AUTHOR> Fastest Range Coder/Arithmetic Coder

100% C (C++ headers). OS:Linux amd64, arm64, Power9, MacOs. Windows: Mingw, visual c++

No other Range Coder / Arithmetic Coder encode or decode faster

Can work as bitwise or/and as multisymbol 32 or 64 bits range coder

Renormalization output 8,16 or 32 bits

Easy connection to bit, nibble or byte predictors

stdin/stdout file compressor included</comment>


From Gongkai to Open Source - <AUTHOR> http://www.bunniestudios.com/blog/?p=4297

<comment><USER2> >The West has a "broadcast" view of IP and ownership... China has a "network" view of IP and ownership

Probably the best way I've heard it described.

>You do have to read or speak Chinese to get it

This statement kind of bothers me. Mandarin is great- loads of fun to learn and speak. My problem is that I meet a lot of highly skilled professionals who don't do more in China because knowledge of Chinese is often held up as an "obvious" prerequisite. I have met countless people who move here and waste a year with flashcards instead of making things because they are convinced that being bilingual will make them successful in China (hint: it won't). Investing your time in doing things the Chinese can't do very well will make you successful in China- and there is no shortage of bilingual Chinese.

You can get the Mediatek MT6260 (or just about anything else) without speaking Chinese, by using Google/Baidu/Bing Translate and relying on the spectacular patience of Chinese people for these things. Will it be a little embarrassing? Sure. Should you learn Chinese? Of course- but should you give up on doing things in the amazing development environment of China just because you don't have a gift for languages? Certainly not.

That being said- Bunnie is the Man

<comment><USER3> What Chinese can't do very well in your opinion ?

<comment><USER2> >What Chinese can't do very well in your opinion ?

Would be a very long post, it depends in which cities, and which age groups (there is a huge cultural gap with far more risk-adverse older Chinese who grew up during the Cultural Revolution) and generalizations are always a bad idea.

That being said I'll take a stab at it- usually Mainland Chinese are not so great at problem solving, but they are fantastic at making the solution better and cheaper (idea Iteration over Genesis). There's the expression "别在孔子面前卖文章" roughly "Don't sell your essay in front of Confucius" akin to our "Don't try to teach your Grandma to suck eggs". Coming up with something new- or imagining you can carries a certain air of arrogance to it. This does not let itself to encouraging creativity. While this attitude has obviously led to accusations of China just cloning products, it's also made many Chinese to be enthusiastic proponents of Open Source (although not contributors for the above reasons). So new solutions and creative problem solving will likely be something they rely on foreigners and overseas educated Chinese to do for some time.

Software, UI/UX, marketing and outsourcing are still comparatively weak. Nearly everything is C++, Java and PHP with only a tiny sprinkling of other languages. Programmers are held in fairly low esteem and not terribly well paid.

Service at one point was a weak point but in the past two years has started to pull ahead of the West significantly. Aliexpress is the tip of the spear as far as Chinese direct sales posing a threat to Western businesses and it's service is not even close to what you can expect from Taobao.

<comment><USER4> My wife is a Chinese UI/UX designer, and the circle of colleagues is small in a big city like Beijing. Programmers are in demand and many now know C# and even Scala; their pay has definitely gone up a lot in the last 5 years.

</comment></comment></comment></comment><comment><USER5> _Gongkai is more a reference to the fact that copyrighted documents, sometimes labeled "confidential" and "proprietary", are made known to the public and shared overtly, but not necessarily according to the letter of the law. [...] this sharing of documents helps to promote the sales of their chips_

That what I've always thought too about why it's often much easier to find complete datasheets for Chinese components than Western ones - at some point, someone leaked them to the public, but the company either doesn't know because they're not the type to send lawyers after everyone, or knows and doesn't care because it's a sort of implicit advertisement.

I have an unbranded Android device based on the MT6589, and the buying decision was influenced partly because I could relatively easily find the full datasheet for it ("MT6589_HSPA+_Smartphone_Application_Processor_Datasheet.pdf", in case you're curious) along with lots of other very detailed information including schematics.

The availability of a large number of different phones based on the same SoC/reference platform has also lead to a big repair ecosystem - Bunnie has written about this before: [http://www.bunniestudios.com/blog/?p=283](http://www.bunniestudios.com/blog/?p=283)

<comment><USER6> Could you share that MT6589 Datasheet? I'm unable to find anything that's not password protected.

I also have an mt6589 lying around and would love to start hacking on it.

<comment><USER5> The password should be 2505581021.

<comment><USER7> The file that I found via search[0] didn't accept that password. Is there perhaps an alternate link or an alternate password?

0 = [http://pan.baidu.com/wap/link?uk=1647171434&shareid=240536&t...](http://pan.baidu.com/wap/link?uk=1647171434&shareid=240536&third=0) Its md5 is

        dd9c04982c692e17e17d11cf389b1da0 MT6589_HSPA+_Smartphone_Application_Processor_Datasheet.pdf

</comment></comment></comment></comment><comment><USER8> This is the thing that I ponder most about. Bunnie does an excellent job of describing how massive and rapid innovation can happen when data is available. I run into the roadblocks all the time when I try to approach western chip manufacturers for data about their chips. If you want to hack hardware these days you are better off knowing Chinese than you are knowing English because the most up to date and available information on the parts you want to build with, is in Chinese. It is frustrating for English speaking engineers.

<comment><USER9> Guess what : the rest of the world has had to learn English for decades to be able to access interesting knowledge.

I'm French and these days I came to the point that I don't even bother to Google anything related to programming in French. I just Google it in English and now I find useful answers (thank you Stackoverflow).

I guess the wheel is turning and soon we will have to learn a bit of Chinese to access fresh knowledge. The barrier of entry is higher though (it doesn't even involve the same parts of the brain than other languages).

<comment><USER10> Chuck isn't complaining about the language, he's complaining about the hostility of big IC manufacturers to sharing their data. For all but the most popular/trivial chips, you have to sign an NDA with the manufacturer which means you have to first get them to give you the time of day, which isn't possible if you don't have large volumes and plans to purchase tons of chips from them.

Except for companies like Alwinner (which isn't "western" by any means), most of the documentation _is_ in English but getting it is so hard we usually have to fallback to Chinese versions, which are shared more easily due to legal and cultural norms.

</comment></comment></comment><comment><USER11> If you're at 31C3 and interested in an open-to-the-RTL platform, which (yes, I'm biased) seems the logical next step, bunnie is leading a discussion on lowRISC tomorrow (Monday) at 2pm.

[https://events.ccc.de/congress/2014/wiki/Session:LowRISC_Dis...](https://events.ccc.de/congress/2014/wiki/Session:LowRISC_Discussion)

</comment><comment><USER12> I've done minor reverse-engineering in the past but this is really taking it to a level of dedication that I find awe-inspiring.

The whole GongKai ecosystem is fascinating. In pure Chinese pragmatism, it's messy, relies on the power of guanxi (the force that lubricates relationships), ignores outside-imposed rules, and is terribly effective.

</comment><comment><USER13> Keeping latest-generation ICs out of reach for hobbyists and small startups is quite usual practice from many of manufacturers geared towards chips going into consumer devices.

Another example is gigabit ethernet- it has been around for 15 years, yet I still can't buy a gigabit-capable switch IC on Digikey. The part I need does exist but manufacturers either want $10k pre-payment before even giving at least partial documentation or the sales cycle is several weeks at best.

<comment><USER5> I wonder if Broadcom had anything to do with that...

Realtek made the RTL8366/RTL8369 which have plenty of info available and you can get from Aliexpress for ~$20 each.

<comment><USER13> I didn't even bother trying to contact Broadcom.

We were aiming for 3-port (2 PHYs, 1 MII) switches, and both Realtek and Marvel do make them (Realtek part is also available on aliexpress).

Designing commercial devices (even for small production runs) based on key part available only in grey market seems to be a slippery road. Unless you live in China and can talk to vendors about previous and potential future availability of the chips ;(

<comment><USER10> If you can get someone experienced to handle logistics, it isn't that bad. I know a few companies that routinely turn to grey market parts when s __t hits the fan for their mass manufactured product supply chains.

In my experience, Marvell is one of the worst to work with but their fabricators make a lot of grey market copies of Marvel's chips during off hours. If you can find a reliable source (fabricator who makes chips for Marvell during the day and grey market copies during the graveyard shift), it will usually be pretty reliable.

</comment></comment></comment></comment><comment><USER14>
       Thus empowered by our fair use rights, we decided to
       embark on a journey to reverse engineer the Mediatek
       MT6260. It's a 364 MHz, ARM7EJ-S, backed by 8MiB of RAM
       and dozens of peripherals, from the routine I2C, SPI,
       PWM and UART to tantalizing extras like an LCD +
       touchscreen controller, audio codec with speaker
       amplifier, battery charger, USB, Bluetooth, and of
       course, GSM. The gray market prices it around $3/unit in
       single quantities. You do have to read or speak Chinese
       to get it, and supply has been a bit spotty lately due
       to high Q4 demand, but we're hoping the market will open
       up a bit as things slow down for Chinese New Year.

No shortage of them on aliexpress.com, and I don't see any requirement for Chinese literacy...

</comment><comment><USER15> Reminds of me the recent, thread on "why open source hardware is hard", whose article was written from the point of a view of a (Western) company having a hard time finding value in making it's work open source. He's looking- as an individual entity- for return for his sharing.

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

Bunnie crystallizes terms where we can begin to see a response- while the "why hard" author contemplated the traditional Western unidirection flow, Bunnie characterizes a loose network not of product co-development and impacts to bottom-line, but comprised largely of support and availability. The Gongkai model makes available means and platform, rather than providing the conventional expected of open source: development.

Thanks as ever Bunnie not just for the hard work and amazing worklogs, but also for helping pull together good framing to help answer "why oshw is hard" with.

</comment><comment><USER16> Here's the raw 31C3 video that goes along with this (it starts about 16 minutes in): [http://streaming.media.ccc.de/relive/6156/](http://streaming.media.ccc.de/relive/6156/)

<comment><USER17> Damn I missed it!

</comment></comment><comment><USER18> Video of 31c3 talk: [https://youtube.com/watch?v=msrTR3hNDQM](https://youtube.com/watch?v=msrTR3hNDQM)</comment>