Canonical Will Own Your Search: New mandatory Ubuntu plugin takes over Firefox - <AUTHOR> https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/402767 <comment><USER2> From one of the commenters:

"This new extension is installed by stealth, hijacks the search functions of the browser by masquerading itself as plain Google search but funnels those searches to your own custom Google search, and some data those searches done by unknowing users is being collected by someone at Canonical."

I don't like what Canonical is doing here, or the way they answered people's concerns on that thread. I really hope this "feature" goes away by the time Karmic ships.

<comment><USER3> Yeah, I'm less worried about the feature than I am about the attitude that put it there, though. Microsoft did a similar thing during updates a while ago. You couldn't uninstall it without editing the registry, you could only disable it, and you were never notified of it.

They way they've done it is just sneaky, and not like them at all. Not a good sign - but I've always wandered if Ubuntu might become too commercial. Maybe it's time I investigate another Distro just in case.

<comment><USER4> Wouldn't it be fairly simple to just fork Ubuntu?

If that completely misses what you meant, I would probably recommend just stepping back to Debian.

<comment><USER5> I've heard good things about Arch, if you want another bleeding-edge desktop distro. The nice thing about Ubuntu, though, is it's good for both desktop and servers, and makes it really easy to use the desktop distro for development and then use the same stuff on the server.

<comment><USER6> That's what OpenVz, KVM or Xen is for. I don't know about Ubuntu, but on the latest Debian getting an OpenVz setup going is an apt-get of a single package and then you have the pleasure of having your dev stuff nicely isolated and there's no reason to worry about whether the distro is good for both desktop and server anymore (it also means you can make conservative choices for the servers that'd be "unpleasant" to live with on the desktop...)

My home box is running 14-15 containers now - I spin up a new one for all larger projects, plus a few others. It's lightweight enough that I don't notice the overhead.

</comment></comment></comment></comment></comment><comment><USER7> Jebus. Some Ubuntu users are just nuts. I didn't think the folks who write YouTube comments were smart enough to know how to install Linux, but I guess they've managed to figure out Ubuntu.

The anger, tin foil hats, and self-righteousness, are kinda disturbing. I've been involved in Open Source software development for 12 years or so, and I've seen this kind of thing in the past, of course, but not very often so much of it in one place, and over a clearly experimental feature in an alpha (e.g. for developers and testers) release, that was previously discussed and documented to be a user workflow data gathering tool. Unless one assumes that Ubuntu/Canonical actually has _evil_ intentions (in which case, why would you use the OS, when there are many other options?), this kind of response is unwarranted, undeserved, and unproductive.

I'd also wager that the people doing the most abusive complaining are the ones who have contributed the least to the community, while the people they are verbally abusing are the folks who actually make the software they are complaining about.

</comment><comment><USER8> For some reason that bug reminds me of the way they removed update-manager from the notification area.

\- No clear public information before the change, even if it affects almost 100% of users.

\- Mark S. responding to the reported bug.

\- Some devs avoiding straight responses.

\- Introduced in late alphas, before the freezes...

I really hope that they just had a "great idea" on some meeting and people responsible for the packages have problems in handling the situation (they are attacked by hordes of outraged geeks ;) ). But if the situation repeats in 10.04, maybe it's a sign of things going bad? Unfortunately launchpad doesn't count bug subscribers, but it looks like ~60 + 2 duplicate bugs and everyone saying they don't like the idea as it is presented right now... 2 weeks after it was introduced in alpha version. IMHO that's a pretty strong signal that something's going seriously wrong.

</comment><comment><USER9> Ubuntu response:

