Tech billionaires convinced we live in the Matrix - <AUTHOR> http://www.independent.co.uk/life-style/gadgets-and-tech/news/computer-simulation-world-matrix-scientists-elon-musk-artificial-intelligence-ai-a7347526.html <comment><USER2> Some speculations on the distant future.

> If we aren't actually living through a simulation, Mr Musk said, then all > human life is probably about to come to an end and so we should hope that we > are living in one. "Otherwise, if civilisation stops advancing, then that > may be due to some calamitous event that stops civilisation," he said at the > Recode conference.

I don't know why we should hope for that because any civilization in a layer in the stack of sims could be destroyed, which would destroy all nested sims beneath.

In fact you should hope you're further up the stack as much as possible because then the probability of destruction is lower.

However since this is about simulations it is more than likely that the physical parameters are not identical to those of the higher level simulation. Time could be experienced differently in different sims just like how animals have different lifespan ranges.

> computing technology has advanced so quickly that at some point in the > future it will become indistinguishable from real life

That is probably the case but we still cannot say so definitively. Since a simulation is not identical to the one higher than it we should also make a line between distinguishablity to observers and actuality. This is probably where the look, don't look 'testing' comes into play.

> "The full-on-crazy version of the merge is we get our brains uploaded into > the cloud. I'd love that. We need to level up humans, because our > descendants will either conquer the galaxy or extinguish consciousness in > the universe forever. What a time to be alive!"

I must admit I don't believe it happens like that. I do believe 'leveling up' is real, since we've done it before several times in our evolutionary past.

I think we're missing a piece here and that piece is the past which is biology. We have not begun to explore the possibilities of genetic modification of humans. I don't see the point of being an immortal brain or a EM without the ability to manipulate, use actuators in the physical reality.

Very seriously what is a 'neo-sapiens'? I think we have a good idea of what it would be in terms of intellectual prowess, being able to coordinate and understand vast quantities of information basically. What is much less clear to me is A: what does such a creature look like?

Perhaps, borrowing from my favorite science fiction book, we stop consuming food completely and simply obtain nourishment via water absorption and photosynthesize like plants only on a different level. That would massively improve our ecology surrounding us to improve our odds of survival. We'd still have qualia, sensation, to help us learn, just mediated by our technologies instead of being prompted indirectly by physical processes like injections or bars of chocolate.

I suspect traits like socialization, conflict, emotion and instinct have every reason to continue to exist long into our evolutionary future. It is just that we shall develop new ones. Goodbye old problem, hello new problems.

I also predict the QWERTY keyboard continues to exist for many thousands of years, like some kind of vestigial limb from millions of years ago as we were flapping about in the ocean. If you can't use CTRL-ALT-DEL to reboot your latest simulation creation then you've got to wonder if you have the same values as future-you.</comment>


Don't be addicted to losers - <AUTHOR> http://blog.erikdev.com/post/166713860257/the-pain-of-being-addicted-to-losers <comment><USER3> This is extremely bad advice. Firing people because you think they are "losers" is a sure fire way to make your work place toxic. This is what lazy managers and companies do.

Someone who is underperforming should be informed specifically how they are underperforming and what they can do to become an excellent performer. They may not be aware they are underperforming or believe they are overperfomlng but they are doing the wrong thing. Having open and honest discussions with people, giving them chances, offering guidance/training, and treating people like adults is how you build a company that is not full of "losers".

It's not being lazy to work with an underperforming employee to turn that around it's lazy to just fire them because to you they appear to be a "loser".

Positivity is super important especially when you are a manager. This article has such a negative tone it's disappointing that it's author might actually be a manager some place.

Additionally comparing poorly performing employees with serious drug addiction is just not super cool.

<comment><USER4> Hopefully when I return from my dog walk, this will have displaced my comment as "top comment". Insightful, and says what I wanted to say but didn't have the words.

(EDIT: now I'm back with tired dogs, and I see that my wish came true, hurray.)

</comment></comment><comment><USER4> I really do wish sometimes that there were a downvote button for articles. This one is not so egregiously offensive that it deserves a "flag", but the quality is poor and brings nothing new to the table. And the metaphor sucks.

<comment><USER5> Yes. Another consideration is that sometimes a submission may be upvoted not so much for the quality of the article as that of the discussion.

</comment></comment><comment><USER6> TLDR: "A-players hire A-players; B-players hire C-players"

Beyond that, the article doesn't offer much and doesn't even explore the possibility to deal with the "lazy problem employee" in any other (humane) way than to get rid of them.

<comment><USER7> All this talk of A-players is somewhat sketchy too - I've seen A-players go to the wrong team and become C-players. I've also seen B-players become indispensable and stellar.

So sure, hire the best folks you can, but if you have a great team, you might find it easier to a) integration even not-so-great folks into that team and b) it's cheaper not to hire rockstar ninjas for all your hires.

</comment></comment><comment><USER8> A workplace that promotes characterizing people as losers sounds like an awful, awful place to work.

</comment><comment><USER9> This article was ridiculous. Comparing humans to heroin might be forgiven if the analogy provided any insight at all, but it didn't.

</comment><comment><USER10> uh, yet again one of those blog posts that offer simple solutions for simple problems. As if life was so simple.

In a workplace situation, you'll realize, that sometimes "looser" person is just a looser in the mind of that one manager, and the person that holds together the CI infrastructure of the team, putting in countless hours integrating changes from colleagues (because the rock stars cannot be bothered to do that). Or that grumpy looser is in fact the only one with the guts to speak up. Or, the tasks assigned to that person do not match their expertise.

I have often heard people recount stories about how a transfer from one manager to another manager in the company turned their situation upside down.

</comment><comment> rm_-rf_slash The "loser" in this post is somewhat of a straw man. How can one tell the difference between an incompetent/ineffective employee and one that might be undergoing home life stresses (my family had 2 deaths and another near-death this year, and it was not excellent for my productivity), or perhaps they are not completely motivated for their job. In the case of the latter, couldn't one argue that it's actually the _manager 's_ responsibility?

Real world examples with anecdotes or statistics - rather than a somewhat clumsy metaphor for heroin addiction- would have made the argument more convincing.

</comment><comment><USER11> This article and whoever wrote it just ... _sucks_

<comment><USER12> You could say he's a ... loser.

</comment></comment><comment><USER13> Any properly functioning bureaucracy institutes performance improvement plans so that there will be a paper trail for firings. Indeed any not-entirely- dysfunctional bureaucracy has this. Also, being on a performance improvement plan means they want to fire you. Sometimes this doesn't happen -- I know a guy who was subsequently elevated to middle management after having been on a PIP as a junior employee, but it delayed his advancement by at least 5 years.

Edit: typo

</comment><comment><USER14> TLDR: businesses depend on their employees, including their weak hires. Have enough weak hires (or a few key bad hires) and you can't function with or without them. The article misses the real exposure most businesses face in this regard... good employees who become weak over time. The dependency crisis this creates is very real, especially in small businesses without the resources to rehabilitate and retrain struggling employees.

</comment><comment><USER15> Archive.ORG link since the article seems to be gone:

[https://web.archive.org/web/20171023190221/http://blog.erikd...](https://web.archive.org/web/20171023190221/http://blog.erikdev.com/post/166713860257/the- pain-of-being-addicted-to-losers)

</comment><comment><USER16> Lol what a dork. Flippant comment aside, I can see this guy sitting in the shower trying to divine a relevant metaphor for such a dumb opinion - <USER2> coming up with the least relevant but most offensive option. That combined with the confidence to sit down and write that out takes talent.

</comment><comment><USER17> I get the point of not hanging on to mediocrity but I don't think the term "losers" is what's most appropriate here. It's too reductionist.

</comment><comment><USER18> I've seen losers in management too. Usually they're too wound up in spinning their own positives to upper management than actually managing people.

</comment><comment><USER19> Apart from the heroin comparison, is it only me who thinks that yes, people who are not good at their job should be fired?

</comment><comment><USER20> I would call this a poorly written article, but it's not an article. It's someone's half baked thought on a blog, but unfortunately, it reflects an attitude common enough at most tech firms to warrant a comment.

Employees don't "suck" in isolation. What do you think happens when you try to hire and coach a group of people together to solve a problem? You're building a team. No, you're not building a "band" of "rockstars", you're assembling a highly functional team of professionals. Someone who was hired who's not at the bar of seniority to be functional on the team? Hiring process and manager take responsibility. Someone was hired who wouldn't professionally gel and fit in with the team/organization? Same problem. Someone on the team has concerns and they're not going heard? Someone on the team is not finding the growth opportunities they need? Same problem.

As a middle manager, it is your job to find the right team members for your specific organization. If you're wasting time whining about how certain organizations are "addicted" to "losers", all you're doing is passing the buck, which by your own admission would make you...a "loser". See how stupid that is? You're not a loser, you're just incompetent.

Probably the only thing this half baked piece got right is that a dysfunctional organization of a certain size is going to have a much more difficult time ridding itself of that dysfunction than a smaller one -- you can't just fire your way to healthiness in such a situation. But, that's what real crisis leadership is about. It's not impossible, just very rare. You can see why, though -- it's so much easier to place the blame on others (especially your reports) by grading them into adder/subtractor buckets. And of course, when the team, division or organization folds, it's not your fault. Then, you take that toxic attitude with you to the next organization unlucky enough to get saddled with you.

Looking at the world through the lens of losers/rockstars reflects a childish, simplistic view of how humans work and are motivated. Those who subscribe to it are bound to live through a life full of unnecessary hardship and mediocrity. The competition for talent is fierce, and managers who can't effectively hire, retain and develop talent will stunt the growth of their organization. Obviously, this is not uncommon, and many organizations deteriorate to this level of dysfunction. But, there are plenty that don't. They'll poach your talent, as they should, and you'll be too oblivious to understand why.

Learn your lessons the easy way, or learn them the hard way.

PS: Don't even get me started with that egregiously inappropriate heroin analogy. The author should hope that their HR department never finds this blog post, because that would be a PR disaster.</comment>


The Wix Mobile App, a WordPress Joint - <AUTHOR> https://ma.tt/2016/10/wix-and-the-gpl/ <comment><USER2> "The app's editor is based on the WordPress mobile app's editor." If I were being honest, I'd say that Wix copied WordPress without attribution, credit, or following the license. The custom icons, the class names, even the bugs.

The part about the bugs is what gets me.

</comment><comment><USER3> I'm really curious to see what comes of this, and what pg thinks. My prediction is that Matt's post will pass without reply.

<comment><USER4> I think it's been a crazy day with everyone trying out eve today, but wix will get back to Matt. I'll write to them myself and get to the bottom of this if they don't respond

<comment><USER4> Ok I just saw that they responded</comment></comment></comment>


Handles Are the Better Pointers (2018) - <AUTHOR> https://floooh.github.com/2018/06/17/handles-vs-pointers.html <comment><USER2> There should be a minor law in the spirit of Greenspun's tenth rule: Every sufficiently performance-sensitive system eventually grows some version of a slab allocator[1].

There's really no substitute for packing fixed-sized objects together in N big array chunks. If you can operate in a particular context (or entirely) with N=1, you can substitute handles for pointers. For any reasonable # of objects, those handles can be smaller than a pointer and provide even better compaction and thus cache effectiveness.

[1] [https://people.eecs.berkeley.edu/~kubitron/courses/cs194-24-...](https://people.eecs.berkeley.edu/~kubitron/courses/cs194-24-S14/hand- outs/bonwick_slab.pdf)

<comment><USER3> Everything I read these days seems to trend towards columnar stores...

I write a mixture of R, Python, C and C++, in that order of prevalence, and mostly for data intensive tasks. After nearly two decades of unlearning loops and implementing instead with FP idioms, vectorization, and matrix multiplies to take advantage of R's strengths, I often have trouble recreating R's performance when I first reimplement in C or C++.

I think it would be beneficial to start with functional programming in more CS programs, they are a much better fit for modern CPU architectures in many ways.

<comment><USER4> In my Perfect Programming Language That Doesn't Have To Deal With The Problems Of Actually Existing, serialization of data structures into memory is explicitly defined in the language, just as one would define a JSON or Protobuf serialization. One could define a "Point3{x,y,z}", and hypothetically define one array of them in the conventional manner, define another array as a columnar serialization, and potentially even define a compressed data structure right there in memory if that was advantageous.

It opens a wide array of exciting problems and possibilities, if you start thinking of that as something a language should let you twiddle with rather than hard coding it. It seems like a lot of high performance stuff is moving in a direction where this would be advantageous.

(For example, if you compress an array, you lose random access. The language would have to carefully build up capabilities from scratch so it can have a concept of "arrays" that can't be randomly accessed, can only be written in some very particular manner that may even require a "flush" concept, etc. My gut says it ought to be possible, since, after all, we can do it manually, but it would be a very careful operation to disentangle casual assumptions about what data structures can do based on the definition of what data they contain vs. how they are represented in memory, and what capabilities you get from that.)

<comment><USER5> Jonathan Blow's new language, Jai, has some control over layout allowing easy switching between array of structs and struct of arrays without having to change the accessing code.

<comment><USER6> Here is the demo video of the stuff zero_iq is talking about: [https://www.youtube.com/watch?v=ZHqFrNyLlpA](https://www.youtube.com/watch?v=ZHqFrNyLlpA)

Basically right on point with what the GP is saying.

<comment><USER3> That video briefly mentions the CppCon 2014 talk by Mike Afton, "Data-oriented Design and C++". The talk was great, pretty much lined up with how I think of modern systems (treat RAM like disk: seeks take a long time, but streams will likely be able to maximize CPU usage)

But the questions at the end, and the resistance to these basic ideas, roughly "what about platform portability, programmer productivity, etc."; these questions were a bit shocking to me. Is this not a C++ conference? This was six years ago, so perhaps the machine constraints were not as well known back then, but it really shows how strongly the community culture will influence a language and its capabilities.

</comment></comment></comment></comment></comment></comment><comment><USER7> I am surprised that not every large project uses this technique. If you are running on a 64bit system, the use of 32bit handles instead of pointer results in huge memory savings. You can also put the start addressed of the arrays (the handles are indexing into) anywhere in virtual memory and grow them as needed. Finally you can stripe the data for one object into multiple arrays and use the same handle to index each of them which can improve locality.

<comment><USER8> > you can stripe the data for one object into multiple arrays and use the same > handle to index each of them which can improve locality.

I wish programming languages made it easy to structure arrays of objects like this. I think Johnathan Blows's JAI has some kind of transparent support for SoA.

<comment><USER9> It's trivial to do this in C++ and often the caller doesn't even realize.

<comment><USER10> do you have any pointers of such implementation ?

<comment><USER9> We have a mixin class that will allocate a subclass with its own array of handles (the handles overload * and -> so they act like pointers). If you have an instance variable you can choose to give it a different allocator, where that instance variable of object with handle `n` is the nth object in the new area. Then your instance method `barf& foo();`, instead of getting the instance variable `barf m_foo` Instead does some inlined arithmetic and gives the caller a reference to the object.

</comment></comment></comment></comment></comment><comment><USER11> Moving away from pointers and using a shared pool of handles with integer indexes will introduce a whole new array of issues. A plain int carries no information about the validity of the object behind that handle because they are carried around as copies, not references.

I remember debugging a regression with UNIX network sockets where valid connections were being killed, and the bug was only triggered under heavy load. Deadlines were approaching and as a desperate measure I did the exact opposite the article suggests: I wrapped all the socket calls to only accept pointers to an opaque struct with a single integer and made sure the int was set to a guardian value to indicate invalidation after an error. The culprit was a double-close that normal debugging tools such as Valgrind could not find but my unorthodox refactoring did.

Later I've learnt to love UUID's whenever performance allows. They're not pointers so they don't introduce memory handling issues and they can be easily tracked in e.g. distributed data pipelines and logging systems.

<comment><USER12> > A plain int carries no information about the validity of the object behind > that handle because they are carried around as copies, not references.

A pointer is just an integer index to a byte in memory in most computing architectures.

<comment><USER13> Ah, but that pointer doesn't get re-used on you until you free it, and for that there are strategies like refcounting and GC.

Integers in a small array will get re-used; they have to.

<comment><USER14> You should probably read the whole article, because it describes strategies for dealing with exactly this problem in the section under _Memory safety considerations_ and then again in the update at the end. The short form is: if you have a bounded size on your array, then you will often have unused bits in your index pointer; you can use these to store a "generation counter", which needs to match the slot. You can now re-use indices, because you can compare the generation of the index (stored in the extra bits) with the generation count in the slot, and if they match, it means that the item has been 'freed' and a new thing is in the slot.

</comment></comment></comment></comment><comment><USER15> Thinking out loud:

Since handles refer to offer rather than absolute addresses, this sort of scheme should allow for "serializing" data by memmapping chunks of memory to disk.

Obviously, this scheme wouldn't be useful for cross-platform save files, and might not even translate across builds.

Still, as long as you have a robust scheme for invalidating data when a new version is deployed, I could see this being useful for caching, and for saving state for short periods of time on mobile platforms that like to restart processes with little warning. (Rather than potentially losing your place within the game level any time you switch between apps, you only lose your place within the game level when an app update gets installed.)

<comment><USER16> Handles are essentially integer indexes, relative to a base pointer, also implying a certain object size (needed for index multiplication). A nice property therefore is that the base pointer can be different each time the program is started, but the handle stays constant.

So in case that module-private array is mmapped to disk, handles themselves can be serialised, unlike pointers. This can enable quick and easy storage of most of the program state, allowing for a fast recovery afterwards.

</comment></comment><comment><USER17> MacOS 1.0 in 1984 used handles in order to allow the heap to be coalesced more easily (although locked handles and regular pointers often created islands). Given the first Mac had 128K RAM and no MMU, it was highly necessary at the time.

<comment><USER18> Of course you mean System 1, not MacOS 1.0. Handles were used all the way through System 7, last released in 1997. Perhaps by then it was more about the legacy than the need. Don't know the physical limits, but a Quadra 950 could support 256MB RAM and more through VM (ramdisk), and of course these later gen machines did have MMUs.

In ye olden days, addressing was probably physical, so being non-multi-tasking ensured the safety of using handles, ie if used properly. IOW the system process was free to clean up the heap and manipulate your pointers b/c your app would only yield at specific points where you aren't holding onto a dereferenced handle.

<comment><USER19> > Handles were used all the way through System 7

Handles continued to be used all the way through Mac OS 9, as they were used by a ton of critical Toolbox APIs like the Resource Manager. A vestigal version even existed in Mac OS X -- handles still existed in Carbon, but I'm not sure they would ever be relocated by the system like they were previously.

> of course these later gen machines did have MMUs.

They did, but it was only used to simulate a system with more physical memory. Every process still saw the same view of a single "flat" memory space.

</comment></comment></comment><comment><USER20> In many ways a pointer on a modern OS with a virtual memory subsystem really is a handle already. It's not like it points to a single given exact location in physical memory. The OS and CPU are already presenting a bit of a facade.

</comment><comment><USER21> Yes! For example, in the GSS-API the various complex, opaque objects in the C bindings are specified in the RFC (2744) as:

       typedef <platform-specific> gss_ctx_id_t;
       typedef <platform-specific> gss_cred_id_t;
       typedef <platform-specific> gss_name_t;

Sadly this is always a pointer in actual implementations, but should have been a handle, where a handle is a structure containing two fields: an index or pointer-like value, and a _verifier_ that can be used to check that the handle is [still] valid. Using a handle would have made it possible to get much better memory safety.

</comment><comment><USER22> Perhaps they should ask the old MacOS toolbox Handle users what they think.

(Pretty painful trade-off in the long run, is what I think, having lived through that.)

<comment><USER23> Visions of the "moves memory" icon in THINK Reference came to mind as soon as I saw the headline.

</comment></comment><comment><USER24> Discussed at the time: [https://news.ycombinator.com/item?id=17332638](https://news.ycombinator.com/item?id=17332638)

</comment><comment><USER25> (2018)

This is often a really useful strategy to use in Rust code as well.

<comment><USER26> You can also use it in GCed languages if you want to avoid creating cycles in the object graph.

<comment><USER27> Yes, Go supports this idiom very well.

</comment></comment></comment><comment><USER28> Also helps with arrays that you might wish to realloc. I've sometimes hit the (obvious, in hindsight) bug that you realloc an array and all pointers to members that are held elsewhere suddenly become invalid.

</comment><comment><USER29> Somehow, my first specialty as a developer was perf analysis, and so all through the Java Golden Era I read every press release about the JVM and subscribed to the ACM SIGPLAN, which had at least one paper on GC in virtually every proceeding that was published, and some occasional cool stuff on interpreter construction. I believe the 4rd technical book I read was The Java Virtual Machine. After Stevens, Comer (3 volumes), and the Java Programming Language.

The original GC had handles. With Hotspot (JDK 1.2, IIRC?) those were gone, and by Java ~8 they were back again, but embedded in the object header, where the pointer indirection presumably hurts less.

In an alternate universe, Sun would have shrunk the memory size for Strings earlier and kept the overhead per object, in which case I suspect the GC stall around 1-2GB would never have happened. But I don't think they had admitted to themselves how Stringly Typed production Java code was, and how UTF-16 wasn't going to last forever.

</comment><comment><USER30> " _We can solve any problem by introducing an extra level of indirection._ "

— "Fundamental theorem of software engineering"

[https://en.wikipedia.org/wiki/Fundamental_theorem_of_softwar...](https://en.wikipedia.org/wiki/Fundamental_theorem_of_software_engineering)

</comment><comment><USER31> shared_ptrs, if misused, can cause a lot of memory management issues, because you end up with a web of object lifetime dependencies that is hard to reason about. I think this is a severely underrated problem in C++, particularly for newer developers. shared_ptr is extremely powerful, but it it makes it easy to gloss over issues of object lifetimes and ownership, when in fact those issues are still very important for building robust systems.

In the code bases I've worked on, we have pushed hard to have unique ownership wherever possible and only use shared_ptr where there was a clear need. You can still have a huge object graph kept alive by a single unique_ptr, but it happens less often and it's easier to trace back and fix.

A nice thing about the handle approach is that it makes it a lot harder to build up these object graphs or in general to implement anything without being explicit about object lifetime.

I've seen parts of the handle/object pool approach misapplied and cause more trouble than it's worth, though. It's a good idea for self-contained subsystems where there are a limited number of object types that you would apply this to. I don't think it scales to 100s or 1000s of distinct types of objects because then you're going to have headaches dealing with the sheer number the object pools.

I've also seen object pooling be implemented proactively as an "optimisation" to avoid calling malloc() but then become a bottleneck because of lock contention in the object pool.

</comment><comment><USER32> Does this assume that the handle consumers have to somehow 'release' the handle in addition to 'deleting' it? As was explained with an example of delayed release of some deleted but still GPU queued element.

I'm not sure if the suggested generation counter approach is the optimal way to deal with the delayed release. Also, when it comes down to own memory managers, benchmarking is a must. Added complexities may eventually eat up the initial savings.

<comment><USER16> The "generation counter" suggested in the article has nothing to do with delayed release, as far as I understand. It is used as a strategy to avoid returning colliding handles close in the time domain, reducing the chances for a collision of the "unique bit pattern", which would allow non-detectable dangling access conditions.

<comment><USER32> > ... non-detectable dangling access conditions.

My understanding is that the dangling access conditions potentially arise due to the delayed release of deleted handles.

["... Instead the rendering system would only mark the resource object for destruction when the user code requests its destruction, but the actual destruction happens at a later time when the GPU no longer uses the resource."]

<comment><USER33> Not necessarily, there's also the "use after free" error, which can happen everywhere..

</comment></comment></comment></comment><comment><USER9> I have a standard mixin class that does this, overloading * and -> so users often don't even notice.

</comment><comment><USER34> Curious how Rust's ownership interplays with this memory management approach. Does it actually get in the way of implementing this?

<comment><USER25> On the contrary, it kind of encourages it [https://kyren.github.io/2018/09/14/rustconf- talk.html](https://kyren.github.io/2018/09/14/rustconf-talk.html)</comment></comment>


Think big with a gig: Our experimental fiber network - <AUTHOR> http://googleblog.blogspot.com/2010/02/think-big-with-gig-our-experimental.html

<comment><USER3> Time for the other so-called broadband providers to shake in their boots.

I like companies that have no respect for established business models. In this perspective, despite its size, I think it's fair to call Google a start-up.

<comment><USER4> I forget where the link was (I think somewhere on yc), but it showed a chart of internet access speed through a few years, rated by countries. Most of the large-nation world had grown by 10%+, many over 50%, in a few years, while the US had _dropped_ by a couple percent. This is in addition to most of those countries being higher already, so it's not merely a 5kbps -> 8kbps jump. My price for internet access not going down, and speed not going up (personal experience) in several years implies the ISPs are gouging because they can.

Proper competition is essential in every industry. If Google can provide it, good for them. This is an area where _only_ the big players can compete, but nobody's stepped forward to fix things. Maybe this will be it.

<comment><USER5> There is the possibility that the providers aren't intentionally gouging their customers. Even though the market is small, there is enough of a market to drive prices down. I think it's much more likely that those companies are just so horribly inefficient that it really does cost them a lot to provide you with high-speed access.

<comment><USER6> Several years ago my family got cable internet from Time Warner. The modem/router they provided was one of the first models to support DOCSIS 3.0. We stayed with Time Warner for at least 2 years, and they never rolled out DOCSIS 3 support at their end. The maximum speed we could get from them was 6Mbps. We're now using DSL, and the maximum we can get is 6Mbps, though with more reliability than from cable.

The nearest cable box is next to our neighbor's driveway. The phone company has fiber to their box in our other neighbor's yard.

There's enough competition to keep price inflation mostly at bay, but there clearly isn't enough to convince the ISPs to invest in the equipment that would be able to give us connections that are four times faster. Efficiency doesn't have a lot to do with it. For all practical purposes, our local ISPs aren't spending _any_ money to improve service in areas that already have some service.

</comment></comment></comment></comment><comment><USER7> Worth noting: We had something quite inspirational up in the Lakeland fells recently. One villiage (Alston Moor[1]) was so sick of constantly being set back by ISPs, that they organised a community action group to lay their own fibre optic cable during some planned roadworks. Everyone pitched in, cloudsourced infrastructure if you will, and with just enough people they look set to have 100Mb broadband before a lot of places.

The guys who got it off the ground set up www.cybermoor.org and are encouraging similar grass roots development for other remote areas. I like that.

[1:[http://www.cybermoor.org/index.php?option=com_mtree&task...](http://www.cybermoor.org/index.php?option=com_mtree&task=viewlink&link_id=874&Itemid=10)]

<comment><USER8> We need more of this sort of thing.

It's arguably far more important to get good internet access to rural areas than to inner cities. If you're in Central London or Manchester, you can quite easily shop, meet others in your field of work, network, be entertained without touching a computer if you don't want to.

Meanwhile in remote areas, it's not so easy to pop out and do these things and the internet has been a huge leap forward - but we're being held-back by spotty, slow, distinctly iffy internet connections that just aren't capable of sustaining meaningful economic activity. The advent of the internet is a huge chance to revive rural communities which have been in decline for years now.

But while BT, Google and other companies concentrate their high-speed efforts exclusively on profitable inner-city areas which already have a plethora of other options, we're in serious danger of leaving "forgotten" rural areas behind. I have friends on a Scottish island which currently only has 512kbps on its exchange...

</comment></comment><comment><USER9> _Or downloading a high-definition, full-length feature film in less than five minutes._

Did you hear that? It sounded as if millions of hollywood executives suddenly cried out in terror and were suddenly silenced...

<comment><USER10> The sad thing is that hollywood execs are scared by news like this when they should be looking at it as an opportunity.

The ability to download a full HD movie in <5 minutes opens up a treasure trove of revenue possibilities. It makes content delivery much more convenient and thus much more compelling for customers.

<comment><USER11> I think purchasing will become much more of an impulse decision— much like what the App Store has done with software.

</comment></comment></comment><comment><USER12> This will shake up the broadband industry the same way ebook readers are transforming the publishing industry. This is HUGE.

I am in NY and I am waiting for years for fios in my area. Hopefully this adoption will move faster than FIOS.

<comment><USER13> You may have a problem in NY.

In general, the more built up a place is, the more vested interests there are, and the more they are able to manipulate the legislative process.

Google moves at Internet speed.

Out in the "real world", it's still illegal to sell cars and wine over the Internet, because the local car and liquor distributors have gotten their preferences written into the law.

You may find that Google can't go the last 20 feet to your house without buying off a few hundred interest groups, politicians, and unions.

<comment><USER14> Not to mention it's harder to build a network where everything is paved over and digging requires navigating through a couple hundred years of previous projects (and having to use union labor for it). I don't envy anyone having to plan a network buildout in NYC.

In many other parts of the country it's mostly digging through dirt and in when you're in a neighborhood using a water jet to tunnel under driveways. Piece of cake.

<comment><USER15> Rolling out fiber in NYC takes less digging than you might think, there is a lot of open space where huge bundles of copper wire where used by the telcos. It can become expensive to rewire a building, but cable companies did this not so long ago.

</comment></comment></comment></comment><comment><USER16> This may be paranoia, but I'm actually worried about this much bandwidth being the hands of ordinary people. My reasoning: super-botnets. This has the potential to very easily create a several 100Gbit DDOS network, which is essentially unstoppable. I understand the need and potential for high speed networks, but I think gigabit might be taking it a bit too far. It's a "with great power comes great responsibility" sort of thing. But perhaps I'm just being overly paranoid.

<comment><USER12> If I am not wrong, this kind of speed already exists for few years in some parts of the world. S.Korea, Japan and England comes to my mind.

<comment><USER17> The maximum you can get at a reasonable price in England is 50mb download at around $80 / month. It's also worth bearing in mind that upload is the critical speed for DDOS and that is _severely_ limited on most connections.

The maximum you can get on a residental connection in the UK is around 2mb.

<comment><USER18> I live in Sweden. I had _10/10 mbit fibre_ in my (regular non-campus) apartment back in _2001_ , for peanuts, maybe $20 a month. In 2005 I briefly upgraded to 100/100 mbit (very common today), but found that it wasn't worth it (about $55) because what good will that do me when most of the internet can't keep up with it? I think it about doubled my speed from my previous connection, but that's it.

Today I have 12/4 mbit DSL, and I pay less than $20. I don't need more bandwidth, but if I did I could get a lot more than I could use for less than $50 a month.

</comment></comment></comment></comment><comment><USER19> Owning your net access, owning the DNS, routing through their backbone. These guys have all your bases covered.

How do you form an underground internet that bypasses the big players?

<comment><USER12> While I understand some of the concerns about privacy with Google, one thing I like about Google is that instead of shouldering competition through backdoor deals (like MS did with OLPC), they go out of their way with superior products and services.

They are late comers in search, gmail and Browser, but their success has been smashing thanks to superior products. You have to give them that.

</comment></comment><comment><USER20> This is more than just kinda great, this is definitively awesomely great. Words can not describe how crappy Time Warner is in NYC.

Bonus points for doing this in a recession when traditional companies are running for the hills and laying off people left and right. Google continues to innovate and crush competition in multiple industries. I have no doubt that if they want to become an ISP or even pretend to become one to force traditional ISP's to innovate then good for them and better for us.

</comment><comment><USER21> I think Google would be better off partnering with existing service providers for this project. It's a hugely complex process to start from scratch. Getting the pole rights alone to build infrastructure is going to take them years. In some area's within the span of a mile you might pass poles owned by half a dozen different entities. Most of them owned by incumbent Internet service providers who will tell you the pole is already at capacity and if you want to put up your fiber they need to replace 50 poles to cover one new street of infrastructure build out. In many places they'll have to dig trenches for new construction. In cold areas that means you lose at least 5 months a year of actual work time or you spend a fortune digging into the frozen ground. They're going to need to hire a small army of contractors to build plant and splice fiber or make the investment in man power, bucket trucks, gear, etc to do it in house. They're going to need warehouses and office space all over the country. And of course they'll need customer & technical support staff. I'd be shocked if Google makes any real progress on this outside of extremely limited deployments. The whole system is setup to make it _very_ hard for any outside force to compete with incumbents.

<comment><USER22> I would think it would be good for Google to partner with the local non-telco / non-cable provider of utilities. The local electric or gas company (who is used to commodity business models) would be a ideal. They already have access to the houses and would make a good "franchise" partner. They probably wouldn't mind another "dumb pipe".

<comment><USER23> In israel the electric company is working on being an ISP. they use some kind of robot that lays fiber on top of electric cables.

</comment></comment></comment><comment><USER24> I'm not sure this will have the effect on competition some around here think it will. The only way this will cause traditional providers to lower their rates and increase their capacity is if they actually feel threatened by Google's offering. 50,000 - 500,000 people is just not going to be enough to impact any of the big player's bottom lines. Comcast has 15 million Internet customers. Are they really going to mis 50,000 of them?

<comment><USER25> That's a good point. When I left they didn't even ask why.

</comment></comment><comment><USER26> Cool idea, but was anyone else reminded of the Internet2 hype when they read this?

</comment><comment><USER27> Interesting 2007 Cringley article predicting something like this, except more focused on providing the backbone. [http://www.pbs.org/cringely/pulpit/2007/pulpit_20070119_0015...](http://www.pbs.org/cringely/pulpit/2007/pulpit_20070119_001510.html) He also claims Google "controls more network fiber than any other organization."

</comment><comment><USER28> Linking this news to what i read an year ago about google criticizing the router manufacturer for their lousy equipments(performance and both hw/sw quality) i just wonder from who they will buy their optical equipments... Sadly they are not an hw company, so no google router anytime soon.

<comment><USER29> Supposedly Google designs their own servers and switches already; routers wouldn't be much of a stretch. Or they could call an existing vendor and get customized equipment. At the 50,000-customer level the economy of scale might work.

</comment></comment><comment><USER30> There seem to be a large number of comments on the possible effects, motives, and general thoughts about Google's effort, but I'm intrigued with what it's going to take to get them to consider a particular community or city. Will they be partial to urban or rural neighborhoods? Densely- or openly-developed communities? Newer or older cities? Will demographics play a role?

I'm sure they're going to be considering all of these, but short of keeping my fingers crossed and filling out an application I hope some part of Austin, TX gets on the map.

</comment><comment><USER31> Google needs to sell access to entrepreneurs/large entities who want to get into the ISP business. Doing this will create a market over the monopoly/oligopoly we have here in the US.

</comment><comment><USER23> I don't understand why the go for the 1gbit fiber to the home. it would be more helpfull to their business if everybody in the u.s would have 2 or 5 or 10mbit/sec in a short time , then if everybody has 1gbit/sec in a much longer time.

Also , does anybody know mass market applications that require more then 10mbit up/10mbit down?

<comment><USER32> Mass market applications that utilise 1gbit connections do not exist because the mass market does not have 1gbit connections.

<comment><USER23> But connections above 10 mbit/sec exist in many places outside and inside the u.s.

<comment><USER33> Sure, my connection is advertised as 10 mbit/s.

At 7PM, I'm lucky to get 512kbps.

</comment></comment></comment></comment><comment><USER34> Reminds me of the Google toilet ISP (<http://www.google.com/tisp/>).

</comment><comment><USER35> Comcast is slowly getting into enterprise fiber-based bandwidth for business; my guess is that they will use the enterprise to grow their installed base, then eventually go wholly into fiber based delivery. Of course, at a price... whether this will spur Comcast into a faster rollout is the question.

</comment><comment><USER36> _We'll operate an "open access" network, giving users the choice of multiple service providers._

I'm confused. Won't Google be the sole service provider of its own network?

<comment><USER29> It sounds like Google will be the "fiber service provider" and you'll have a choice of ISPs.

</comment></comment><comment><USER37> Forget 5 minutes for a full feature film. If you are getting 1gb/sec., you will be able to download a BlueRay movie in 30-60 sec.

<comment><USER38> The speeds are 1 gigabit connections. The Dark Knight Blu Ray was approx. 35GiB. At 1 gigabit connections speed it would take 280 seconds in a best case scenario.

That doesn't account for any network overhead and assumes the storage medium can write > 125MiB/s (Pretty much discounting all standard platter drives)

The 5-10 minute figure is reasonable.

<comment><USER39> Jeez. Back in my day, movies were ~700MB. That way we could put them on these things called CDs. Ever hear of CDs? Damn kids.

</comment></comment></comment><comment><USER40> Google makes me laugh. They want the world, they want it now, and nobody is going to get in their way. It's great!

</comment><comment><USER41> Really excited about this. Blazing speed!

</comment><comment><USER42> interesing, if only google wouldn't bring the cpu speed down to zero by some of its bad javascript code.

</comment><comment><USER43> Aquinas Router, anyone?...

</comment><comment><USER44> Yay!!.....hmm..wait a second..

(addendum: whoa, my tail's on fire!!)

<comment><USER45> I don't understand the down-votes here. This is exactly what I was thinking.

Google Phone, Email, ISP, Website, Checkout, Calendar, Docs, Search, Stats, your DNA .....

People are making a stink about Comcast buying NBC, but Google seems to get away with much more and people cheer. If the argument is "sure, but they make great products", that doesn't cut it for me.

<comment><USER4> Probably because there's no content to the comment? It doesn't even explain which "hmm" is being hmm'd.

<comment><USER46> No offense, but there are some comments posted here that may take a second or two of interpretation to understand, perhaps making them that much more witty?

<comment><USER4> Certainly, but few of them are _that_ vague. Something being witty implies hidden content that further thought will reveal. That one, while perhaps _inspiring_ thought along those lines, contains nothing in and of itself.

Besides. Given the yc crowd and their response to monopolistic habits, I'd be willing to bet that something like 90% or more had the same thought. So you can argue that it's not even inspiring.

"It's a trap!" ~Admiral Ackbar

</comment></comment></comment></comment></comment><comment><USER47> I for one welcome google as an fiber based internet service provider. Especially if its better than the competitors

</comment><comment><USER47> I for one welcome google as an fiber based internet service provider. Especially if its better than the competitors I wonder if they will do analytics on the packets or information

</comment><comment><USER48> This is a very - 1 GIGABIT/SEC - interesting development on part of Google. They've successfully - 1 GIGABIT/SEC - established unified control of - <USER2> GIGABIT/SEC - their entire chain of service without strangling competition. Where Google goes - 1 GIGABIT/SEC - so does everybody else, it seems - and I, for one, fully welcome our thoroughly broadbanded - 1 GIGABIT/SEC - future.

There seems to be a lot to look forward to. Say, the INCREDIBLE 1 GIGABIT/SEC SPEED AHAHAHAHAAYES</comment>


About.me For Songs - 1 Song. 1 Site. 1 URL. - <AUTHOR> http://viinyl.com/

<comment><AUTHOR> What about.me did for profiles (facebook), it seems this is a similar take on songs (myspace). It is interesting really ... I had musician friends share their songs by sending a public box.net URL. This would have worked so much better for them.</comment>


Schneier reviews: Here Comes Everybody - <AUTHOR> http://www.schneier.com/blog/archives/2008/11/here_comes_ever.html

<comment><USER2> You'd take him a little more seriously if he reviewed serious books, instead of having his first widely-acknowledged book review be for fellow gadfly and net-personality Clay Shirkey.

When Michael Lewis, author of Liar's Poker and Moneyball and increasingly famous narrative journalist, reviews the literature on the economic crisis, he digs up, reproduces, and editorializes curated news articles from the 1989 crash; prior to that, he published a 9,382,382,293 page compendium of the fundamental work in economics.

But we pay attention to blog post reviews of blog post books, because... we're fans, I guess? Sorry. I feel compelled to keep questioning why we take this guy so seriously.

<comment><USER3> Yes. Schneier is the Seth Godin of IT security, it's self-marketroid personality cult. I have to admit I usually agree with his positions but more often than not I don't like his reasoning. Also he tends to talk about things out of his sphere of knowledge.

<comment><USER4> That's not entirely fair; he got famous by writing a big crypto book that everyone read (and I think still reads, though it's kinda dated now) and the blog-based personality cult came later.

Of course, having a broad understanding of cryptographic algorithms doesn't guarantee being a good pundit on security issues.

(Schneier has written some perfectly decent books in his security-pundit role, too, but they aren't definitive in the way that "Practical Cryptography" arguably was.)

<comment><USER2> He got famous by writing "Applied Cryptography", a technical book about cryptography that is well regarded among laypeople and poorly regarded among practitioners. "Practical Cryptography", the book you cited (which he co- authored with Niel Ferguson, a well-regarded cryptographer), contains Schneier's own disavowal of "Applied".

"Applied" is "definitive" among laypeople and generalist programmers. "Practical" is an excellent book, but I dispute that it is in any way "definitive". More people have the evil red book on their desk than the good black book.

<comment><USER4> Oops, sorry, mixed up the titles. I meant to write PC where I wrote AC. If PC disavows AC, then I've failed to find the disavowal by looking up the pointers to AC in the index of PC. There's something nearer to a disavowal in "Secrets and Lies", but it still doesn't go further than (I paraphrase) "I focused on the algorithms, but actually other stuff matters more". (Both books mention that plenty of very bad systems have been built by people who read AC and thought they were therefore experts, but I don't think it's fair to blame that on AC.)

There's a reason why I put "arguably" in front of "definitive" :-). But the point is that what got Schneier famous was writing a big fat book, with lots of technical content, that a lot of people read and were impressed by. That may be less solid than writing a big book that _deserves_ to impress everyone, but it's not at all the same thing as pure blogging bloviation.

(AC doesn't seem so very bad to me, aside from being out of date and being too much of an unassimilated algorithm-dump, but then I'm a generalist rather than a security professional.)

<comment><USER2> You're right; I've overstated (I'm not making up that he's essentially disavowed it, but I can't find the cite I'm looking for, so assume it's just hyperbole).

Here's the passage I was thinking of in "Practical":

 _Among cryptographers, Bruce's first book, Applied Cryptigraphy, is both famous and notorious. It is famous for bringing cryptography to the attention of thousands of people. It is infamous for the systems that these people then designed and implemented on their own._

The problems with AC include:

* No attention given to any of the practical vulnerabilities in cryptosystems, so that you could deploy code directly from the book and still have it be vulnerable to ECB cut-and-paste or parameter tampering.

* A candy shop of random ciphers without any context as to why one would be chosen over the other, with varying degrees of detail provided for each.

* Descriptions of protocols that are largely obsolete or discredited, without warnings or disclaimers or, really, any actual didactic purpose.

"Applied" seemed great to me too, but then I became a practioner (though by no means an expert). Even "Practical" lacks detail on a lot of major crypto issues --- side-channel attacks, parameter tampering, the safe use of public key primitives and signature validation --- that actually occur in real systems.

<comment><USER5> I've read AC, and found it good for getting a handle on what's going on in cryptosystems. It _definitely_ didn't leave me feeling like I was anywhere near prepared to implement one. (And the book's a bit dated).

Since you seem to have a lot of experience in this area, what would you recommend as really good reading?

<comment><USER2> You want to ask Colin Percival (hn://cperciva) this question, since Colin's a professional cryptographer and I'm a software security person. That said, I like "Practical Cryptography" ( _not_ Applied Cryptography) and I don't know of a good book that covers side channel attacks or parameter tampering; you just have to be very interested in the topic, follow the news, and start attacking systems.

I would say one of the best things about "Practical" is that it will leave you feeling _even less_ prepared to implement a cryptosystem on your own, even though you'll know much more about how to do it.

<comment><USER5> Thanks. I'll give PC a read, and perhaps drop cperciva a line. I'm pretty fascinated by cryptography, and I like to be decently well-informed, but I don't see myself focusing on it anytime soon.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> When I was reading this I was thinking, wow, this is a really good book review. Which, if you think about it, is kind of sad-- the fact that reviewers who are able to pick out the thesis of the book and its main arguments are the exception, rather than the rule.

<comment><USER7> This speaks more to the quality of the author than the reviewers. If the author can't effectively communicate his point to people not steeped in the culture and conventions being examined then this book is not as good as you think it is.</comment></comment>


Show HN: Easy to use Task Manager - assign tasks via Email/Slack - <AUTHOR> http://sendtask.io/ <comment><AUTHOR> Sendtask lets you assign tasks to anyone using email - then automatically builds a shared workspace with all the tools you need for an efficient workflow.

It's free to use - unlimited users and unlimited tasks! No account required - assign tasks to anyone using their email. You can work directly from Email and Slack

We're using it internally for a few months and would love to get feedback from a broader audience.</comment>


Eliud Kipchoge Smashes World Marathon Record by 78 Seconds - <AUTHOR> https://www.theguardian.com/sport/2018/sep/16/eliud-kipchoge-smashes-world-marathon-record-berlin <comment><USER2> He improved the record by 1.08 percent.</comment>


A PR Launch Checklist for Early-Stage Startup Founders  - <AUTHOR> http://founderdating.com/pitching-practice-a-public-relations-launch-checklist-for-early-stage-startup-founders

<comment><USER2> This is pretty good, too. I wrote it. [https://www.trycelery.com/pr-guide- ebook](https://www.trycelery.com/pr-guide-ebook)</comment>


Cotton tote is pretty much the worst replacement for a plastic bag - <AUTHOR> https://qz.com/1585027/when-it-comes-to-climate-change-cotton-totes-might-be-worse-than-plastic/ <comment><USER2> I always buy the plastic bag and use it for weeks or months. Plastic bag folds into smaller space than bags meant to be reused and fit easily into a pocket.

When it eventually breaks, I put it in energy waste where it is burned into energy.

</comment><comment><USER3> I agree about the advice to reuse the stuff you have; that is what I do. Reuse is better than recycle. You can also give to someone else who does not have it if you no longer need it and they do need it.

However, sometimes the bag is not needed at all and you can carry it by hand.

They should not ban the plastic bag you already have; only to restrict manufacturing new ones (although there may be other problems with that, which the article also mentions, and they have to figure out how to do with that, too).</comment>


How not Supporting IE7, is actually Supporting IE7 - <AUTHOR> http://buzzientdev.posterous.com/how-not-supporting-ie7-is-actually-supporting

<comment><USER2> The /only/ part of the "article" that was related to the title

"Many people are resistant to the new Facebook layout changes and are opting to use old outdated browsers to maintain the more familiar Facebook page layout. In addition, companies frustrated with their employees' wasting precious work hours on social media sites are using these outdated browsers to enforce employee compliance."

[citation needed]

And just to be clear - we are saying that companies would rather risk increased security risks and more manhours spent waiting on page requests and execution...to stop people from getting rounded corners and facebook layout updates? That has to be one of the silliest things I have heard in a very long time.

<comment><USER3> Companies are always resistant to change. IE7 and IE8 are still prevalent in medium to large corporations. So I think the answer is yes.

</comment></comment><comment><USER4> Sure, I like old facebook, but not so much as I would purposefully chose to use old IE.

Or IE for that matter.</comment>


Go vs. Rust: Productivity vs. Performance (2014) - <AUTHOR> http://joshitech.blogspot.com/2014/11/go-vs-rust-productivity-vs-performance.html <comment><USER2> Taking an average of wildly varying microbenchmark scores doesn't seem particularly useful. Furthermore Rust has never had particularly optimal implementations for the benchmarks game (I can't speak as to the quality of the Go implementations). Furtherfurthermore this blog post is so old that the Rust results cannot be considered representative. Furtherfurtherfurthermore I would like it if we could just all collectively stop treating the benchmarks game as though any of its microbenchmarks measure anything other than "is this language capable of binding to libpcre" or "is this language capable of binding to libgmp". I swear, the benchmarks game is the SunSpider of programming language comparisons.

(Furtherfurtherfutherfurthermore, why are we still comparing Rust to Go? I thought we had gotten over this!)

<comment><USER3> Although you are of course correct, I would caution against a complete dismissal of micro benchmarks.

Firstly because they are a sort of marketing: I've perused the shootout before and noticed an implementation get a higher score than I was expecting. This has sparked an interest in digging deeper into that implementation/language.

Secondly because of the "can't even" problem i.e. why should I invest time investigating a new language if it can't even do simple benchmarks well? I appreciate that this isn't a particularly analytical view but I expect that it's not uncommon.

<comment><USER2> It's a mistake to consider the benchmarks game a "can't even" problem, the level of effort given to each language's implementations is all over the map.

This also isn't an utter dismissal of the concept of microbenchmarks, it's an utter dismissal of the concept of microbenchmarks as used to compare language implementations. Something like the TechEmpower web framework benchmarks is at least marginally better because the tasks permit a wider variation of implementations and at least pretend to do some kind of useful tasks, instead of pretending to be an arbiter of implementation quality (which, as much as the benchmarks game disclaims it, is still what people take it as).

<comment><USER4> >>the level of effort given to each language's implementations is all over the map<<

Evidently the level of effort to contribute a working Rust spectral-norm program is too high for anyone ;-)

>>pretending to be an arbiter of implementation quality (which, as much as the benchmarks game disclaims it, is still what people take it as).<<

The benchmarks game is "just 10 tiny examples."

<comment><USER2>
      > Evidently the level of effort to contribute a working
      > Rust spectral-norm program is too high for anyone ;-)

Or they just don't care and refuse to let the benchmarks game hold their free time hostage. :P

<comment><USER4> That could be a respectable position; but not when "they" trash talk instead. That just looks bad.

</comment></comment></comment></comment></comment></comment><comment><USER5> > Go seems to be for the Python, Ruby and Java developers and will be used for > enterprise applications, mobile apps and application servers.

No thanks, Go offers no benefit over the Java eco-system, neither in terms of deployment[0][1][2], not in terms of libraries and dependency management, nor in language expressiveness (Java 8, Scala, Clojure, Kotlin, Ceylon, Groovy)

[0] [http://www.excelsiorjet.com/](http://www.excelsiorjet.com/)

[1] [http://robovm.com/](http://robovm.com/)

[2] [http://www-01.ibm.com/support/knowledgecenter/api/content/SS...](http://www-01.ibm.com/support/knowledgecenter/api/content/SSYKE2_6.0.0/com.ibm.java.doc.60_26/vm626/GenericWrapper/commandlineoptions_jit.html?locale=en)

EDIT: Also forgot to add that we enterprise devs also have C#, F#, Swift, C++14, C++/CX at our disposal

<comment><USER6> [0] Price per developer (!) $3000, only supports Java 7. To compare, the price of the Go compiler per developer: $0

I see one clear benefit right there.

<comment><USER7> Low/zero cost is a benefit only if everything else is equal. Eclipse and Netbeans are free, yet people pay for IntelliJ IDEA. We use an expensive commercial GUI testing product because all the free and cheaper alternatives sucked big time, and support was either poor or non-existent.

</comment></comment></comment><comment><USER8> This article doesn't really match my experiences.

I have found Rust to be considerably more expressive than Go. Traits and proper generic types, iterators and pattern matching all contribute to this. I tend to write less lines of Rust code to accomplish the same tasks.

As for runtime performance, in my experience they are pretty close right now for my use cases but I do expect Rust to grow faster than Go over time.

</comment><comment><USER9> The article has a major flaw: it confuses productivity with LoC.

</comment><comment><USER10> I think Rust is a fledgling this time. But I love the clearly orientation that they focus on. It is a safety system language, especially, the ownership/borrowing.

</comment><comment><USER11> "Go seems to be for the Python, Ruby and Java developers and will be used for enterprise applications, mobile apps and application servers."

Out of interest, what would I gain by learning GO? I already know Python pretty well. I have done Java in the past and don't see any problem jumping back into it. Both languages have tons of libraries and tooling available. Are mature, and I can't see much reason to opt for a new language.

<comment><USER12> > what would I gain by learning GO? I already know Python pretty well.

A significantly easier deploy story. Compile once on your target platform (i.e. Ubuntu), run on any of the same platform, without having to worry about installing (or how to install) all of your third party dependencies.

It's also more friendly to less skilled developers, with its type system and limited metaprogramming.

It also has a really compelling concurrent programming paradigm which doesn't involve libraries or pickle.

Of course, those same strengths are also weaknesses - the language is less expressive and flexible, and it requires extra steps to compile and distribute those compiled binaries.

</comment></comment><comment><USER13> > _I think Rust will attract developers from C, C++, Fortran and will be used > for developing high performance systems like gaming, browsers, telco > servers, distributed computing systems as well as low level, cpu efficient > embedded /micro computers._

People choose platforms, stacks, languages, environments, not languages: Rails not Ruby, browser not JavaScript, Unix not C, host not Cobol, ...

<comment><USER14> Fortran programmers will never move to Rust. The level of systems knowledge required to use Fortran is almost nothing. It is already a pretty safe language due to the heavy restrictions on pointers and compiler warnings. The abstractions and restrictions in Rust will make it completely unpalatable to the scientific community.

<comment><USER2> I'm not sure that Rust particularly cares about attracting Fortran programmers. Fortran is a highly specialized language whose most powerful asset is its enormous body of working code. That's not a market that needs another competitor.

</comment></comment></comment><comment><USER15> they don't exist in the same space. Go is not a systems programming language and Rust is not a scripting language.

</comment><comment><USER16> Despite being always interested in seeing benchmarks comparing new languages I don't feel like basing my choices on such benchmarks. From my experience it's usually a matter of how comprehensive is the ecosystem surrounding the language. Anyway, great article.

</comment><comment><USER17> Great article, and I have to say I completely agree with your point on using go for enterprise level development.

</comment><comment><USER18> Go is a simpler language and as such it is a better language.

<comment><USER19> Then BASIC is most awesome language.

<comment><USER18> Always use the simplest solution that solves the problem. I didn't realize that BASIC has concurrency. /s

<comment><USER20> You wouldn't believe that there's a "Concurrent Basic" research project that's putting a variant of the 𝛑-calculus into BASIC. Erik Meijer truly has some strange ideas...

[http://research.microsoft.com/en- us/projects/concurrentbasic...](http://research.microsoft.com/en- us/projects/concurrentbasic/default.aspx)

</comment></comment></comment></comment><comment><USER21> Rust's not there yet and I wonder if it can compete. The thing is it is too specialized and low level (not that it is a bad thing for what it is intended for). The problem with all of the low-level things is that they are seriously undervalued.

I am glad that there is servo but we need something like an operating system (IoT might work for the start). I hope Samsung changes its plans with Tizen and eventually will develop something with Rust in mind.

<comment><USER22> I have heard a couple of comments about Rust not being "there" yet. Why is it not "there" for you? Where, precisely, is "there"? I certainly hope you are not basing this opinion on a blog post from 2014 with terrible methodology (even the maintainer of the benchmarks came down to comment on how egregiously he was misusing the numbers).

<comment><USER5> Not take this as a post against Rust, I like the language and what is trying to be achieved.

Just listing some of the issues, from my point of view, Rust currently faces.

It is not there if one is looking for uses cases where GC performance doesn't matter e.g. Haskell, OCaml, .NET, JVM. All existing alternatives enjoy more mature libraries, editors, supported OSes and so on.

It is not there if the goal is to replace C++ on the mobile platforms, as it introduces hurdles and increases the development time versus using the vendor tooling.

Specially in the iOS and Windows Phone, where C++ is a first class language. A kind of Objective-Rust, Rust/CX are needed there, even if rustc is able to cross compile.

On Mac OS X it is not there in regards to Swift tooling and available libraries, additionally for many developers ARC and GDC might just be good enough, even if Swift is less safe than Rust.

<comment><USER2> What makes you suspect that Swift is less safe than Rust?

<comment><USER5> Multithreading safety with GDC is not ensured as in Rust, as for the rest, I would say it is as safe as any Cedar/ML descendant.</comment></comment></comment></comment></comment>


Google Authenticator is not iOS 7 compatible, will erase your tokens - <AUTHOR> https://code.google.com/p/google-authenticator/issues/detail?id=278

<comment><USER3> I'm not sure why this is on the front page.

iOS 7 is still in beta, and there's still quite a lot of bugs in it (hence... beta). Google maps doesn't work either (it always reports a server connection error for me).

I would assume that these are problems with iOS 7, not the apps in question, since iOS should provide backwards compatibility. These bugs should be reported to Apple (ideally by Google or authors of other specific apps, who can narrow down exactly what's going on) so that Apple can fix whatever bug is causing the incorrect behaviour.

A better title might have been "Current iOS 7 beta is not Google Authenticator compatible"

</comment><comment><USER4> DuoSec's iOS app replaced the never-updated Google Authenticator app for me after they added support for third-party token generation. It even works with QR-code scanning, just like the Google App.

The advantage here is obvious: it's an app that is a primary business concern for a security-focused company. It's unlikely it'll go out of date as long as Duo is around.

[https://blog.duosecurity.com/2012/11/announcing-two- factor-a...](https://blog.duosecurity.com/2012/11/announcing-two-factor- authenticaton-for-third-party-accounts/)

<comment><USER5> Never mind that the Google Authenticator app does get updated, why would it be suspect that it wasn't? Since when did it become a mark of quality that something changes constantly?

It's sole purpose in life is to run a well-defined, never-changing calculation and display a 6 digit number on the screen. Not changing is absolutely preferred here.

<comment><USER6> It's not confidence-inspiring when an app you use is missing both retina graphics and iPhone 5 support.

<comment><USER7> I have only used it on iPhone 5 without any problem, so I am not sure what you mean here. I only use it for a few seconds to read the number and do not really understand how retina graphics would help you.

<comment><USER4> Not updating an extremely simple app with Retina support (which they've had at least three years to implement since the iPhone 4's release) would seem to indicate that it's not under any active development.

<comment><USER5> It doesn't _need_ to be under active development to perform its job flawlessly.

</comment></comment></comment></comment></comment></comment><comment><USER8> Google Authenticator Version: 220.127.116.115, last updated: Jul 19, 2011. I'm assuming that there are a lot of under the hood changes in iOS 7. It is up to Google to update Google Authenticator so it would be compatible with iOS 7. Then again, iOS 7 is still in beta.

</comment><comment><USER9> Google doesn't take updating their Authenticator app seriously, even the android version.

But _why_ is it deleting the tokens? Can anyone who does iOS development comment?

<comment><USER10> Regarding Android that is just not true. The last update is from July 18 [1] and the App gets updated frequently and for me it has worked flawlessly.

A while back the Authenticator was not updated automatically but you were asked to switch to a new App [2]. Maybe that happened to you.

[1] [https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en) [2] [https://play.google.com/store/apps/details?id=com.google.and...](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator&hl=en)

<comment><USER9> App updates do not imply the app is being adequately maintained.

[https://code.google.com/p/google- authenticator/issues/detail...](https://code.google.com/p/google- authenticator/issues/detail?id=118)

If that's your idea of a maintained app, I think we have differing ideas of what that means. Users with more totp tokens than will fit on one screen tend to ditch google authenticator because of that issue.

</comment></comment></comment><comment><USER11> I've been using Authy[1] without any problems on iOS7. Great thing is that it can also be used for other services that use OTP (AWS, Cloudflare, Facebook etc).

[1] [https://www.authy.com/](https://www.authy.com/)

<comment><USER12> Count me as another vote for Authy. One more amazing feature: Your tokens stick to your Authy account instead of your physical device. If you need to restore your phone or delete the app, you don't need to disable two-factor on all your accounts and then set it up again.

Just reinstall Authy, reauthorize with your Authy account, and you're done! Helped me countless times, from when I had to rebuild my iOS install because of a backup problem to when I got a replacement device due to a hardware issue.

<comment><USER13> Doesn't giving the device keys to a third party, while also authenticating using a password with that third party, sort of defeat the whole purpose of two-factor authentication?

<comment><USER14> Yes.

Unfortunately, their marketing is highly convincing. Most people (even most engineers) won't realize the tradeoff here: Authy replaces "two factor authorization" with "two password authorization". It should be clear which is more secure.

The "two factors" with GA are a knowledge factor (something you know - <USER2> password) and a possession factor (something you have - your phone number for SMS or phone for GA app).

See also [https://en.wikipedia.org/wiki/Multi- factor_authentication](https://en.wikipedia.org/wiki/Multi- factor_authentication)

<comment><USER15> Ultimately all of the cellphone 2FA are at some level "two passwords". If the machine on which you enroll initially is pwned at that time, the attacker sees the seed. It's a little better with physical tokens (where you'd need to compromise the token itself, or do MITM at setup time and persistently after). I believe most of the good iOS TOTP apps use the "keybag" correctly so the seeds don't leave the device when backed up, but it's not perfect. An x509 cert would fundamentally not be any different, and PK-based MFA (which Duo, OneID, and I think some other companies do) isn't that different -- it just requires the verifying application talk to the app directly vs. something you can do as a human.

<comment><USER14> If you store the seed on your device.

For gmail, Google texts me an auth code; the seed (if there is one) is in their data center. They could switch to seedless down the road since they own both sides of the auth.

<comment><USER15> I've never trusted the SMS auth; too easy to play phone routing tricks, and most high security environments don't allow phones or have coverage (of course there's also the same problem for no-phones for a phone-based TOTP; the solution is a physical token).

</comment></comment></comment></comment></comment></comment></comment><comment><USER16> FWIW, I use "HDE OTP" ([https://itunes.apple.com/us/app/hde-otp- generator/id57124032...](https://itunes.apple.com/us/app/hde-otp- generator/id571240327?mt=8)), which works pretty well for my google and dropbox account. It works on iOS7 and it looks better.

</comment><comment> hippee-lee It's been working fine for me. First and second beta images that have been pushed.

<comment><USER17> The account labels are missing, which is a problem if you have multiple accounts.

<comment><AUTHOR> Yes, and if you try to edit them, it will wipe out the other tokens.

</comment></comment></comment><comment><USER18> So how big is the leap between iOS 6 and 7 exactly in terms of app compatibility? Did they do a major API overhaul and will we have to wait for every developer to port its app but also maintain backwards compatibility?</comment>


Lessons learned switching our web UI from stock fonts to a proprietary font - <AUTHOR> http://miksovsky.blogs.com/flowstate/2010/08/lessons-switching-our-web-ui-from-stock-fonts-to-a-proprietary-font.html <comment><USER2> All that talk and not a single screenshot of what it looked like with the font change.

<comment><USER3> Did you see the article? Then you saw the font...

</comment></comment><comment><USER4> By default I shudder reading any article that suggests that a ustom font is a smart UI choice for web apps.

Almost without exception, custom font choices lead to broken designs, slow serving, and work against clean UI.

But this article fairly balances the joy of selecting a custom font, with the sheer litany of issues that come with proper integration: compatibility, hosting, licensing, sizing, etc.

</comment><comment><USER5> AKA "Reverse Verdanagate".

</comment><comment> k-zed Thanks for making the Web a more horrible place (step by tiny step)...

well as long as I can force my browser to use the system sans-serif font for all web pages, all is good

<comment><USER6> > Thanks for making the Web a more horrible place (step by tiny step)...

Oh, insanity, how beautiful you are.</comment></comment>


Compete Says Bing's Total U.S. Market Share Grew To 29% In November - <AUTHOR> http://techcrunch.com/2011/01/03/compete-says-bings-total-u-s-market-share-grew-to-29-in-november/

<comment> daniel-cussen This speaks more poorly of Compete than it speaks well of Bing.

<comment><USER2> I don't understand. Is there something wrong with their methodology?

<comment><USER3> There are several issues with their methodologies. Basically, they measure data from toolbar installs, as well as some data sharing/sampling agreements with ISPs and other websites.

Most criticisms center around the fact that it is well documented that data from compete frequently doesn't match (or come close to matching) data in server logs. Because of the methodology of collection, the data has a tendency to be skewed. Plus, it's difficult to figure out exactly why server logs show such different data than compete, so it gives a not-too-trustworthy feel to many webmasters.

In addition, there's a potential conflict of interest -- if you sign up for their paid service, your site will get an analytics tracking cookie. From what I've read, people rarely see their rank drop after signing up for the analytics service. Gives the whole thing the feel of payola.

That said, similar problems exist with all the analytics type services. None are perfect, best bet is to poll a few of them and not take the numbers too seriously (look for trends, not milestones).

</comment></comment></comment><comment><USER4> Bing traffic is up 52% year-to-year, Yahoo's up 15%, and Google's down almost 3%.

</comment><comment><USER5> How much of this growth derives from uptake of IE 8 or 9, whichever comes standard with Windows 7? I bet there's a direct correlation.

<comment><USER2> Not sure what you mean. Previous versions of IE used MSN or Windows Live Search as their homepages, which now redirect all searches to Bing.

</comment></comment><comment><USER6> Techcrunch should show how much of their own traffic comes from google vs bing now. I would guess they are ~90% of search referals.

</comment><comment><USER7> I take no stock in Compete stats. It grossly miscalculates traffic statistics.

Here's an example: [http://blog.reddit.com/2010/07/experts-misunderestimate- our-...](http://blog.reddit.com/2010/07/experts-misunderestimate-our- traffic.html)

</comment><comment><USER8> The table titled "The US web search market share and volume" doesn't look convincing. The share for 2010 only shows October and November. How did Bing/Yahoo perform before?</comment>


Do Object-Oriented Languages Need Special Hardware Support? (1995) [pdf] - <AUTHOR> https://www.cs.ucsb.edu/~urs/oocsb/papers/ecoop95-arch.pdf <comment><USER2> Processors over the last 10 or so years have included more and more sophisticated indirect branch predictors. (I think the trend started with Banias which debuted in 2003.) This was primarily motivated by the proliferation of virtual function calls in object oriented code.

ed: If I remember my numbers right, these predictors buy a few percentage of performance improvement across entire benchmark suites, which is quite hard to get through a purely microarchitectural feature.

<comment><USER3> What you are describing is a Branch Target Buffer (BTB).

While local and global predictors describe which direction a direct branch may take, they do little to help indirect branches.

Take the example jmp [rax]. While condition codes for direct branches can be speculated, the value contained within rax isn't easily speculated either.

However, we can make note of _where_ jmp [rax] took us the last time we executed. This mapping from branch instruction address to target address is precisely what a BTB is.

As for when they were invented, I believe the first paper on them is Lee83; I'm pretty sure the original Pentium had one.

Lee83 [http://www.eecs.berkeley.edu/Pubs/TechRpts/1983/CSD-83-121.p...](http://www.eecs.berkeley.edu/Pubs/TechRpts/1983/CSD-83-121.pdf)

<comment><USER2> No, I know quite well what a BTB is and it's only somewhat useful for indirect branches. Modern processors have specific predictors for indirect branches. This paper: [http://dl.acm.org/citation.cfm?id=279380](http://dl.acm.org/citation.cfm?id=279380) describes one such structure. It also explains why such structures outperform BTBs.

</comment></comment></comment><comment><USER4> The article doesn't mention Rekursiv, the object oriented processor designed in the 1980s by David Harland ([http://en.wikipedia.org/wiki/Rekursiv](http://en.wikipedia.org/wiki/Rekursiv)).

I was in touch with him recently, partly to find out why a professor of computer science at St Andrews University would suddenly drop out of computing entirely, and move to writing about space exploration...

<comment><USER5> I think I can imagine, but can you share your explanation?

Space exploration looks like an interesting endeavor.

<comment><USER4> (If he reads this, I hope he doesn't mind my presumptuousness!) It was mainly due to frustration at the narrow-mindedness of the computing community. Harland not only designed an alternative computing architecture, but also presented heretical ideas about programming language design, formalized into his 'principle of abstraction':

 _" Realising that calculus has actually got nothing at all to do with either differentiation or integration, but is actually a set of rules for lexicographical transformations, with differential calculus and integral calculus being two examples, I came to the conclusion that there is a fundamental principle for the design of a programming language based on an interpretation of the process of abstraction in terms of a calculus of semantics-preserving transformations reflexive over the domain of syntactic clauses."_

He went on:

 _" The problem for most languages, of course, is that not all the clauses in the grammar are abstractable over, and for many that are the semantics are not strictly preserved when abstraction is performed, which sort of ruins the point."_

It is summarized thusly in one line:

 _Abstraction is a calculus of semantics-preserving transformations reflexive over the domain of syntactic clauses._

I'm working my way through his book, 'Concurrency & Programming Languages', so I can try to better understand this statement...

I came across one interesting paragraph on page 151: _" There is no need for a macro facility if a language permits the meaning of application to be defined differently for different types of applicable value, and if its parameterisation mechanism can be defined differently for different types of data (such as for the functions and operations above), or for values of the same type but with different characteristics (such as for functions with eager/lazy attributes)."_

Hah! So could it be that Lisp has deficiencies at a fundamental level...?

Harland replied to my query: _" The first thing of significance that I did was to make types manipulable... Then I made the environments manipulable so that I could abstract over declarations. This comes from having access to the 'current environment' whose meaning is defined dynamically, so that it can be passed as a parameter. Next came access to 'current process' so that it networks of processes can be dynamically established. Long after that, when I fully appreciated the simplicity of abstraction as being over the clauses of the grammar, I made the grammar a data structure that the program can modify in real time, to add new grammatical forms (i.e. abstractions) and expand the means of expression..."_

There are interesting ideas here that should be pondered further...

</comment></comment></comment><comment><USER6> The lesson here (I think) is that the collective (and MASSIVE) R&D effort general purpose CPUs, and optimizing compilers (and now, GPUs) almost always trumps specialized computing architectures.

It's really hard to beat the raw performance of a modern Intel or AMD processor.

I co-authored a paper in 1992 on this same issue with DSP chips, see: [http://www.hpl.hp.com/techreports/Compaq- DEC/CRL-92-10.pdf](http://www.hpl.hp.com/techreports/Compaq-DEC/CRL-92-10.pdf) We predicted the shift of "signal processing" applications into the main CPU (e.g. the (in)famous winmodem).

And we were widely criticized :) e.g., [https://groups.google.com/forum/#!topic/comp.dsp/FWJlNGMbN9Y](https://groups.google.com/forum/#!topic/comp.dsp/FWJlNGMbN9Y)

I also believe the market is good at pulling in functionality at the instruction-level when there's demand (e.g. encryption instructions, population count, etc.)

</comment><comment><USER7> TL;DR

> compiler optimizations can almost entirely eliminate the large semantic > difference between a pure object- oriented language and C. As a result, we > found little opportunity for object-oriented hardware

<comment><USER8> "If an article headline asks a question, the answer is always no."

<comment><USER9> [https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)

</comment></comment></comment><comment><USER10> I wonder what kind of processors would we have today if the market went into another direction, like LISP? Tagged registers, optimizations for deep stacks, optimizations for GC...

Why isn't the hardware moving into that direction nowadays, wouldn't it greatly benefit the modern languages that ship with a VM to have hardware support?

</comment><comment><USER11> "Need"? No. "Benefit from"? Yes. For example, see Ian Piumarta's work on [http://www.viewpointsresearch.org/html/writings.php](http://www.viewpointsresearch.org/html/writings.php) , eg. "An association-based model of dynamic behaviour"</comment>


NSO Group Impersonated Facebook to Help Clients Hack Targets - <AUTHOR> https://www.vice.com/en_us/article/qj4p3w/nso-group-hack-fake-facebook-domain <comment><USER2> NSO is also offering software to governments to do contact tracing.

Product is called "Fleming" — though appear they took down the page for it.</comment>


Status as a Service – Minecraft Edition - <AUTHOR> https://blog.commsor.com/what-minecraft-taught-me-about-community/ <comment><USER2> For those not as familiar, author is referencing Eugene Wei's inspiring and powerful social media commentary: [https://news.ycombinator.com/item?id=19294564](https://news.ycombinator.com/item?id=19294564)</comment>


This is not the way I'd imagined Bill Gates... - <AUTHOR> http://www.dailymail.co.uk/home/moslive/article-2001697/Microsofts-Bill-Gates-A-rare-remarkable-interview-worlds-second-richest-man.html

<comment><USER2> " Has he succumbed to the inevitable pleas from the children for an iPad, iPhone and iPod? His face hardens: 'They have the Windows equivalent. They have a Zune music player, which is a great Windows portable player. They are not deprived children.'"

</comment><comment><USER3> Kudos to Bill Gates for doing what he's doing with his foundation.

In the article, he says he doesn't care about legacy, but I hope he ends up being known more for his work in philanthropy than for Microsoft.

</comment><comment><USER4> That article reads like US Magazine.</comment>


Thoughts on Presenting (2014) - <AUTHOR> https://thefractionatingcolumn.com/2014/10/21/thoughts-on-presenting/ <comment><USER2> Really good stuff in there. I suggest watching that Adam Savage video, it's only 14 minutes long and he's _captivating_. Even if you're in a hurry, a couple of minutes will make the point about passion 'click'.

Another great comment that has been influential in my public speaking is an old HN comment by patio11 [1].

Public speaking is hard for everyone, everyone sucks at it, and it can be hard to accept critique for your soft skills. Just keep practicing, record yourself, ask for advice and don't take things personally!

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

</comment><comment><USER3> Lots of great advice. For me as an audience member, the most memorable talks have always been the funniest ones. For me as a speaker, the hardest thing to get right is the humour.

</comment><comment><USER4> It is thought-provoking that this is necessary. We have all lived through more than decade (K-12) filled with presentations.

<comment><USER5> That shows that it's not practice that makes perfect, but perfect practice that makes perfect. Making the same mistakes over and over again will not make you less likely to keep making them.

People also write various texts a fair amount during their school years, but we know from experience that hardly everyone is great at writing because of it.

<comment><USER6> Even if your objective is not to get great, but merely pretty good, practice in front of an audience only gets you part of the way. Coaching, video, etc. is really useful. I expect many companies don't offer this sufficiently and many who would benefit from it don't take it when offered—because it's uncomfortable or they don't see it as important.</comment></comment></comment>


'Use our payment system or we kill your app': Google to developers - <AUTHOR> http://www.theage.com.au/digital-life/digital-life-news/use-our-payment-system-or-we-kill-your-app-google-to-developers-20120309-1uogu.html <comment><USER2> Apple's been doing this since day 1, and gouging quite a lot for it. No thanks.</comment>


Automatically Scalable Computation (RICON East Opening Keynote) - <AUTHOR> http://www.youtube.com/watch?v=xdOqkiV-ET4

<comment><USER2> This was a great talk, but remember that the hardware changes required to make this a reality may be hard to convince vendors to implement for a long time.</comment>


Jason Scott: "A terrible thing happened recently. You might have missed it." - <AUTHOR> http://ascii.textfiles.com/archives/1617

<comment><USER2> summary: some blog/site hosting shut down on short notice (one month) and a lot of users (especially not tech savvy) got hosed because they did't understand or couldn't react in time. "Digital eviction" should have rules in place to balance interests of "landlords" and "tenants".

<comment><USER3> Are you sure you want to stand by that? Do you think the government could get involved in this issue and manage to do more good than harm? More than likely we'd end up having to get permission from some bureaucracy before being allowed to delete spam.

<comment><USER2> I am not advocating anything, I only relay the content of the article. That's why I put "summary:" in front.

<comment><USER3> Oh, sorry. I parsed the precedence of "summary:" as binding only to the first sentence :-)

<comment><USER2> Point taken. I'll try to quote the whole thing next time around to make it clearer.

</comment></comment></comment></comment></comment><comment><USER4> Though I agree with the main gist of the article, the tone leaves something to be desired. For instance, the author seems to think that somehow free culture supporters such as myself dupe people into using Creative Commons licenses. Free software and free culture are about very specific sets of issues, so the Hometown shutdown doesn't really fall into the same area of responsibility.

Sure, many of the same people would be supportive both of free culture and data eviction measures, but that doesn't mean that the FSF should take up the cause. One may as well blame Greenpeace for failing to take action with respect to the Hometown evictions.

</comment><comment><USER5> I like the idea of legally imposing some responsibility on data storage/hosting services. Not just minimum eviction notice but mandatory export functionality would not be unreasonable.

A site like Facebook should allow me to retrieve all of my data in a single action, in some reasonably convenient format, and should be required to give me notice if my data will become inaccessible to me.

The details of this legislation would need to be carefully thought out to avoid imposing absurd requirements on well intentioned sites.

<comment><USER6> That's what has worried me most about google docs. There's no easy way to just "do a backup". Wish they'd get around to that.

<comment><USER2> <http://code.google.com/p/gdatacopier/>

</comment></comment></comment><comment><USER7> I don't see how AOL did anything wrong here. They offered a free service that millions enjoyed, and when it came time to close it down, they notified users using the email addresses the users had given them.

It's not AOL's fault if people didn't keep their contact information up to date, and two weeks is ample notice.

What could they really have done differently, save not closing the service or never offering it in the first place?

<comment><USER2> 1\. Make it read-only and keep around for 3 months. It's not like hosting a static site costs a lot of money these days.

2\. Take the site down for a month and bring it back online for one final month. This should get everyone's attention.

Above and beyond all, they could actually start _caring_ about the impact they make on people. When driving down the road I slow down to avoid splashing pedestrians with water - they never paid aything to me and it slows me down, yet I try to be conscious of the impact I could make.

</comment></comment><comment><USER2> I have once gone for 30 days without logging into my hotmail account (vacation and all). When I came back it was erased, along with 10 years worth of emails and contact information. Needless to say I will stay away from anything MSN - they have proven that _they don't care_.

<comment><USER8> Odd. I had a hotmail account several years ago and left it abandoned for about 8 months & when I finally checked it, it hadn't been deleted.

<comment><USER2> It happened in 2005 I think. they might have chnaged that policy since then.

<comment><USER8> I had my account prior to 2005, so it's likely that there have been significant changes since then, hehe.

</comment></comment></comment></comment><comment><USER9> They could have just emailed everyone their sites in zip files.

<comment><USER10> "What do I do with a dot zee eye pea file?" ...

</comment></comment><comment><USER6> Did "hometown" pages end up in the internet archive's "way back machine"? Presumably everyones not completely out of luck if this is the case.

</comment><comment><USER11> I've been thinking a lot about this issue recently. Hometown is a relatively small site, but what if for some reason Google decided to shut down Blogger tomorrow? There's huge swathes of the useful internet on that domain, and no legal recourse right now if Google lose all that data -- it's a free service, with no guarantees.

It seems like maybe some very lightweight legislation guaranteeing some level of access to data _would_ be a good idea, for services above a certain size -- maybe 1m+ users or something.

</comment><comment><USER8> I've lost data 3 times due to host cock-ups and I didn't have the correct back-ups in place to fix it. It sucks, I learnt to back-up properly, and I moved on. Certainly didn't require anyone to "take a stand" on my behalf, and I fail to see the need for anyone to take a stand now.

</comment><comment><USER12> I had a news.yc that covered a similar topic. If the company actually knows what it's doing they should allow for about 6 months where people can get their social graph / other data from the website.

</comment><comment><USER13> He makes a good case, but will anyone actually take it up?

<comment><USER14> How many people making web services and tools actually care about their community or their contributions, long-term? I'd bet, in all honesty, very few. For instance, if you're building to be bought, why would you give a shit?

</comment></comment><comment><USER15> Wouldn't the content of the blogs be availabe in the internet archive? Not sure about the url, maybe archive.org?

<comment><USER16> Apparently not. Last indexed by the Wayback Machine January 15, 2008, and then only the first few pages; actual blogs seem to be missing. <http://web.archive.org/web/*/http://hometown.aol.com>

<comment><USER17> Google cache, perhaps?

</comment></comment></comment><comment><USER18> Title should be, "A terrible thing happened recently, You might not care"</comment>