[http://www.asoftsite.org/s9y/archives/162-What-is-this- Multi...](http://www.asoftsite.org/s9y/archives/162-What-is-this-Multisearch- thing-in-my-Firefox-about.html)

Basically, this is a quick and dirty way to gather some usage data. Seems reasonable to me.

<comment><USER10> You don't gather usage data without informing the individual you are gathering it from. It's a violation of privacy. This is completely unreasonable.

<comment><USER11> So any website that uses any forms of analytics (gathering usage data without informing the individual) is violating your privacy, and acting in "completely unreasonable" ways? If personal data was being collected, that would be a clear violation of privacy, but adding a simple bit of metadata to a GET request to get general statistics is _completely reasonable_ by my book.

<comment><USER12> There's a fine line in play here. Websites are opt-in, as are OSes, but I don't think many people think of Firefox as 'Ubuntu Firefox', and rightfully don't expect that their OS is going to tamper with the expected behavior of known, third party programs. For the normal user[1], this is a 'browser lock- in' that seems worse than what everyone got mad at Microsoft for.

[1] By normal user, I mean the non-Linux-guru type that wouldn't think to try all the nonobvious workarounds. This clearly is no problem to the 'You only get to use Linux if you submit patches' crowd, but should be a big problem for roughly every other open source free software crowd.

</comment></comment></comment></comment><comment><USER13> I love how nasty people get about this stuff: "For the last time: Who is the mastermind behind Multisearch and who is requiring its implementation?"

Don't they realize that Ubuntu is a commercial OS that's given away for free? If you want Freedom, use Debian!

<comment><AUTHOR> But I love Linux. I want some distro, _any distro_ to gain large market share. The linux world is too shattered, too splintered to make a dent in the consumer marketplace, and it needs a large, popular distro like Ubuntu to create focus. Adding this sneaky extension breaks user trust and splinters the linux user base.

<comment><USER14> Mamma and Pappa don't care about this only nerds do. Nerds can move away from linux but I guess cannonical feels Ubuntu has gained traction with Mama and papa and that it doesn't need nerds anymore.

<comment><USER15> then canonical forgot who installed ubuntu on mamma and pappa in the first place. what was done can be undone.

</comment></comment></comment></comment><comment><USER16> I don't see that big of an issue with this. If it helps Ubuntu make money and all it does is make the Google search result page look different, then it's fine. It's installed by default; it's removable and disableable just like every other Fx extension. What's the big deal?

</comment><comment><USER17> Who uses the bundled firefox anyway? It's always a release behind (and now this)...

<comment><USER18> Many, actually

</comment></comment><comment><USER19> Just a clarification: It's not 'mandatory', it just gets installed by default with the Firefox package. Put clearly this means "you can just disable it".

Still, what a crappy 'extension' to Firefox :/, this is why I build mine from source.

<comment><AUTHOR> You can't uninstall it without removing Firefox though. It's enabled by default, too, so all users of your Ubuntu machine will get it enabled no matter what.

<comment><USER20> It's a Firefox extension, and so can be disabled like any other Firefox extension.

<comment><USER21> It's not like any other Firefox extension -- it's a _system_ extension, it's not in your profile in ~/.mozilla

It will always be enabled by default, you can't uninstall it, and you can only disable it after you've created a profile.

<comment><USER19> It's enabled 'by default', but it's still a regular Firefox extension that can be turned off easily.

Comment #2 by Alexander Sack reads:

 _Thanks. To workaround you can disable the extension in tools - > addons._

Later Adam Bielinsky fleshes it out:

 _At the moment, every user on a machine has to click Tools, then Addons, then Extensions, then Multisearch, then Disable, and then restart Firefox._

</comment></comment></comment></comment></comment><comment><USER22> I don't see what the big deal is. If Canonical can make a little more money with this to keep funding the distro then good for them, it's a barely profitable company that offer its main product for free. As for the extension, it gives the same results as regular google, don't like it? Remove it, it's just a firefox extension. Or install your own firefox.

<comment><AUTHOR> It doesn't give the same results. The interface is terrible compared to the default Google interface.

<comment><USER23> I'm not daft enough to be using Karmic alphas on my home computer but on the current 9.04 version with bundled Firefox 3.0, the default Ubuntu start page and the "real" Google homepage give quite different search results.

Perhaps it's down to the Ubuntu page delivering US search results or something, I don't know - but I definitely prefer the standard Google page.

Ubuntu: [http://www.google.com/cse?cx=partner- pub-2070091971271392%3A...](http://www.google.com/cse?cx=partner- pub-2070091971271392%3Aougxymc6y19&ie=UTF-8&q=Radio+1&sa=Search)

Google: [http://www.google.co.uk/search?hl=en&q=Radio+1&btnG=...](http://www.google.co.uk/search?hl=en&q=Radio+1&btnG=Google+Search&meta=&aq=f&oq=)

</comment></comment></comment><comment><USER24> Would have been much better if they made a deal with google and firefox and got there own 'real' search page. Like <http://www.google.com/firefox></comment>


High quality entropy with nothing up its sleeves - <AUTHOR> http://www.bitbabbler.org/ <comment><USER2> You don't need a hardware RNG. If you're running a modern Linux distro, you can safely just pull as much randomness out of /dev/urandom as your heart desires.

<comment><USER3> * Modulo simplifying assumptions.

Also, most people have things they do not _need_. For example, one doesn't need a tablet, whiskey, or windows in their dwelling.

<comment><USER4> > * Modulo simplifying assumptions.

Do you mean there are any special cases situations where entropy is extremely low? Just after reboot? Just after first install? Just after booting a VM from an image (where the "entropy" could be public knowledge)? Container?

<comment><USER3> I was referring to assumptions that let one equate breaking urandom with breaking arbitrary cryptosystems in other ways. examples:

1\. Breaking urandom's construction is much less likely than breaking a less- trodden hardware device.

2\. If hashes in general are broken, then any crypto of interest is also broken (counter example: non-complexity based crypto like a one-time pad (note: Do NOT construe this as any sort of practical endorsement of "one time pads". If you do not understand the concept of malleability, then forget this entire comment exists and go read up on that instead!)).

3\. Backdooring RDRAND is equivalent to backdooring the entire CPU (counter: a model of auditability that constrains the complexity of a backdoor)

These assumptions are mostly reasonable, but they are assumptions nonetheless.

Embedded systems do suffer from a demonstrable lack of entropy. Studying techniques for hardware entropy collection is interesting in its own right, which is why it's disappointing that this page seems more focused on productizing their device as a black box USB stick rather than concentrating on open review.

</comment></comment></comment></comment><comment><USER5> Seems like there's a lot of good information there, but I'm way out of my league so YMMV.

It's too bad they dismiss using radioactive decay for "practical reasons". There's a guy[1] who has been playing with that, off and on, for over 30 years. He's still at it, I just got some fresh random bits from him a few minutes ago. His hardware doesn't seem that expensive.

BTW we just had a discussion on weak RNGs on the web a few days ago: [https://news.ycombinator.com/item?id=10030036](https://news.ycombinator.com/item?id=10030036) As usual with HN, the comments are at least as informative as the article itself.

[1] [http://www.fourmilab.ch/hotbits/](http://www.fourmilab.ch/hotbits/)

<comment><USER6> $330 just for the geiger counter[1]

1: [http://www.aw-el.com/price.htm](http://www.aw-el.com/price.htm)

<comment><USER5> Okay, I'm going to really handwave here.

There's a ubiquitous product, probably 100+ million instances currently operational just in the USA. This product costs about $10 to make. It has both a radioactive source and a way to (indirectly) detect alpha particles.[1]

Yes it's not a perfect analogy. But surely there's a way to build a much cheaper alpha detector?

[1] [https://en.wikipedia.org/wiki/Smoke_detector#Ionization](https://en.wikipedia.org/wiki/Smoke_detector#Ionization)

</comment></comment></comment><comment><USER7> I don't know how to evaluate the fitness of hardware RNGs.

But, I really like their website. It's full of words. Thousands of them. Carefully chosen words.

</comment><comment><USER3> They seem to be saying the right things, but there's no schematic? How is anyone supposed to evaluate, discuss, and independently test whether their design fulfills their criteria?

</comment><comment><USER8> I like it if implementation matches spec. Below quote is about every desirable property you want in a TRNG for high-assurance security. Using simple circuits based on widely-proven physics is much better than complex circuits leveraging cryptographic assumptions. Often more efficient, too. This could have also have application in security-critical boards and ASIC's (esp mixed-signal) aiming to re-use proven blocks. I've forwarded it to a high-security specialist that sometimes makes and breaks hardware TRNG's to get his take on it. Hopefully, he'll reply while it's still getting HN attention.

"So from this, we have a theoretically strong basis for efficient extraction of good entropy. We have sources of noise which are naturally white and for which the best scientific understanding is that the mechanisms underlying them are subatomic scale events which are as independently random as any kind of physical phenomenon is known to be. We have multiple sources of noise that are not all influenced by the same set of physical or environmental conditions. We have a mechanism to extract it which ensures good mixing over time and is robust against interference from predictable signals, over a wide range for the noise floor mean. We can implement it in a way which makes it obvious that no programmed manipulation of the process output is taking place. It is self stable and doesn't require continuous tuning to operate correctly. And we can clock bits out of it at just about any rate we please up to the effective bandwidth of the circuitry responsible for doing that."

</comment><comment><USER9> What I never get about analog RNGs is, couldn't you send a strong, cyclically repeating RF signal at the RNG, and reduce the entropy (sort of) remotely?

</comment><comment><USER10> All new Intel CPUs now contain a built-in true hardware RNG (RDRAND), why not just use that?

Unless you think Intel might have put some kind of backdoor in it (hard to believe), in which case they could also be intercepting your USB communication with this device and substitute their own evil numbers.

<comment><USER2> People that buy aftermarket hardware RNGs generally operate under the assumption --- which I agree is crazy --- that Intel backdoored RDRAND.

But this is all so silly. So far as computer science currently understands, the modern Linux software CSPRNG on modern Linux distros is perfectly adequate for all crypto.

I'd probably use RDRAND if I could count on having it, and if I was designing my own virtualized cloud hosting environment that was going to run at scale I might spend a few hours figuring out how to provision cold-start seeds to new VMs, but other than that I never think about this stuff. Just use urandom!</comment></comment>


The shit finally hits the fan....(James Gosling on Oracle vs Google) - <AUTHOR> http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the

<comment><USER2> I... I only carried it for protection! To scare off the bad guys. I never meant for anyone to get _shot_!

<comment><USER3> At my previous company, we had a patent lawyer who would always ask around if anything we developers did were patentable. I would always downplay what I was doing and come up with things that might be prior-art.

My thinking is this: Even though the company would only use it for "defensive purposes" (which I believe), you never know who owns the company tomorrow. And you are not going to work there tomorrow either, so you might be the one being sued.

Instead, I would try to get permission to blog about it, so it is available for everyone -- including my future self.

I recommend everyone else do the same!

(Throw-away account - I'm not sure future employers want this)

<comment><USER4> It's amazing that for fear of future repercussions, someone would create a throw-away account to express a sentiment such as this.

<comment><USER5> It's an excellent justification for allowing throw-away accounts.

<comment><USER6> Although one could have a "make throwaway account" link from the account page.

<comment><USER7> Or like Slashdot, and have a "post this anonymously" checkbox.

</comment></comment></comment></comment></comment></comment><comment><USER8> That's what happens when you sell your hacker company to a bunch of douchebags.

<comment><USER9> That's what happens when your hacker company runs out of money and sells to a business with money and customers.

<comment><USER8> Sorry your dose of reality got fewer upvotes than my hyperbole. Here, have some karma!

</comment></comment></comment><comment><USER10> Not that it needed the help, but Oracle just became an even less attractive place to work, as a programmer.

<comment><USER11> Saying Oracle could be less attractive for developers is like saying there's a -1 Kelvin ;-)

<comment><USER12> Just for nit-picking: <http://en.wikipedia.org/wiki/Negative_temperature>

</comment></comment></comment><comment><USER13> _"With Oracle, everything is always about money. It is the only metric they know."_

— Gosling, comment on linked article.

<comment><USER9> Oracle (NASDAQ: ORCL) is a public company, so… duh?

"So say goodbye to the NAACP award […] But I'll just take the "I Got A Lot Of Cheese" award"

— Kanye West, "Everything I Am"

</comment></comment><comment><USER14> Could someone be so kind to explain why this is bad for Java instead being bad for patents? I guess we all agree that software patents are bad. This issue seems to be just about them. Why is Java dragged into this? (Genuine curiosity.)

<comment><USER15> Because people will use something else instead of Java to avoid being sued by Oracle. Just like they stopped using OpenSolaris to avoid being sued by NetApp (like CoRaid). One by one, the open Sun technologies will fall into irrelevance.

<comment><USER16> But... Isn't it baked into the HN DNA that you _should_ be using something other than Java? <http://www.paulgraham.com/javacover.html> ;-)

<comment><USER17> Java is much more than just the language, its the platform, the libraries and countless other JVM languages.

<comment><USER16> I'm aware of that; I was getting paid for Java work in 1995.

</comment></comment></comment></comment></comment><comment><USER18> I guess somewhere RMS is grinning from ear to ear.

<comment><USER19> I wonder if you're right... To the casual observer this seems to undermine the GPL.

<comment><USER20> I think he's referring to how he can use this incident to brag about how he's right with his views on open-source-but-not-really-free stuff.

<comment><USER21> Or, he could use this incident to demonstrate how he's right with his views on open-source-but-not-really-free stuff.

</comment></comment></comment></comment><comment><USER22> This sort of things makes me think that <http://www.illumos.org/> (formerly OpenSolaris) could run into trouble sooner rather than later...

<comment><USER15> They don't even need Oracle for that. NetApp already flexed muscles and made clear they'll go after anyone daring using OpenSolaris and most probably anything sporting ZFS (including *BSD), in a storage oriented product. Frankly, I don't see any reason to use OpenSolaris if not for ZFS.

IMHO OpenSolaris won't represent much more than NetBSD pretty soon.

<comment><USER22> (Open)Solaris has other nice stuff, including dtrace, zones, and some big iron features (hotswapping CPUs and memory, for instance, and apparently an advanced hardware error detection system).

I don't use it, but it does have some things to offer.

<comment><USER15> I know that, however the one and only feature that makes everyone drool is ZFS. We do live without all the other nifty features.

</comment></comment></comment></comment><comment><USER23> This week seems to be particularly bad for Big Names and their stance on such things as Net Neutrality and Software Patents, first Vint Cerf (who after Jon Postel was my internet hero #2) and now James Gosling, who seems to imply prior knowledge that this one was in the cards.

So, if he saw their eyes sparkle that means that he is saying that he had an inkling that they were going to use that patent, and then he says "I hope to avoid getting dragged into the fray".

Great guy, not only does he sell a cocked gun to a company that is well known for using guns, on top of that he hopes that he's not even going to have to testify.

<comment><USER24> I don't think it was his decision to sell. He was forced out/quit/whatever soon after the acquisition anyway.

<comment><USER23> Ok, that is probably true.

So he must have been in on the negotiations only because of his name being on those patents, or his unique understanding of those patents or something to that effect.

I find it strange to see him talking to the Oracle lawyers explaining the patent situations in a 'we're selling you this asset with which you can attack google' mode, and to come out now and act all surprised and 'I hope I don't get dragged in to it' mode.

He should probably expect to get dragged in to it, most likely by Googles council as a witness for the defense.

If he presented it to Oracle in a way that 'made their lawyers eyes sparkle' that sounds like he presented it in a very favorable light (for Oracle and Sun) during those meetings, if he's going to be dragged in to it he will have to repeat his stance on why this is something that Oracle can do in court or he'll risk being sued by Oracle for misrepresentation during the meetings with Oracle if he comes down on the defense side with his point of view.

I really wouldn't want to be in his shoes, this could get very nasty. And it could damage the Java brand considerably.

<comment><USER25> I just felt it cogent to point out that the article linked is a mere 71 words, while your above analysis of the situation is 215. I think you may be reading too much into this...

<comment><USER23> It's speculative.

</comment></comment></comment></comment></comment><comment><USER26> for those who can't see the page, heres the coral cache link [http://nighthacks.com.nyud.net/roller/jag/entry/the_shit_fin...](http://nighthacks.com.nyud.net/roller/jag/entry/the_shit_finally_hits_the)

</comment><comment><USER27> OK but, did google not really think about this possibility? I think it was a very obvious risk and I would think they probably had a plan for this.

<comment><USER28> It probably seemed relatively remote when Sun was still around, as Schwartz and Sun had a history of being very friendly to open-source philosophies. Most viewed Sun's patents as defensive. Schwartz has written about how the patents kept Sun out of this mess before -- Microsoft came and said "Cough up because OpenOffice violates our patents" and Schwartz countered with "O RLY, well, while we're at it, why don't we discuss licensing for our Java-related patents re: .NET", etc. But now what used to be Sun is the aggressor.

Oracle bought Sun and everyone was concerned because Oracle is very evil.

<comment><USER27> OK but it's not convincing to think Google would have thought, oh Sun is a company that is nice to open source, so lets base our whole Android operating environment on this open source friendly Java language and JVM and disregard any possibility of being sued. I would think such companies would think about the possibility of someone else taking over or generally anything else happening. Its unprofessional to base your business decision on something as vague as _attitude_. You need something more solid like an agreement - especially for something as big as Android.

So anyway my understanding is probably Google has some agreement or plan at hand for this situation. Ideas welcome.

</comment></comment></comment><comment><USER29> Dumb question, isn't Java free and open source now? What are they suing about?

<comment><USER30> Google didn't use Sun's open sourced version of Java as the base for their VM. They implemented their own VM from scratch and are thus not covered by the patent protection offered by the open source license.

<comment><USER29> So why didn't they just use the open source version?

<comment><USER31> Not-invented-here syndrome, probably. Dalvik seemed intentionally as different from a conventional JVM as possible (different instruction set, register-based rather than stack-based, different executable format, etc), and given the maturity of the JVM architecture it's hard to believe those decisions were entirely for engineering reasons.

<comment><USER32> > given the maturity of the JVM architecture

The server JVM is very mature; millions of dollars have been poured into making it work great in long-running, high-memory conditions where it has a lot of time to optimize its JIT. The client JVM (focusing on quick startup and low resource usage) has been pretty much neglected ever since people realized "Java applets on the web" wasn't going to happen.

</comment></comment></comment></comment></comment><comment><USER33> There has to be more behind this. They can't be suing Google just because they wrote their own embedded Java VM because if they were they'd be suing RIM too.

And they certainly know RIM develops its own since they say so right on their own site: <http://www.oracle.com/technetwork/systems/index-139239.html>

_RIM's support for J2ME includes development of its own Java virtual machine (JVM) 1, which supports the Connected Limited Device Configuration (CLDC) and the Mobile Information Device Profile (MIDP)._

<comment> X-Istence "RIM's support for J2ME [...]"

The gist of the matter is right there. Since RIM supports J2ME, it means they have paid Sun, now Oracle for a J2ME license. That was one of the things that Google bypassed by writing their own implementation.

See this comment on the other discussion: <http://news.ycombinator.com/item?id=1599834>

</comment></comment><comment><USER34> It seems like there's something missing from the story. I don't see how Google wouldn't have known they were infringing on Sun's patents. How could they release Android without a licensing agreement? It would be insane.

<comment><USER13> In the filing Oracle claims Google knows this because it hired Java programmers away from Sun years ago.

<comment><USER34> Right, my question is why didn't Google know they were opening themselves up to this kind of suit? Could they possibly have known but gone ahead anyway? That would be crazy.

<comment><USER35> As far as Google, they deliberately wrote a new virtual machine to be certain they were not infringing. With the patent system we have today, the only way to avoid opening themselves up to this kind of suit is to stop writing software entirely.

Google isn't infringing on the patents and sure isn't violating the copyright. Oracle knows that a Texas jury won't understand the technical issues and hopes Google will settle to avoid the chance of losing billions over a bogus and ignorant verdict.

The outcome of a jury trial in a case like this is like flipping a coin. There won't be any hackers on the jury or else it'd be a five minute decision out of the jury room for Google.

<comment><USER36> I always assumed Google had done their legal homework before building Dalvik. If they truly did a thoroughly clean implementation and if they truly examined all the patent issues they could foresee, then this case would prove that nobody, no company at all, no matter how diligent, can safely write software without fear of infringing patents. That won't help Google in court, but they could help make the case against software patents in the U.S. Congress. My dearest hope.

</comment></comment></comment></comment></comment><comment><USER37> I am not a programmer so permit my probably naive questions.

1\. How difficult will it be for Google to 're do" Android and base it on another language say Objective C/UNIX like iOS? 2\. Do you guys think this will affect Symbian? 3\. What other OS's will this affect? 4\. Is MYSQL next?

<comment><USER30> The answer to 1 is probably "very, but not impossible". They'd basically have to rewrite everything above kernel (which is Linux) from scratch. More importantly it would be a PR nightmare. Who wants to base their product on a platform where the platform owners are happy to throw away all your hard work and make you start from scratch every once in a while.

As to 2 and 3, this probably won't affect anybody else. Symbian (and everybody else) use an officially licensed JVM from Sun(now Oracle) and as such should be safe. The reason Google is in trouble is that the wrote their own VM rather than licensing the VM from Oracle.

As to 4. Well that's anyone's guess.

<comment><USER38> Re 4, I would add that if you have already started to think hard about moving away from MySQL, you _really_ should now.

<comment><USER39> That's pretty odd thinking.

If I'm running MySQL on some servers, and it works great, it's not going to suddenly explode, or stop working.

<comment><USER40> But Oracle may suddenly change the licensing at some point in the future to something more onerous, so it would behoove you to consider not getting locked into MySQL now.

<comment><USER41> They can't change the license they already granted you. And moving now should not be any easier than moving in the event they do change the license in the future, with the added cost that moving may never become necessary. So, IMO, your comment on this issue is baseless fud. Developing a competing platform on tech you know to be patented is totally different than using validly licensed software.

</comment></comment></comment></comment></comment></comment><comment><USER42> Text for anyone who can't see it due to site being down:

Oracle finally filed a patent lawsuit against Google. Not a big surprise. During the integration meetings between Sun and Oracle where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle. Filing patent suits was never in Sun's genetic code. Alas....

I hope to avoid getting dragged into the fray: they only picked one of my patents (RE38,104) to sue over.

</comment><comment><USER18> Okay, at least now I don't have to think about what language to learn next, Clojure or Erlang…

<comment><USER43> I'd say Clojure, but it runs on the JVM.

</comment></comment><comment><USER44> Sun poured billions into Java; is it so bad to ask for one of the biggest benefitors to share the profits?

<comment><USER45> Well they could have just gone with python if they had known this was coming. They probably picked Java on the basis that it is free to use and fits into the open-source community.

<comment><USER46> Android, Inc. (the original company) chose Java because their target market (smartphones) nearly universally supported Java (JVM) at the time of the inception of Android, so the phones ran Java and phone developers knew and were comfortable with Java.

Ref: [http://en.wikipedia.org/wiki/Android_%28operating_system%29#...](http://en.wikipedia.org/wiki/Android_%28operating_system%29#Acquisition_by_Google)

I was unable to ascertain whether Dalvik came from Android, Inc. or was created by Google after acquiring Android. My memory says the later.

The Dalvik VM is an end-run around the Sun JVM licensing issue: <http://en.wikipedia.org/wiki/Dalvik_virtual_machine>

See especially the reference <http://www.betaversion.org/~stefano/linotype/news/110/>

_This raised more than one eyebrowse, and sure did make me raise mine: how did Google manage to get Sun to license off a platform that could very well kill their own?

Turns out, they didn't: their move was even smarter than Sun's.

Today Google released the Android code and I took a serious look at its internals... and found the solution for the licensing problem. It's called Dalvik and it's the new name of Sun's worst nightmares._

<comment><USER47> My recollection is that Dalvik was always a key part of Android and it came along to Google when they bought it.

</comment></comment></comment></comment><comment> jc-denton They start arguing about it instead of improving it :(</comment>


Show HN: Codier – Front-End Coding Challenges and Creations - <AUTHOR> https://codier.io <comment><USER2> already posted 7 days ago [https://news.ycombinator.com/item?id=17651454](https://news.ycombinator.com/item?id=17651454)

<comment><USER3> This is a Show HN from the founder, so whilst is a repost, it isn't exactly the same thing.

</comment></comment><comment><USER4> I've been using this. I love it!

This is my Emoji Challenge submission: [https://codier.io/creation/ryGFK6pNX](https://codier.io/creation/ryGFK6pNX)</comment>


On Python packaging - <AUTHOR> http://www.b-list.org/weblog/2008/dec/14/packaging/ <comment><USER2> In the perl world, I:

\- use apt to manage what's installed on the system

\- use CPAN to manage additional stuff installed per-user (you just specify a standard install prefix for all CPAN modules)

that way I don't mess with the system (any packages wanted by system components see the version they are expecting) but I can have (per-user) additional pkgs + updated pkgs, which is often useful.

This seems to be the best of both worlds, to me.

</comment><comment><USER3> The thing I've always hated about eggs is that invariably something that uses an egg won't have the permissions to write to the default egg cache. It has gotten to the point now that if I know something is going to install an egg, I just do _setup.py build_ and copy the build folder into _site-packages_. It's just not worth the annoyance for what is, at least as far as I can tell, no gain.

(Edit: read cache)

<comment><USER4> You know what else sucks about Python eggs?

They're called 'eggs'. :(

<comment><USER3> No worse than "gems" ;)

</comment></comment></comment><comment> old-gregg Short version: don't reinvent the wheel. And, going back to an analogous issue in the Ruby world mentioned by the author, I hope RubyGems team will finally accept the reality we live in and fix that little "parallel dimension" they created.

</comment><comment><USER5> Ian Bicking's long reply: [http://blog.ianbicking.org/2008/12/14/a-few- corrections-to-o...](http://blog.ianbicking.org/2008/12/14/a-few-corrections- to-on-packaging/)

</comment><comment><USER6> Cached version: <http://is.gd/bFtu></comment>


Android captures 50 percent of Chinese smartphone market in Q3 - <AUTHOR> http://www.techperiod.com/index.php/2010/12/android-captures-50-percent-of-chinese-smartphone-market-in-q3/

<comment><AUTHOR> I wonder what percentage of those actually have Baidu instead of Google Search though? And Android Market?

Does Google benefit much from a China full of Android users who don't use AM or Google Search?

<comment><USER2> Don't know the numbers for mobile search, but after Google retreated Baidu has climbed from 60% to 80% market share of total search.

[http://www.chinadaily.com.cn/business/2010-10/23/content_114...](http://www.chinadaily.com.cn/business/2010-10/23/content_11449101.htm)

Being in such a dominant position, they go directly to all the major Android smartphone manufacturers to request that they preinstall Baidu search on the smartphones, so Google doesn't have a shot at getting on the phones.

Don't think the Android Market is operating in China after Google gave up, they are probably blocked. It's not on the Android Market's official list of countries supported either. [http://market.android.com/support/bin/answer.py?hl=en&an...](http://market.android.com/support/bin/answer.py?hl=en&answer=138294)

The Chinese download Android apps in a fragmented app store environment. There are larger ones like www.hiapk.com, and carriers and manufacturers are also trying to setup their own app stores.

Don't think Google can benefit at all unless they get their search, Android Market, mobile ads on the actual smartphones.</comment></comment>


JQuery Deconstructed - <AUTHOR> http://www.keyframesandcode.com/resources/javascript/deconstructed/jquery/ <comment><USER2> I found these videos by Paul Irish very interesting too:

10 Things I Learned from the jQuery Source : <http://www.youtube.com/watch?v=i_qE1iAmjFg>

11 more Things I Learned from the jQuery Source : <http://www.youtube.com/watch?v=ARnp9Y8xgR4>

</comment><comment><USER3> Here is the older discussion on the same link: <http://news.ycombinator.com/item?id=1532067>

</comment><comment><USER4> Would love to see a diff of this and JQuery 1.5 when(/if) it gets deconstructed.

</comment><comment><USER5> The clicking on method names is pretty neat. Just a little over designed.

<comment><USER6> I liked it. parseJSON() breaks the syntax highlighter though.</comment></comment>


The Real Cause of Secular Stagnation Is Underconsumption - <AUTHOR> https://medium.com/@philipkd/the-real-cause-of-secular-stagnation-is-underconsumption-8f6138eccd8f <comment><USER2> I look around where I live, and its hard to believe that the US could possibly have a problem with too _little_ consumption.</comment>


hr for your terminal - <AUTHOR> https://github.com/LuRsT/hr Tired of not finding things in your terminal because there's a lot of logs and garbage? Tired of destroying the Enter key by creating a "void zone" in your terminal so that you can see the error that you're trying to debug?
Use the old
 tag, but in your terminal <comment><USER2> If you want a solid line, you could use U+2501 (━) from the set of box drawing characters ([https://en.wikipedia.org/wiki/Box- drawing_character](https://en.wikipedia.org/wiki/Box-drawing_character)):

        <━> 9473, U+2501 BOX DRAWINGS HEAVY HORIZONTAL

        hr(){printf '━%.0s' $(seq $COLUMNS)}

<comment><USER3> Some terminals support ACS (with SCLD) but not unicode. It might be better to use ACS:

        $ hr() { printf '\e(0'; printf 'q%.0s' $(seq $(tput cols)); printf '\e(B'; }

Same thing, but potentially more portable.

edit: Could also use tput instead of $COLUMNS. Sometimes the $COLUMNS may not always be updated (bash's checkwinsize option).

<comment><USER4> For portability you should also use \033 (the octal code) instead of \e, which is non-standard.

</comment></comment></comment><comment><USER5> Great idea, one random nitpick:

        curl https://raw.github.com/LuRsT/hr/master/hr > ~/bin/hr

is just evil. That's a great way to own a machine. You can even read the code today, but run the command tomorrow when someone had replaced the code with a giant exploit. Not saying there is a better way to distribute something like this that is as easy to use, but damn, this is just asking for trouble.

<comment><AUTHOR> I know that, I did not want to be evil writing that in the instructions but that's the best way to copy that file, also this is a file to be executable, so even if you use wget you are asking for trouble, downloading a file to your $PATH and making it executable, do you have any idea on how to improve the instructions?

<comment><USER5> I honestly don't know of another way, other than encouraging the user to read the code.

</comment></comment></comment><comment><USER6> This has me wondering, why haven't terminal windows evolved functionally to better support history, scrollback buffers jumping or markers, selection with a mouse, auto-complete hints, etc. Instead we're limited to hacks like this or the screenshot at [http://unix.stackexchange.com/questions/3650/would-it-be- pos...](http://unix.stackexchange.com/questions/3650/would-it-be-possible-to- jump-between-prev-next-command-prompts) ... and no, I don't think "use emacs" is an acceptable answer ;-)

Oh and instead of adding blank lines with "Enter", I often just type "clear" and hit return. Bingo, tons of whitespace now added.

<comment><USER7> I think terminology [1] is quite promising, although it doesn't yet do all of the above.

[1] [http://www.enlightenment.org/p.php?p=about/terminology](http://www.enlightenment.org/p.php?p=about/terminology)

<comment><USER6> Huh. From there I discovered [http://acko.net/blog/on- termkit/](http://acko.net/blog/on-termkit/)

Previous thread: [https://news.ycombinator.com/item?id=2559734](https://news.ycombinator.com/item?id=2559734)

Related terminals: [https://news.ycombinator.com/item?id=3227702](https://news.ycombinator.com/item?id=3227702) [https://news.ycombinator.com/item?id=3910649](https://news.ycombinator.com/item?id=3910649)

"What happened to TermKit?" on Reddit with a reply from the author: [http://www.reddit.com/r/programming/comments/137kd9/18_month...](http://www.reddit.com/r/programming/comments/137kd9/18_months_ago_termkit_a_nextgeneration_terminal/)

I'm thinking we'll need a terminal window that interfaces with bash but has overlays in HTML and other controls for scrollback, etc. Maybe a fork of an existing terminal.

</comment></comment></comment><comment><USER8> i forked this to do something immature instead because i'm 12 years old.

$ dong 8</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>===D # Till the end of your terminal window $

[https://github.com/tgrochowicz/hr](https://github.com/tgrochowicz/hr)

<comment><USER9> Hardly cause to fork a project - surely it would make more sense as an option to the original?

</comment></comment><comment><USER10> I currently just mash <return> <return> <return> to create a visual break in my terminal output.

<comment><AUTHOR> Me too, and it's exactly why I made this script :)

</comment></comment><comment><USER11> Some other characters you may want to substitute into the script:

――――――――――――――――――――――――――――――――――――――――――――――――――

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅

██████████████████████████████████████████████████

<comment><AUTHOR> Oh yeah! Definitely! Although, to make this non-unicode compatible, it's better to have a cleaner default like '='.

But if you really want another character by default, you can do this:

        alias hr='hr █'

</comment></comment><comment><USER12> Much simpler: having a colored prompt works quite well to solve the mentioned problem.

PS1="\\[\033[0;31m\\][\u@\h:\w]$\\[\033[0m\\]"

<comment><USER13> I just stuck this in my PS1:

        hr() {
            printf '=%.0s' $(seq $((${COLUMNS} - 20)))
        }

        PS1="${GREY}\d ${RED}\$(hr)${GREY} \t"

It dynamically adjusts to the width of the terminal, and looks like this:

        Mon Feb 10 </comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>==== 16:30:30

My complete BASH prompt: [https://bitbucket.org/wyatt/dotfiles/src/25cb260a05b68dd81a5...](https://bitbucket.org/wyatt/dotfiles/src/25cb260a05b68dd81a5c8710b5034a0b08ea9a81/bashrc?at=default#cl-47)

</comment><comment><USER14> Great little script. I tossed it into by bash functions and added a bit of error checking and output formatting: [https://github.com/jamestomasino/bash- scripts/blob/master/.f...](https://github.com/jamestomasino/bash- scripts/blob/master/.functions#L159-L174)

</comment><comment><USER15> I like to use terminal colors so it's red, as well as allowing controlling width, but defaulting to terminal width.

      $ cat ~/bin/br
      #!/bin/sh
      if [ "$1" == "" ] ; then
              COLS=`tput cols`
      elif [ "$1" == "--help" ] ; then
              echo "$0: Prints a red line across the screen. or $0 <##> for a specific width."
              echo "$0:   br ; grep -ir foo *  -- place a marker to see where results begin / end."
              echo "$0:   br 80 ; cat file     -- use to check for overly long lines."
              exit
      else
              COLS=$1
      fi
      LINE=""
      for (( x=0 ; x<$COLS ; x++ ));  do LINE="$LINE-" ; done
      echo -e '\E[47;0m'"\033[1m$LINE\033[0m"

</comment><comment><USER16> I'm interested why they use "seq"? [seq can take a single value too apparently, perhaps they did half width rulers with "seq 2 $(tputs cols)"?]

Why doesn't

        !/bin/bash
        j=$(tput cols); for i in {1..$j}; do echo -n "#";done

work, presumably there's some escape that needs doing?

The alternative:

        !/bin/bash
        for (( c=1 ; c<=$COLUMNS; c++ )); do echo -n "#";done

seems fine?

Also BASH has $COLUMNS builtin FWIW, though portability explains use of tput.

I like it, should be a standard command, including options to specify width as a proportion and to add whitespace lines. Code for this must be in almost every shell script.

<comment><USER4> Both of those would work in bash, but they're non-standard extensions. The seq construction would work in any POSIX shell, though the seq command itself is still non-standard I think.

<comment><USER16> Sorry, the first doesn't work - I was asking if anyone knew why. The second works in BASH, but it's bashism as you note.

</comment></comment></comment><comment><USER17> hr(){printf '=%.0s' $(seq $COLUMNS)}

<comment><USER18> What language is that?

<comment><USER19> bash shell, although some whitespace is missing:

        hr() { printf '=%.0s' $(seq $COLUMNS); }

printf is a bash builtin

<comment><USER20> Actually printf is a POSIX standard shell utility. Bash happens to implement it as a builtin, but there's also a conforming copy in GNU coreutils (and presumably busybox, but I didn't check). And the syntax above is standard Bourne shell, not specifically bash.

Actually of the constructs in that, the only non-portable one is the seq tool, which (I think) is unique to coreutils.

<comment><USER19> I don't know if its still the case, but OSX used to not ship with seq. Instead, you had to use jot.

<comment><USER21> OSX 10.9 ships a 'seq'. This particular version was written in 2005 by the NetBSD project, and its provenance is NetBSD 3.0 -> FreeBSD 9.0 -> OSX.

Fwiw, it isn't a GNUism, though GNU's version was the first widely distributed one. A 'seq' appears in some old Research UNIX editions, and also in Plan9, but not in commercial AT&T Unix or in BSD. Instead 'jot' is the traditional BSD utility. Not sure if commercial AT&T Unix (and descendants) had anything similar.

</comment></comment></comment></comment></comment></comment><comment><USER22> If you like this idea and are stuck in Windows, this does the same thing:

        @set @jScript=1;/*
        @for /f "tokens=1,2" %%w in ('mode con:') do @if "%%w" == "Columns:" set cols=%%x
        @cscript /noLogo /E:jScript  "%~f0" %cols% %1 =
        @Goto :EOF
        */line='';while(line.length<WScript.Arguments(0))line+=WScript.Arguments(1);
        WScript.StdOut.Write(line.substr(0,WScript.Arguments(0)));

Save as hr.cmd and stick it somewhere in your path.

</comment><comment><USER23> Fortunately this is what I've used Figlet ([http://www.figlet.org](http://www.figlet.org)) or Toilet ([http://caca.zoy.org/wiki/toilet](http://caca.zoy.org/wiki/toilet)) for:

        $ figlet -- </comment><comment>----

         _____ _____ _____ _____ _____ _____ _____ _____ _____ _____
        |_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|

</comment><comment><USER24> love useful utilities like this. Nothing rocket science but handy. I updated the README.md btw and pull request already accepted. Thx :)

<comment><AUTHOR> Thanks! This is actually what I love doing, small utilities to help me and others which are not that fancy but get the work done and are compatible with my workflow.

</comment></comment><comment><USER25> I don't understand - is there something better about this than the 'clear' command?

<comment><USER26> Clear doesn't do anything to differentiate new output from old.

<comment><USER25> It makes an entire blank line, which is sufficient if you have a lot of textual output. It also gets rid of the old stuff from the screen - if you're running a window manager, you can then scroll up if you need the old stuff.

<comment><AUTHOR> I use `clear` but in tmux, the whitespace produced by `clear` disappears, so it's the same as pressing <Enter> :(

</comment></comment></comment></comment><comment><USER27> Anyone know how to add this sort of thing before the prompt in `git add -p` ?

<comment><AUTHOR> You can create an alias in git like this:

vim ~/.gitconfig

        ap = !hr && git add -p # Add this line to your file

</comment></comment><comment><USER28> The one problem is that the ability or substitute a different character doesn't test for length. I want to do: hr --==##==

<comment><AUTHOR> Hi! I implemented your idea, now you can do that! Thanks for your input!

</comment></comment><comment><USER29> Perl on Windows;

       perl -e "$_=`mode`;/ns:\s+(\d+)/;print '='x$1"

</comment><comment><USER30> I've long wanted a shell with logical separation of each command/output pair.

</comment><comment><USER31> I thought control + l was a fairly well known hotkey?

it inserts a terminal worth of line breaks

</comment><comment> chris-martin PS1="$(hr -) $PS1"

Beautiful.

Now I need a way to make this happen in SBT too.

</comment><comment><USER32> Nice and useful! Thanks!

</comment><comment><USER33> Love this, thanks!

</comment><comment><USER34> Love it. Thanks!</comment>


Mark Zuckerberg tapes over his webcam - <AUTHOR> https://www.theguardian.com/technology/2016/jun/22/mark-zuckerberg-tape-webcam-microphone-facebook?CMP=twt_gu <comment><USER2> I cover my camera. For me though, it's not because I'm paranoid. I do understand that point of view though. I understand that rogue malware or espionage software could be installed on my workstation. However, if that were to happen the contents of the disk on my laptop provide much more value than the look on my face or the conversations I am having. Sure, I utilize full disk encryption but by that point I am logged into my system and the contents are accessible.

I cover my camera because almost all business conference software in 2016 turn the camera on by default. BlueJeans, GotoMeeting, etc. Sometimes I am just attending a meeting as a listening participant or talking with a client who honestly only dialed into the meeting. At any rate, I'm not very interested in showing my face by DEFAULT.

I would suspect that may be the case for Mark as well. TheGuardian's piece is a great fluff article (my opinion only) but I have to wonder if Occam's Razor applies here. He too may not want his face transmitted to a meeting by default?

</comment><comment><USER3> [https://news.ycombinator.com/item?id=11952255](https://news.ycombinator.com/item?id=11952255)

[https://news.ycombinator.com/item?id=11949278](https://news.ycombinator.com/item?id=11949278)</comment>


Best Practices for Form Design (pdf) - <AUTHOR> http://www.lukew.com/resources/articles/WebForms_LukeW.pdf <comment><USER2> Any idea if there is any audio available for this presentation?</comment>


Exploring the Peano Axioms Through Algebraic Data Types - <AUTHOR> https://francisrstokes.github.io/blog/blog/2019/01/12/exploring-the-peano-axioms-with-algebraic-data-types/ <comment><USER2> Strictly speaking, aren't these the axioms of Robinson arithmetic (a much weaker system)? For Peano arithmetic you need the axiom schema of induction as well.

<comment><USER3> I think structural induction over S will do just fine.

<comment><USER4> I thought that the recursively enumerable structure was given by the Axiom of Induction.

</comment></comment></comment><comment><USER5> I don't understand how .add as defined could terminate.

Base case is 0 add y = 0

Recursion is Sx add y = Sy add x

Which is of course _swap_

Shouldn't it be = S (x add y)

<comment><USER6> Let's try it with x = 2, y = 5:

        S(2) add 5       (i.e. 3 + 5)
         => 2 add S(5)   (i.e. 2 + 6)
         => S(1) add 6   (i.e. 2 + 6)
         => 1 add S(6)   (i.e. 1 + 7)
         => S(0) add 7   (i.e. 1 + 7)
         => 0 add S(7)   (i.e. 0 + 8)
         => 0 add 8
         => 8            (base case)

I agree that your rule would work too though:

        S(2) add 5
         => S(1 add 5)
         => S(S(0 add 5))

Seems more sensible to me, and by adding the same rule to the right hand side we end up only needing a single base case (that 0+0=0)

         => S(S(S(0 add 4)))
        ...
         => S(S(S(S(S(S(S(S(0 add 0))))))))
         => S(S(S(S(S(S(S(S(0))))))))
             = 8 (that is the definition of 8)

<comment><USER5> You swapped the order of method arguments though

you are doing x add Sy which isn't the same as Sy add x

            Number.prototype.add = function (y) {
              var x = Number(this)
              return x===0 ? y : (y+1).add(x-1)
            }

            console.log(Number(3).add(2)) // infinite

<comment><USER6> Oops, sorry, I see what you mean now. You're right, it looks like this is a mistake:

        S: innerX => S(y).add(innerX)

It should be

        S: innerX => S(innerX).add(y)

</comment></comment></comment></comment><comment><USER7> Would have been cool to show it in Coq as well, to make the connection to formal mathematics more clear!</comment>


Amazon's Next Move: From books to builders - <AUTHOR> http://www.economist.com/news/business-and-finance/21647529-americas-biggest-online-retailer-attempts-take-another-slice-demand-economy-books

<comment><AUTHOR> This will give a pinch to many startups that are coming up with various on- demand service models. In India, there are already many startups around such a concept, but delivery experience is still below average.</comment>


Communism is a cold shower - <AUTHOR> http://www.economist.com/world/americas/displaystory.cfm?story_id=14803155 <comment><USER2> "there is no quick fix for crumbling infrastructure"

According to US engineers ... it's not just 'communism' that has that problem.</comment>


Microsoft's GitHub Acquisition – An Unbiased Analysis - <AUTHOR> https://www.prahladyeri.com/blog/2018/06/microsofts-github-acquisition-an-unbiased-analysis.html <comment><USER2> There was zero analysis in this article. Merely listing all the negative responses to the acquisition and some Microsoft/Github responses.

<comment><USER3> > Merely listing all the negative responses...

What do you call the paragraphs of text between each listing?

I don't think we're looking at the same article.

</comment></comment><comment> VvR-Ox Very unbiased. Like some ppl already stated: There is no human or human- constructed machine which can be without bias.

The thing is that many people just don't trust those big entities anymore as we know for sure they do nothing without focusing on their biggest goals as globally operating companies: \- maximize profits \- make other companies and consumers depend on you / your products to force your own rules on them when they can't leave that easily anymore

The fact that M$ tries to appear to be "open source friendly" feels like a strategy to soothe peoples anxieties. It's the same like Googles "don't be evil" \- they aren't stupid and know that we [the ppl] watch their steps and react accordingly.

</comment><comment><USER4> Slightly OT, but I'm trying to make a point: Is any analysis of anything truly unbiased? I think it's fairly impossible to claim that.

<comment><USER5> If someone says they are unbiased, they are simply compensating for (or hiding) the biases they themselves notice.</comment></comment>


About 41% of Kickstarter Projects Fail  - <AUTHOR> https://mashable.com/2012/06/12/kickstarter-failures/ <comment><USER2> I think a lower goal and lower duration leading to higher success makes sense. As the article says, the lower goal average is just more realistic which I say resonates with people who are looking to back a project. As for duration, well...wouldn't you want to get in on something cool before it expires?

</comment><comment><USER3> That's surprisingly low. I would have expected more of a long tail of failures approaching 70%. Maybe more people than expected are lowering their target to ensure it's reached.</comment>


497.1-day uptime bug - <AUTHOR> http://www.ibm.com/developerworks/mydeveloperworks/blogs/anthonyv/entry/497_the_number_of_the_it_beast2 <comment><USER2> I'm not sure about details but as far as I remember Windows CE uses a brilliant approach to fix this bug. System tick count is set to value equal three minutes before overflow. And system counter overflows three minutes after OS starting. 3 minutes usually enough to load all applications that could be buggy but this time is less then usual debug session.

edit: found details:

<http://msdn.microsoft.com/en-us/library/ms885645.aspx>

 _For Debug configurations, 180 seconds is subtracted to check for overflow conditions in code that relies on GetTickCount. If this code started within 3 minutes of the device booting, it will experience an overflow condition if it runs for a certain amount of time._

<comment><USER3> Linux does this too, but unconditionally: [http://lxr.linux.no/linux+v3.1.1/include/linux/jiffies.h#L16...](http://lxr.linux.no/linux+v3.1.1/include/linux/jiffies.h#L163)

Note that this particular timer is not directly exposed to userspace, however.

</comment></comment><comment><USER4> Win95 had a famous timer wrap at 49.7 days. Ouch.

All timers should either be really tiny (whereupon they are good subjects for test cases) or really huge and not subject to possible rollover (64 bits of nanoseconds is 580 years, and should serve for an interval counter).

128 bits of nanoseconds is 10E22 years, and should serve to drive calendar time, unless you're doing cosmology.

<comment><USER5>
        Win95 had a famous timer wrap at 49.7 days. Ouch.

The API call in question is called GetTickCount[1], and it's still really popular - especially for doing quick things like comparing for timeouts, and so forth. It returns milliseconds into a 32-bit int.

There's a replacement named, funnily enough, GetTickCount64, but iirc it's only present on Vista and newer, so it hasn't found its way into a lot of software yet. The Windows Performance counters probably provide better metrics for people actually interested in this data.

_______________________

1\. [http://msdn.microsoft.com/en- us/library/windows/desktop/ms72...](http://msdn.microsoft.com/en- us/library/windows/desktop/ms724408\(v=vs.85\).aspx)

<comment><USER6> I recently had to implement a version of GetTickCount64 for older platforms that only support GetTickCount(32). It works great as long as you remember to call it at least every 49.7 days. :-)

(Luckily the process already had a thread which wakes up to perform such maintenance every hour or so.)

</comment></comment></comment><comment><USER7> Speaking of uptimes - where I work, in our data center Cisco switches and load balancers for some reason always become flaky after 300+ days of uptime - weird resets, close_waits and other such things. Older Sun OS releases (8 and below) also get flaky after 200+ days uptime (we have had apps doing zero size reads on log files in a loop, processes hanging on startup etc.). Linux boxes have so many updates that they hardly cross 60+ days uptime. The only shining stars of rock solid uptime are all heavily loaded HP-UX 11i DB Server boxes - 1000+ days uptime and literally work like they were freshly booted!

</comment><comment><USER8> As a rule of thumb, I have all of my equipment and servers reboot every 30 days. You never know what sort of cruft you'll run into if you run your box long enough.

<comment><USER9> I never got this approach for three reasons. The first one is sure, you could say that some "cruft accumulates". But by rebooting you're guaranteeing that if something goes only slightly wrong you may not notice it and every month you'll start with a clean system that does not show the issue anymore. So you're choosing potentially ignoring tiny issues instead of letting them crash the system in a visible way and fixing them properly forever.

The second is that there shouldn't be any "cruft". Servers are not running win95 which reliably crashed given enough time to run. "Cruft" should be fixable - if it isn't then you're running a system which cannot really be supported.

The third one is that if you cannot say anything more specific than "cruft", then your system is badly managed. Are you restarting because your app leaks memory? Is it leaving zombie processes? Is it leaving dead connections to the database? Or maybe something else entirely? Restarting can be a short-term solution for some specific issue, but if it's there to remove "cruft" and "you never know" what it is, then you might as well try arranging your server room according to feng-shui or using voodoo healing to make your app run better. Either you control your system, or you don't.

<comment><USER10> How do you know you can restore your system to a working state in the event of an unscheduled outage, cruft or not?

You should discriminate between _services_ and systems - make your service available 100% of the time, but you should be able to kill and restart/reload/replace systems for maintenance or other reasons at nearly any time. And you SHOULD do that, because without proof that you can do it, your DR solution is simply a best guess.

<comment><USER11> By forcing Configuration Management Software (puppet, cfengine) so that one- off fixes that get hot patched on the production server and never documented.

<comment><USER10> This goes a very long way to helping, yes, but by itself does not guarantee anything. And not everything can be cfengined or puppeted.

</comment></comment></comment></comment></comment><comment><AUTHOR> Someone else reports experiences of switches rebooting after 497 days:

[http://storagemojo.com/2011/11/07/how-fault-tolerant-are- san...](http://storagemojo.com/2011/11/07/how-fault-tolerant-are- sans/#comment-220017)

</comment><comment><USER12> Tick counters are not much of an issue. Packets or octets counter overflowing are much more interesting, especially when they are somehow connected to billing...

</comment><comment><USER13> <http://news.cnet.com/2100-1040-222391.html></comment>


Vim and Composability - <AUTHOR> http://ferd.ca/vim-and-composability.html <comment><USER2> Vim and Emacs talks are similar to friendly discussion about virtues of Lisp and APL.

Lisp is about universal mechanism to adapt to everything which is lambda, so you can grow it for the task at hand.

APL is about carefully complete set of orthogonal primitives which can be combined, so it's "library-less language", harder to extend, focused not on programming but on describing computation itself - using finite universal set of operations.

Vim operations are suspiciously reminding those odd operators - verbs, adverbs, conjunctions - of J.

</comment><comment><USER3> Thanks to other recent posts I took the plunge and started learning vim. I now join the rank of newly converted neophytes. All hail vim!</comment>


YubNub: a (social) command line for the web - <AUTHOR> http://yubnub.org/ it's a bit like Duck Duck Go's ! notation, only it's social and much more flexible <comment><USER2> I like the idea, but I already use it in my browser URL bar, with 'g' set up as a Google search, 'w' as Wikipedia, 'gb' as Google Books, etc. (both Firefox and Chrome support it). I assume this is targeted at a niche of users who are sophisticated enough to want something like this, but not sophisticated enough to figure out how to get it to work in something like Firefox?

</comment><comment><USER3> They didn't implement tab competition.

Bash users won't like this.</comment>


Want to be better? The answer is simple - <AUTHOR> http://nathanconyngham.com/want-to-be-better-the-answer-is-simple/

<comment><USER2> This was a bit painful to read. Aside from the 23px font size, it opened with 7 consecutive single-sentence "paragraphs". Actually that's not quite true. The fourth, sixth and seventh were comma splices as opposed to actual sentences. The rest of the blog entry was littered with sentence fragments and comma splices.

I tried hard to focus on the content, but the presentation was so poor that it had little impact on me. It's not reasonable to expect tech people to be _excellent_ communicators, but I think it's fair to ask for just a 5th grade reading level for material being promoted here.</comment>


Micron Announces 5100 Series Enterprise SATA SSDs with 3D TLC NAND - <AUTHOR> http://www.anandtech.com/show/10886/micron-announces-5100-series-enterprise-sata-ssds-with-3d-tlc-nand <comment><USER2> So where is the Cross Point technology[1] already?

[1] [https://newsroom.intel.com/news-releases/intel-and-micron- pr...](https://newsroom.intel.com/news-releases/intel-and-micron-produce- breakthrough-memory-technology/)

<comment><USER3> Is it OK to call it PCM now?

<comment><USER2> In terms of vaporware or in terms of technology? It's clearly not PCM as a technology.

FWIW an anonymous source emailed me that early next year there would be more news on this front. But I'll believe it when I see it.

<comment><USER3> I mention it because the core storage technology is quite clearly phase change memory, it's the interconnect that is unique (especially the intergrated ovonic threshold switch). But for the longest time, Intel/Micron have not wanted to associated the technology with previous PCM technologies even going so far as to deny it is PCM in the initial release press conferences.

</comment></comment></comment></comment><comment><USER4> I'm rather unsure why you would want to use TLC configured as 60% spare. Wouldn't the same amount of flash at two bits per cell be much faster and longer lasting?

<comment><USER5> When you program a flash cell, you first erase it, then you program it with a new value. Each erasure wears the cell out, so the more bits-per-cell, the longer the flash memory will last.

It may also be faster: to read a cell you have to address it and then measure its value. With more bits per cell, you read/write more bits per address cycle.

<comment><USER4> These cells are nanometer-scale. Having fractional charges is _extremely_ subtle. It is significantly slower to read and write multiple bits, and it takes a lot fewer writes until it doesn't have enough precision to support that use.

</comment></comment></comment><comment><USER6> The price, considering the specs, doesn't make any sense.

I already can buy SSDs under 45 cents/GB, with more IOPS and faster sequential writes.

<comment><USER5> These are Enterprise class drives.

In SSDs, the big difference between Enterprise and Consumer is endurance. Flash memory wears out over time and the firmware manages the wear and maps out bad sectors over time. Eventually, too much wears out and the drive can no longer be written to, or is too slow to usably write to. The endurance spec tells you how much data you can expect to write before the drive must be replaced.

Micron sells both consumer and enterprise drives. The consumer 1100 SSDs max out at 400TB endurance which is fantastic for a consumer drive. These enterprise 5100 drives max out at 17.6PB endurance -- that's 44X better!

If you have an application which writes a lot of data, you should be evaluating whether or not you need something like this.

<comment><USER7> Hasn't there been an article on HN recently that showed consumer grade drive endurance testing? I believe many exceeded the endurance spec manyfold.

<comment><USER5> There is some uncertainty in the numbers, so the manufacturers quote fairly conservative numbers. In recent years flash cells have become a bit more fragile and the process technology has changed multiple times, so good past results on endurance testing are not necessarily indicative of future results.

I've personally burnt out a set of SSDs installed in a RAID-6. They lost no data and failed no writes, but they had become unusably slow -- less than a tenth of their original write speed.

<comment><USER8> What kind of SSDs were these, and how much writing had they been subjected to? If the flash was really wearing out, I'd expect read performance to also suffer significantly as LDPC soft decode error correction was required to recover the data intact. If only write speed was degrading and if you weren't thoroughly hammering the drives with writes around the clock, then you might merely have filled up the drives with a RAID configuration that didn't pass through TRIM commands.

<comment><USER5> If the read speed had degraded, I didn't notice since the RAID controller is the bottleneck in this particular system.

We burned out the drives with a 800Mb/s sustained 24/7 write stream. In post- mortem I did the math and the consumer drives ran out of endurance in less than a month. We replaced the drives with enterprise drives which were expected to last at least 3 years.

Also, here's a really strange finding... TRIM doesn't matter as much as one would expect. Many TRIM implementations are buggy. If the SSD contains a reliable TRIM implementation, then you can 100% guarantee that it will also have internal "move stable bits around to level out the usage" code.</comment></comment></comment></comment></comment></comment>


0MQ: A new approach to messaging - <AUTHOR> http://lwn.net/Articles/370307/ <comment><USER2> One of the really nice things about 0mq is that it takes care of all the annoying bits, without doing too much to your "networking model". By way of example: I was at the middlware2009 conference, and I was implementing algorithms that presenters and their papers discussed, and doing it very quickly because of 0mq. Basically hundreds of lines of code about 'crap i need to send that to x,y and z' went away. Lots of other little details like that went away too -- sockets without the mess. On the other end, I did not have to try and rework various algroithms in terms of overt pub/sub channels, or message queue parameters. It is a good product.

</comment><comment><USER3> Good article, and some excellent comments at the end including a discussion of AMQP v.s. 0MQ v.s. RestMS from someone who has been involved in the design of all three.

</comment><comment><USER4> I'm still hoping for a _simple_ protocol with strong guarantees and persistence. RabbitMQ seems to be a very good backend implementation but its the choice of AMQP for the main protocol is a pity.

AMQP is a ridiculously over-engineered monstrosity and a saturn-sized ball on a chain for any project.

<comment><USER5> Seriously. Roll your own over Redis.

Redis is faster than BeanStalkd, a tiny message queue server written in C that uses libevent and a simple memcached-like protocol. Redis kicks ass, specially the beta versions.

<comment><USER4> Redis is a k/v store, not a queue.

<comment><USER5> Key == mailbox/slot, and value == message. All you need are concurrency primitives, and broadcasting (in the case of a distributed queue)

People have modeled message queues with far more primitive solutions:

[http://www.freeopenbook.com/php-hacks/phphks- CHP-5-SECT-18.h...](http://www.freeopenbook.com/php-hacks/phphks- CHP-5-SECT-18.html)

A Redis based solution might not be as elaborate as RabbitMQ, but it will be very clean and straightforward, not to mention blindingly fast, and will get the job done.

<comment><USER4> Well, I'm quite skeptical about the "blindingly fast" part (network overhead?) but agree that in the light of the current mq-options that's indeed one of the more appealing ideas.

That said, I'm not really in the mood to reinvent that particular wheel myself here, but would probably give someone else's shot a try.

</comment></comment></comment></comment></comment><comment><USER6> I've been looking at beanstalk, and I like what I see.

Simple protocol, main implementation 6000 lines of non-awful C, libevent... What's not to like?

<http://kr.github.com/beanstalkd/>

</comment><comment><USER7> From one of the comments on that page:

"Likewise, neither 0MQ nor AMQP works on Internet scales, where RESTful principles become more important than immediate performance."

I don't follow this logic. Can someone help me understand why 0MQ would not be appropriate at "Internet scales" (and I presume "should" be relegated to LANs)?

I ask because (1) it looks great for a general transport at any "scale" and (2) the article itself discusses a scenario in which 0MQ could be used over a WAN (branch offices, the forwarder, etc.).

What am I missing?

<comment><USER8> I think what he is saying is that a general internet "service" is better off providing a higher-level REST interface instead of a 0MQ interface.

<comment><USER7> OK, I suppose the keyword there is "general". In that context I cannot argue with the idea.

</comment></comment></comment><comment><USER9> Looks interesting, but the documentation is still incomplete. For example, the zmq_connect() docs don't list error codes for name lookup failure, connect timeout, or connection reset. There also don't seem to be sockopts for setting timeout lengths.

Looking at the API, how could my application detect that messages aren't being delivered to a particular peer?

<comment><USER10> We're working on the documentation, but don't let that stop you from joining in and helping us improve it!

As for detecting that messages aren't being delivered to a particular peer, at the moment that is not possible since zmq_send() is asynchronous from the point of view of the caller, i.e. the actual sending gets offloaded to a background thread.

Unfortunately there's no straightforward way to map asynchronous error handling onto the socket API. I guess we could experiment with hitting the calling thread with a SIGPIPE or similar but signal handling on a lot of systems is suboptimal (to put it politely) and we also need to support Win32. So this whole area requires more thought...

</comment></comment><comment><USER5> It's usually written as ZeroMQ, FWIW.

<comment><USER2> Im not sure where you get your info, on the dev list 0mq, zmq (and zmq_$COMPONENT) and zeromq are pretty evenly distrbuted...

(edit: yoru -> your)

<comment><USER11> Actually, all over the front page I see ØMQ, not 0MQ. It's read "zero", but it's spelled with a slashed capital O.

<comment><USER8> Many fonts use a slash or a dot in the center of the zero in order to distinguish it clearly from capital-oh. i.e. It's clear to me they are branding this as 0MQ.

<comment><USER5> True story. In my teens I got a hold of the BBC Micro assembly programming manual; 6502, in all its 8-bit glory. I didn't understand much English, and I haven't had much 1-on-1 time with a computer in my life (paper hacking) so when I got that book, I was completely dumbfounded and confused by the zero with a strike through. I have never seen this symbol before in my life, and now I don't see it anywhere on the keyboard. _sigh_.

Good news though. A few months later I was programming in Forth, learning from a self-xeroxed copy of Starting Forth, and it had the zero-slash everywhere. I am not sure when did I realize that Ø == 0. (It looks like the empty set, aka "phi" Φ)

[Edit: <http://en.wikipedia.org/wiki/%C3%98_%28disambiguation%29> ]</comment></comment></comment></comment></comment>


WSJ: Can 'World of Warcraft' Game Skills Help Land a Job? - <AUTHOR> http://online.wsj.com/articles/can-warcraft-game-skills-help-land-a-job-1407885660?mod=WSJ_hpp_MIDDLENexttoWhatsNewsThird

<comment><USER2> Running a WoW guild is pretty good preparation for having to manage a fairly large group of employees with wildly varying levels of skill, attention to detail, ability to follow-through on commitments, intrapersonal conflict resolution ability, and the like.

That said: it is almost crazy to have on a resume, 99.54% of the time. It doesn't by itself persuasively say "I'm going to make you more money" and unless you have a very good read of the cultural background of the person reading your essay has a high risk of reading "I have low status hobbies. Please judge me for them!"</comment>


Netflix: only 35 of IMDB top 250 available to stream (2018) - <AUTHOR> https://www.streamingobserver.com/netflix-35-movies-imdb-top-250/ <comment><USER2> That's the tragedy with streaming and pay-per-view online systems. Piracy is still has the better catalog.

I would gladly pay 3, even 4 times more for a Netflix that would have everything.

<comment><USER3> The other problem is that netflix physical had both a better catalog and better quality so digital is a massive regression for them. Their physical system was a hack that exploited existing systems (retail pricing for dvds, cheap postal service) so it was too good to last but it is disappointing to see products regress.

<comment><USER4> it still exists....

<comment><USER3> yes, but hard to scale outside the US, and studios were hostile to it because it didn't pay them enough, so they pressured Netflix to stop promoting it and adopt streaming. It exists the same way AOL did EOL but it is not a factor in future growth.

</comment></comment></comment></comment><comment><USER5> Netflix used to be a great deal. I remember I wanted to watch a movie some top 100 IMDB movies, and checked their selection in 2015. There were most of the ones I wanted to watch, and the price was < $8.

Now the price is going to $12-13, and the selection is abysmal. It's heavily geared towards "original content" which are mostly series of 10+ episodes I have not the time to commit to.

Still not bad for the occasional documentary and comedy special, but this is a bait-and-switch. They don't have too many more pushes before I unsubscribe.

<comment><USER6> They were touting in their new quartely results that they didn't think they were seeing any lasting consequential negative effects from raising the price again. Which is another way of saying to Wall Street that investors can count on Netflix to hit subscribers in the US again in the next year or two.

Negative $380 million in cash flow in the quarter (vs negative $287m last year), persistently worsening quarter after quarter, year after year. I can't decide who has the worse business model, Netflix or Uber. Their entire business hinges on the ability to hit US consumers with ever higher fees for ever less content.

Either $14 or $15 is where I unsubscribe permanently from Netflix, unless they want to give me a much larger traditional movie library to go with the perma hikes.

<comment><USER7> What's sad is I happily pay for HBO Now at a $15 price tag, but Netflix wanting 13 pissed me off. And I am absolutely on Netflix more often, because I use it to keep shows running in the background (no other service does this as well as Netflix). With HBO though, they have amazing content and a lot of it. And they own most of it, and rotate out solid movies that I probably wouldn't buy or rent myself.

<comment><USER8> I spend more time browsing the Netflix catalog than I do watching television, it feels like. I cancelled in the past but we recently re-subscribed and I'm regretting it.

</comment></comment></comment></comment><comment><USER9> At this point it's understood that Netflix is a service for watching Netflix original content. Anything on top of that is a bonus, and may not be around a month later.

<comment><USER10> Except their top streamed show is The Office which isn't a Netflix original. Nor is Parks and Rec or 30rock or A.D., etc., which all get plenty of views. [https://www.recode.net/2018/12/21/18139817/netflix-most- popu...](https://www.recode.net/2018/12/21/18139817/netflix-most-popular- shows-friends-office-greys-anatomy-parks-recreation-streaming-tv)

<comment><USER11> 30 Rock wasn't on Netflix anymore, last I'd checked.

</comment></comment></comment><comment><USER12> Disney+ has the potential to seriously hurt Netflix, at least in the US.

I currently go through phases of Netflix and Amazon Prime. Once Disney+ launches, I can see us moving to Disney+ while keeping the Amazon Prime. Not 100% sure, but it's likely.

</comment><comment><USER13> It's a misconception that Netflix is an online movie library. They have a constantly changing selection, so it's more like a random access TV channel.

</comment><comment><USER14> I rarely watch movies on Netflix — moreso documentaries and series. But the endless browsing is becoming real when I want movie. Not sure whether I am being very picky, or the overall quality of the film inventory is average.

<comment><USER15> Maybe it's even moreso today, but it's never been great. A senior person there told me years ago when we were talking about their content library that "People come for the movies and they stay for the TV." And this was (I believe) before House of Cards etc.

The fact is that there's no subscription streaming service that has a great movie catalog. You can subscribe to DVDs on Netflix--still pretty good though the back catalog is rotting. Or just buy/rent a la carte either streaming or disc. Welcome to our unbundled future.

<comment><USER16> I don't mind paying the 3 or 4 dollars to rent a movie off google play to watch a movie when I don't find it on Netflix. But I guess I don't watch too many movies so it's not too bad. Anyone remember how much it used to cost to rent a movie at blockbuster?

<comment><USER15> I remember it as being in the $3 range or so though someone upthread wrote it could be as high as $7. And there's gas/time and late fees. And no guarantee of availability.

For current content, there's also Redbox today.

Personally, I'm basically fine with 1 or 2 streaming services for a combination of general content and exclusives and renting/buying the rest in some manner. I should cancel my cable though because I never watch it even though it means that leaves me without live TV. Yeah, I know there's YouTube TV but I really don't watch enough for it to be worth it.

</comment></comment></comment></comment><comment><USER17> I've become super bearish on Netflix. At some point the masses will realize how bad the selection is for the money you pay.

<comment><USER18> > ...for the money you pay.

That's where I'll have to stop you, as its still a _very_ cheap service comparatively.

I worked at Blockbuster toward the end of their run, it was about $4-7 dollars for a single rental.

Current streaming rentals on Amazon range from $4-8 as well.

Netflix, streaming only, is currently $13 per month.

The only alternative I think is very good is HBO, which is $15 per month. They usually have before-cable-run-but-after-initial-rental-period movies. And they have a handful of stellar TV shows. We still struggle to find something to watch on that service.

<comment><USER6> > I worked at Blockbuster toward the end of their run, it was about $4-7 > dollars for a single rental. Current streaming rentals on Amazon range from > $4-8 as well.

Blockbuster at that price isn't a great example. Redbox Blu-rays are $2.12. I live in an area with a relatively low population density and there are three Redbox machines within short driving distance. Each with a solid selection of new releases (Aquaman, Glass, The Mule, Into the Spider-verse, Green Book et al.). Redbox has ~34,000 locations.

<comment><USER19> So assuming a movie or two a week you're paying maybe a few dollars less than Netflix? And you have to drive there? Netflix sounds way better than that.

</comment></comment></comment></comment><comment><USER20> It's pretty rare that I watch a movie on Netflix these days. I pay for the original content they produce and some of the documentaries that end up there. For my purposes, there is enough content along these lines to justify the expense. Once in a blue moon I see a movie there that I want to watch, but I consider that a bonus.

<comment><USER7> I watch _some_ movies on there, and it's mostly because I find that Netflix has the smoothest streaming even when my internet isn't great. But it's really about the shows, and even that is taking some serious hits.

I love that I have the Office on demand always, but that used to be true about It's Always Sunny, which is no longer there. So I can't even trust that the shows I keep Netflix around for will still be there. Including their original content like the Marvel stuff. Nothing is a safe bet to stay on Netflix.

</comment></comment><comment><USER21> Every time I find out about a movie outside of netflix, then go check to see if it is available to stream, it is not available. Seriously every single time. I look up movies as a joke at this point. Having said that, I still think its worth the $13/month for the TV shows and movies that actually are available.

</comment><comment><USER22> You don't license the good stuff with the rest of the slop, that you want to rent out a la carte.

It's also why you don't see certain prestige shows on streaming such as Fargo, Twin Peaks: The Return, Preacher, or Legion. They know that people will pay top dollar to rent/buy the really good stuff.

<comment><USER23> In Brazil I got Fargo, Twin Peaks, and Legion on Netflix and Preacher on Amazon Prime Video.

<comment><USER22> Lucky!

</comment></comment></comment><comment><USER24> Netflix the once great hope, the central video store, the one-stop-shop-for- movies is now just a channel.

prime, another channel.

disney's thing, another channel.

so, if this is now the norm, what is the next next thing that will "disrupt" these old guard?

<comment><USER25> it seems like a bad choice for a content producer to let netflix stream their material.

as a content provider, you have an edge in that your library is larger than theirs. by allowing them to stream your content, you make profit today, but subsidize a competitor building their library.

and in the transaction, you loose the most valuable component of the sale, the customer data. now your competitor has viewing habits of your customers, to which you are now blind.

10 years ago, it was really hard to stand up a streaming service for many companies, but that barrier is much lower now. 10 years ago, it was mostly tech companies that realized the value of data, now others are catching up.

what is the next thing to disrupt the old guard? probably something not movie/series related. all this stuff, listening to music, watching a show, posting on fb, reading on hn are all actually competing for our time. we are running into an era where our times are stretched thin and we finally see unrelated things compete. so the next disruption may be something completely new.

some said people posting content on youtube is that next thing. I am not so sure, I dont always want to watch someone rant about how bad the new star wars is.

</comment></comment><comment><USER26> The problem isn't the top, but the long tail: where can we legally find the greatest directors films from the world that aren't blockbusters.

<comment><USER15> The Netflix DVD catalog is still pretty good although less so than it used to be. Your local library is one option. A la carte from iTunes and Amazon is another. Or, as a last resort, buying off Amazon or a more specialist selling site. By and large, if something is available on DVD (or VHS), you can probably buy it for a semi-reasonable sum.

</comment></comment><comment><USER27> Someone else can find the source, but Netflix themselves have stated that the lions share of viewing on their platform is aimed at TV shows, so it doesn't surprise me that they haven't invested in quality (and expensive) movies. Why would they if no one is watching them?

<comment><USER28> TV is pretty much in the same state on Netflix (AU at least). Search for a show and chances are it isn't there, even if it has been in the DVD bargain bin for years. Other shows disappearing (say, Downton Abbey, which was taken off just as my mother in law got to season 5). Lots of new shows a season behind, lots of newish shows never arrive.

</comment></comment><comment><USER29> I have been waiting for them to update their Apple TV app to support their own original interactive show black mirror bandersnatch. How hard can it be to add a button? They are more focused on expanding to new markets than providing quality service to existing ones.

</comment><comment><USER30> The first sale doctrine didn't survive the transition to the Internet era. If "buying" one copy of a film still allowed one to resell or rent it to someone else, despite it not being a physical object, Netflix would have all 250 titles tomorrow.

</comment><comment><USER31> We would all be better off if there were a flat universal fee for feature films and tv episodes on streaming platforms.

</comment><comment><USER32> Seems like part of the plan really. Why pay license fees to other studios when they can make their own movies?

<comment><USER33> Their content is very hit or miss. A lot of copycat anime shows, low quality kids TV, middling sitcoms and drama series with only one season, and a very small pool of popular series.

Contrast with Amazon which has an incredibly deep library and is "free" to some extent with Prime.

Netflix is in trouble.

</comment></comment><comment><USER34> their catalog keeps shrinking... soon they will only host what they produce... but even if I pay for Netflix and something I want to watch is available on Netflix, I download it from some other sources, most of the time.

</comment><comment><USER35> From September 2018. Maybe someone can do an update?</comment>


Source Interlink Closure and Rebranding Puts 2600 in Limbo - <AUTHOR> http://www.2600.com/?q=content%2Fsource-interlink-closure-and-rebranding-puts-2600-limbo

<comment><USER2> Title is editorialized, it should be 'SOURCE INTERLINK CLOSURE AND REBRANDING PUTS 2600 IN LIMBO'.

The kneejerk reaction here is to hope that a bunch of hackers (read: script kiddies looking to impress) go after the 'new' company and cause havoc until they settle up. Credit to the crew at 2600 who as usual are advocating a calm, logical course of action and not looking for a personal army of hackers to carry out attacks.

I hope they are successful as I am a lifetime subscriber and I really like the print magazine. What happened is unfair and looks like a scam. If 2600 fight a clean battle and do not recover what they are owed, then I might not have a problem with some creative social engineering, etc. That's money I gave to 2600, and I'll have a real hard time feeling sorry for TEN if they have some technical difficulties in the future.

And 'Ten: The Enthusiast Network' should now be referred to as 'Ten: The Embezzlement Network' going forward. Call it what it is.

<comment><USER3> Thank you. We reverted the title.

<comment><AUTHOR> My apologies for editorializing the title.

</comment></comment></comment><comment><USER4> This is business as usual at Source Interlink (formerly Primedia). In 2009 Primedia delisted and filed bankruptcy to absolve themselves of >1billion in debt. "This restructuring will materially reduce our interest expense and debt levels," Source Interlink Chief Executive Officer Greg Mays, 2009

A colleague of mine was there first for their 2009 bankruptcy. Essentially, they delayed finalizing his commission structure and then simply stopped paying. When he left they owed him >50k. He, unfortunately, didn't bring the case in front of the labor board for fear of retribution.

<comment><USER5> "Source Home Entertainment LLC" was the parent company which filed for bankruptcy. Underneath that was Source Interlink International, Source Interlink Distribution. Not Source Interlink Media.

It is clear Source Interlink Media knew Source Home Entertainment would be filing for bankruptcy because they changed their name in May. Source Home Entertainment filed June 23rd. Legally these were separate businesses. As private companies it is difficult to tell much more.

</comment></comment><comment><USER5> Looking at Source Home Entertainment's bankruptcy filing [http://bankruptcy.morrisjames.com/files/2014/06/0001-Volunta...](http://bankruptcy.morrisjames.com/files/2014/06/0001-Voluntary- Petition4.pdf) (parent company of Source Interlink) here are their top 5 creditors,

Time Warner: $53 million Curtis Circulation: $49 million Comag Marketing Group: $32 million BGI Inc: $16.8 million Kable Distribution Services Inc: $11.7 million

2600 made out pretty good.

</comment><comment><USER6> On a more positive note, I just found out about 2600.

<comment><USER7> Awesome! I do the layout "design" of the magazine and have been for about seven years. Doing something such as that and being able to find it at a Barnes and Noble is very rewarding in a different but similar was as creating a website and seeing people use it...

<comment><USER8> I've been reading 2600 since I was in middle school. I always felt so subversive going to Barnes and Noble, finding it on the rack, and reading the mag cover to cover on the bench. Occasionally, I would ditch my mom and buy a copy without her seeing.

You guys are fighting the good fight. Keep it up. <3 forever.

<comment><USER7> Thanks Zach. Same thing here. If parents would stop and think about (at least my definition of) what a "hacker" is, a maker/creator/doer/free-thinker, I think they would in fact encourage reading the magazine.

PS - Be sure to try to make it out to HOPE (Hackers on Planet Earth): [http://hope.net/](http://hope.net/)

<comment><USER9> The only thing I don't like about HOPE is that the videos are so expensive to buy, but I understand HOPE is very expensive to run.

<comment><USER7> They often end up on torrent sites and the audio often uploaded for free. If you have any suggestions, we're always open to doing things in new and better ways.

@Skram

<comment><USER9> Sorry for the disjointed thoughts, it's late here.

My email is in my profile if you want to discuss this further.

1\. Subscriptions to past and future videos.

2\. Pay what you want packs of DRM free digital magazines and videos (see Humble Bundle, maybe you can do the HOPE Bundle?)

3\. Timed release of very old videos (done)

3\. Ways for non-live listeners to contribute, especially from overseas.

4\. Future: subscription to live streaming/delayed streaming for the conference itself + ability to participate virtually in the conference

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> It looks like they are deleting the comments of Facebook.

[https://www.facebook.com/TENenthusiast](https://www.facebook.com/TENenthusiast)

</comment><comment><USER11> I used to buy the paper copy of 2600 every quarter until Borders in the UK vanished and I couldn't find it anywhere. A Kindle version fixes all of my problems though.

Does anyone know if the publisher gets any money off me for buying previous editions of 2600 off the Kindle store? I've obviously subscribed now but I'd like to read some of the issues I missed.

</comment><comment><USER12> The irony of a hacker magazine relying on print distribution. Wouldn't a 1337 4axx0r figure out something with mobile apps, websites, ads, etc?

<comment><USER13> Nothing wrong with a little variety in your life, medium wise. Also, it's "h4xx0r", not "4axx0r"

<comment><USER12> I was waiting to see how long it would take one of you to get upset about that.</comment></comment></comment>