The ups and downs of porting 50k lines of C++ to Go (2015) - <AUTHOR> https://togototo.wordpress.com/ <comment><USER2> > Readability. I always found the Go code I encountered quite easy to read and > understand, both our code and external code. Some of the C++ I encountered, > in contrast, took hours to fully comprehend. Go also forced me to write > readable code: the language makes it impossible to think something like > "hey, the >8=3 operator in this obscure paper on ouroboromorphic > sapphotriplets could save me 10 lines of code, I'd better include it. My > coworkers won't have trouble understanding it as the meaning is clearly > expressed in the type signature: (PrimMonad W, PoshFunctor Y, ReichsLens S) > => W Y S ((I -> W) -> Y) -> G -> Bool".

This sentence is gold J

<comment><USER3> I don't get the "Go is easy to read" notion. Here's the recommended way to work with slices: [1]:

Delete from a slice: `a = append(a[:i], a[i+1:]...)`

Copy a slice: `b = append([]T(nil), a...)`

Pop from a slice: `x, a = a[len(a)-1], a[:len(a)-1]`

And some of these are discouraged because they leave you vulnerable to memory leaks (?)

These are fundamental building blocks and they're really quite bad. I mean when you're using `append` to delete...

1: [https://github.com/golang/go/wiki/SliceTricks](https://github.com/golang/go/wiki/SliceTricks)

<comment><USER4> That is not the recommended way to work with slices. These are novelties, aka tricks. The following is more representative.

Delete:

        copy(a[i:],a[i+1:])
        a = a[:len(a)-1]

Copy:

        b := make([]T, len(a))
        copy(b,a)

Push:

        a = append(a, x)

Pop:

        x := a[len(a)-1]
        a = a[:len(a)-1]

Enqueue:

        a = append([]T{x}, a...)

Dequeue:

        x := a[0]
        a = a[1:]

Idiomatic Go would have you not put on one line what is more clear on two.

<comment><USER5> > Idiomatic Go would have you not put on one line what is more clear on two.

This is the kind of silly aphorism that sounds enlightened until you think about it, and is emblematic of the bad parts of Go dogma.

The problem is that excessive LOC actually correlates strongly with poor readability, and all the cleverness in the world won't change that.

<comment><USER6> It's also not even true, given that `if foo, err := bar(); err != nil {` is considered idiomatic over writing that over two lines.

<comment><USER4> Both are idiomatic. I use the two line version.

I don't like this form both for legibility, and the fact that it closes over the return value.

</comment></comment></comment></comment></comment></comment><comment><USER7> Coming from JVM languages, it drives me nuts that I can't .map/.filter/.foreach/.reduce etc. my collections, especially with something like streams/sequences. That's where you really notice the lack of generics if you're used to this sort of programming.

<comment><USER8> Go isn't Java. It's easy to bring our biases in from other languages, but when you use a language you should be buying into the philosophy, conventions, and style of the language as much as the rules of the language.

Go focuses on code, not data and concrete solutions, not generic ones. It's a language designed for the 90%. If that doesnt fit your requirements, it's ok to use C++, Haskell, or Java, or some other equally good language. But Go is really, really good when you give it a fair chance.

<comment><USER9> This is a cheap way out. I don't think most people are putting down Go as an outright terrible language.

So, when so many engineers with lots of experience say that, for instance, no- generics is a problem with Go, it's worth considering that may be it really is a problem.

I wonder what you will say if Golang introduces generics in a future release.

<comment><USER10> Well, they _are_ about to introduce generics, so...

<comment><USER11> No, not quite. Rob Pike said in a video about a year or so ago that now they have enough experience to start thinking about generics. That the process is now just starting and you shouldn't expect them any time soon.

The Go core team has to decide if there's a way to add them to the language in a "Go way." If they can't they won't be added to Go at all, despite what other people want or don't want.

<comment><USER10> They started making early proposals, with syntax and the associated semantics. It will take a long time, but I'd be very surprised if they changed their mind now.

</comment></comment></comment></comment></comment></comment><comment><USER8> I personally love Rust and think Rust is the future for C and C++, and use it professionally. But Go is simple, fun, fast, and easy to read and frankly more approachable by the people many companies can afford to hire.

I view language choice as a line. If I need to build big, or build niche, or build fast, I use Rust. But if it's general purpose I use Go. I can write Go faster than I can write Python because the type system gives me a fast feedback loop and the language is simple and builds in the common case building blocks. I can get better performance and understand my app better than with the JVM because it's compiled ahead of time and I already know the ins and outs of Linux. There is no black box JVM that consumes resources while idling.

Go has advanced the state of formatting, documentation, and revitalized the Unix philosophy of building small, focused pieces without getting caught in the clouds over abstracting.

If you are currently using a Python, Java, C#, or JavaScript, Go is better. Just don't post angrily to your blog until you've written Go while also embracing its philisophy and taking the time to understand the authors intentions.

<comment><USER12> Where does Windows development fit into the Go way of doing things? Is Windows a first class citizen for Go?

Python, Java, C#, C, C++ are all very well supported in Windows.

P.S. I don't have any hidden agenda with this comment - genuinely curious.

<comment><USER13> Windows is very much a first class citizen - just so long as you're writing CLI tools or web services.

Unfortunately writing native GUIs in Go is something that isn't well supported - irrespective of the host platform you're targeting.

</comment></comment></comment><comment><USER14> Switched from Python to Go about 2 years ago. If you need to build performant APIs with a small team there is nothing that comes close. You get the productivity of something like Python with the performance of C++. Or at least very close to it in both cases. ([https://getstream.io/blog/switched-python- go/](https://getstream.io/blog/switched-python-go/))

The lack of generics hasn't bothered me so far. You just find different solutions to the problem. Composition, interfaces, or if all else fails an empty interface{}. It's rare to really not be able to work around it. It does make it near impossible to build reusable and performant data structures in Go though. (say that you want to build your own heap or list, hashtable etc.) So that's annoying, but something that you rarely run into.

Bigger issue is that GO modules are still not ready for production since the ecosystem didn't catch up: [https://github.com/golang/go/issues/24661](https://github.com/golang/go/issues/24661)

<comment><USER15> It's just a shame that you could EASILY bolt on basic parametric polymorphism to Go with 0 cost and huge benefit. And it'll never happen.

The power of a universally quantified interface cannot be underestimated!

<comment><USER16> Never? This is one of the basic proposals in the Go 2 roadmap.

<comment><USER17> Rob Pike is against the current proposal and clearly states it comes from the community.

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

</comment></comment></comment></comment><comment><USER18> This HN item links to the blog's front page. The actual article is at [https://togototo.wordpress.com/2015/03/07/fulfilling-a- piked...](https://togototo.wordpress.com/2015/03/07/fulfilling-a-pikedream- the-ups-of-downs-of-porting-50k-lines-of-c-to-go/)

</comment><comment><USER19> For anyone bothered by Go's simplistic error handling, a menu of _Requirements to Consider for Go 2 Error Handling_ :

[https://gist.github.com/networkimprov/961c9caa2631ad3b95413f...](https://gist.github.com/networkimprov/961c9caa2631ad3b95413f7d44a2c98a)

See also the Go 2 Draft Design feedback wiki:

[https://github.com/golang/go/wiki/Go2ErrorHandlingFeedback](https://github.com/golang/go/wiki/Go2ErrorHandlingFeedback)

</comment><comment><USER20> After switching to ML languages for most development tasks, I don't think I could face using a language with so few features.

Is most of the hype from a dev ops perspective? Go looks tiresome to program in.

<comment><USER21> Well, there's some blub paradox (PG) at play.

As Go team found out, it's not like people go from C++, OcamL or other full featured languages to Go.

For Python/Ruby etc programmings coming to Go, the lack of features feels exciting, because it makes them think they're programming closer to the metal (what with types, and static compilation, and contiguous arrays, and pointers).

<comment><USER13> I've written stuff in C++ as well as Python. The simplicity of Go appeals to me because it means the code is generally more readable (eg people aren't abusing advanced features quite so much).

Anecdotally I've found reading other peoples Go code far easy than I've found reading other peoples code in pretty much any other language. YMMV though

<comment><USER21> > _Anecdotally I 've found reading other peoples Go code far easy than I've > found reading other peoples code in pretty much any other language_

At the micro level yes. At the macro level though, it's easier to understand 10 lines of dense code than the 200 lines Go forces you to write for the same thing. At least you can see them in your screen all at once (and usually express the intent more directly).

<comment><USER13> For _you_ , perhaps. However for me I completely disagree.

What you're failing to understand is that this is an entirely subjective rather than objective matter. What works for you isn't proof that it's the same for everyone else.

This is why I've said " _The simplicity of Go appeals to me_ ", " _Anecdotally I 've found_" and " _YMMV_ " to made it clear in my post that the subject you're discussing is actually a matter of personal taste.

<comment><USER21> > _What you 're failing to understand is that this is an entirely subjective > rather than objective matter._

I don't think it is subjective.

It's just that as an industry we don't have large scale research into such things.

> _What works for you isn 't proof that it's the same for everyone else._

No, but our brains co-developed evolutionary for millions of years for some of us to be widely different than others in how they work.

<comment><USER13> > _I don 't think it is subjective._

The very fact that we disagree on what we find readable should be evidence enough that it's subjective.

> _It 's just that as an industry we don't have large scale research into such > things._

I don't need large scale research to tell me what I, _personally_ , find easier or harder to read.

Research would tell us what the _general_ rule of thumb is but that's very different to saying there's a definitive rule that applies to everyone uniformly.

> _No, but our brains co-developed evolutionary for millions of years for some > of us to be widely different than others in how they work._

Forgive me if I'm missing your point here but some people like fast cars and some people like to cycle. Some people want kids while others do not. Some people enjoy working in IT while others want to be gardeners, carpenters, mechanics, doctors, lawyers, etc.

Even specifically to HN, we have enough arguments on here about emacs vs vi; CLI vs GUI; and tiled window managers vs dynamic / overlapping windows to demonstrate that personal preference is alive and well in the field of IT. Yet it's strange how you consider it not to be applicable when it comes to language preferences. I suggest that's failing of imagination on your part.

<comment><USER21> > _I don 't need large scale research to tell me what I, personally, find > easier or harder to read._

I think we do.

Your phrasing implies that everybody (or at least just you) already and always knows and uses the optimal code styles that make it "easier" for them to read code.

I very much doubt that's the case.

People are deluded about what's "best for them" all the time.

Not to mention "what's best" might change with familiarity with other styles, training, etc, and people could be stuck in a shallow local optimum.

> _Forgive me if I 'm missing your point here but some people like fast cars > and some people like to cycle. Some people want kids while others do not. > Some people enjoy working in IT while others want to be gardeners, > carpenters, mechanics, doctors, lawyers, etc._

Those are matters of taste. Not matters of cognitive skills and how people read best, learn best, etc.

In fact, the popular myth of personal "learning styles" (X training style being best for some people, Y style best for others, etc) has been demolished.

And yet tons of people confused their "preferences" with some objective reality of their preferred style being better for them.

[https://blog.mindresearch.org/blog/learning-styles- myth](https://blog.mindresearch.org/blog/learning-styles-myth)

[https://www.theatlantic.com/science/archive/2018/04/the- myth...](https://www.theatlantic.com/science/archive/2018/04/the-myth-of- learning-styles/557687/)

<comment><USER13> > _Your phrasing implies that everybody (or at least just you) already and > always knows and uses the optimal code styles that make it "easier" for them > to read code._

No it doesn't. All I've been saying is I find Go - in general - more readable than other languages. Everything else thereafter is you badgering your language snobbishness onto others and me having to say, repeatedly, "I like what I like"

> _Those are matters of taste. Not matters of cognitive skills and how people > read best, learn best, etc._

"Read best" != "learn best". Anyone who has dyslexia will tell you that they struggle with layouts that others wouldn't take issue with. People who aren't native English speakers also often have different preferences for writing styles to native English speakers.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> I'm a C++ programmer for over 10 years and looking forward to becoming a Go programmer, professionally.

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

</comment><comment><USER24> I wonder how Dlang would have compared.

<comment><USER25> D is superior in every aspect except the BigCo support.

<comment><USER24> Why do you think that is (the lack of BigCo support)?

<comment><USER25> Because Walter Bright is/was not working at Google, Oracle or Microsoft? :)

</comment></comment></comment></comment><comment><USER26> > he expected the language to be adopted by C++ programmers, a prediction that > hasn't been realised

I respect go (and its runtime) a lot, but one little thing keeps me from using it: the reverse "argument type" ordering (backwards from C++) makes me avoid it. If this were the only language I used, it would be easy, but when switching back and forth, does anyone else find it hard to do?

<comment><USER27> My job requires switching between Go and Java occasionally. While I think Go is slightly more natural, it definitely adds cognitive overhead when going back to Java. But that additional overhead is nothing compared to the rampant and indecipherable stringing together of Guava futures in my company's Java codebases.

<comment><USER28> The newer jvm languages (particularly thinking of Kotlin and Scala) though, generally are type-second languages.

</comment></comment></comment><comment><USER29> Link to the article instead of the blog: [https://togototo.wordpress.com/2015/03/07/fulfilling-a- piked...](https://togototo.wordpress.com/2015/03/07/fulfilling-a-pikedream- the-ups-of-downs-of-porting-50k-lines-of-c-to-go/)

</comment><comment><USER30> "one of my reasons for getting into programming was the opportunity to get paid to use Emacs".

Not a reason for getting into programming that many have, I expect!

</comment><comment><USER31> Wow, I'm surprised to see the typical "Well, why didn't you just use Rust" comment hasn't been posted.

At the end of the day, it sounds like they just had some clunky C++ code that was due for a rewrite anyways (and the author admits as much). If you don't need it to be ultra low latency, some nice abstraction and modularity can already do wonders.

I've found Go to be an excellent Java replacement when all is said and done. Great for the vast majority of services you might write. But if you need to do anything lower level or that involves complex type logic you always end up with a clunky solution (and I'm not going to sing any praises for C++ having an elegant solution either).

That said, modern C++ (especially 17) can be made to look decently clean and without weird behavior in most cases. Yes, there's always the person that shows up and points out weird edge cases that you can run into but the situation is far, far better than it was years ago. With some good engineering practices in encapsulating low level optimized code you can largely limit the "danger surface" of your codebase.

<comment><USER17> When Go gets around supporting Java generics, dynamic loading, JDBC, PDF generation libraries, Office/LibreOffice manipulation libraries, Akka, CMS platforms, BluRay/SIM CPUs, a phone OS, a GUI library comparable to AWT (lowering the level as Swing/JavaFX/Android aren't even around), JMX instrumentation, hot code replacement.... then maybe just maybe, it is an excelent replacement for Java.

<comment><USER13> I can't tell if it's intentional but your post borders on fanboyism given about 80% of what you listed there is either already available for / possible in Go or is a Java specific term so naturally Go would have it's own mature libraries out there under a different name. For example

* JDBC, Akka, etc

There as all Java specific technologies but that doesn't mean that Go (nor any other language) doesn't have their own libraries to do the same. I mean you're not going to call Go's database libraries " _Java_ Database Connectivity" are you

* PDF generation libraries, Office/LibreOffice manipulation libraries, CMS platforms,

Go already has all that

* a phone OS,

There isn't any phone OS's written in Java either. There are phone OS's that use Java as their preferred application runtime environment - such as Android - and many of them can and do support running Go binaries as well. There is in fact a lot of documentation online regarding running Go on Android.

\---

I'll grant you that Go doesn't have hot code replacement nor generics but the former is a pretty niche case for Java development that wouldn't really improve Go's current workflow anyway - and the latter is such an tired old argument that you're not going to win any debates by pointing it out.

Disclaimer: I've programmed in both Java and Go (as well as more than a dozen other languages too). So I'm about as agnostic as they come when it comes to evaluating programming languages.

<comment><USER17> So where are the Go drivers offering 1:1 feature parity with JDBC for Oracle, DB2, SQL Server, Informix....?

An example for cluster based distributed framework similar to Akka in features?

What Go libraries provide feature parity to PDFJava, iText or POI?

Which Go CMS is comparable in features to Literay, Adobe Experience Manager?

Where is Go listed here?

[https://developer.android.com/guide/platform](https://developer.android.com/guide/platform)

<comment><USER13> > _So where are the Go drivers offering 1:1 feature parity with JDBC for > Oracle, DB2, SQL Server, Informix....?_ > > _An example for cluster based > distributed framework similar to Akka in features?_

> _What Go libraries provide feature parity to PDFJava, iText or POI?_

> _Which Go CMS is comparable in features to Literay, Adobe Experience > Manager?_

Clearly I'm not going to waste my entire afternoon doing research for you just to win some internet points. Particularly when you're just going to find some other "irrefutable fact" to lord over Go thus making any sensible discussion pointless.

Actually I'm going to agree with you on one thing: while Go does support all of the above I'm sure there will be some specific edge cases that are available in a Java library - eg PDFJava - that isn't available in an equivalent Go library. However I'm also confident I could list of some edge cases that are covered by Go and not Java. Anyone with the slightest bit of level headedness would agree that you're not going to get 1:1 feature parity with every competing library in competing languages because different developers will prioritise different features. So you accomplish nothing by making such an argument in the first place.

> _Where is Go listed here?_

> > _[https://developer.android.com/guide/platform](https://developer.android.com/guide/platform) > _

Why would it be listed there when Go doesn't target libc nor the JVM? That page also doesn't list about dozen other languages nor frameworks that also support Android.

<comment><USER17> The point was that Go is supposedly an excellent Java replacement, yet it's ecosystem is found lacking in comparable libraries.

As for Android, the whole userspace and a big part of Treble drivers are written in Java, which was exactly the point of being a phone OS written in Java.

So excellent replacement for Java? Not really.

<comment><USER13> A sane person would have read that as " _excellent replacement for Java for many typical use cases_ " rather than " _a drop in replacement for Java for any and all use cases_ "

Sure the GP didn't categorically set a context boundary but it's a pretty reasonable to assume he intended it to be read that way given we're all supposed to be intelligent people.

> _As for Android, the whole userspace and a big part of Treble drivers are > written in Java, which was exactly the point of being a phone OS written in > Java._

The whole userspace isn't written in Java. Yes there is _also_ an accompanying Java userspace but your exaggerated argument is ignoring the GNU components as well as native C++ parts too (which, as it happens, are also represented in the very link you posted).

<comment><USER17> > The entire feature-set of the Android OS is available to you through APIs > written in the Java language.

Ah so Linux is not written in C, because there are some Assembly components there I guess.

What GNU components? The only GPL stuff surviving on Android is the Linux kernel.

<comment><USER13> > Ah so Linux is not written in C, because there are some Assembly components > there I guess.

Oh do please stop exaggerating things. It's abundantly clear that I wasn't arguing the irrelevance of Java in Android. You simply said " _phone OS written in Java_ " and I was making the point that Android wasn't exclusively written in Java, thus Go (amongst other languages) can and do still run on Android. Given the context was about whether x can run on y, it's very relevant if y was written exclusively in x, w or v.

Also I don't understand why you've taken such a personal offence to Go but this entire argument of yours has been really petty. You have your tools you like and the GP has theirs. Does the GPs tools really need "death by a thousand paper cuts" to make yours tools look more important? Clearly it doesn't because Java is proven technology. So why waste your time criticising everyone else's tools?

> What GNU components? The only GPL stuff surviving on Android is the Linux > kernel.

Quick Google suggests you might be right there however that wasn't the case last time I did dev work on Android.

Even so, the NDK still exists.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Article from 2015.

</comment><comment><USER33> Ups and downs?

</comment><comment><USER34> Occasional pauses of 400-500 milliseconds? How would one mitigate that when coding a restful API server?

<comment><USER35> This article is pretty old. If this is from garbage collection, Go has more than addressed this with <100 microsecond stop the world in "typical worse case" scenarios. I believe it also tries to spread out the work to provide consistent latency.

<comment><USER36> My, possibly incorrect understanding, is that it had implemented hard time max pause durations, which will only lead to an infinite amount of garbage under some use patterns. Given the point if gc is you doubt think about it that's bad.

Giving go a gc was a total design failure

<comment><USER37> Go's GC is the best GC I've seen in practice. It's just silently working in the background without causing visible interruptions. And contrary to what you imply, I've never seen the GC cause memory leaks.

<comment><USER36> > "visible interruptions"

Humans can see things only longer than 200milliseconds. A small eternity.

The point is there are entire classes of application which have latency targets in the handful of microseconds. A 1ms STW isn't acceptable in this scenario.

</comment></comment></comment></comment></comment><comment><USER38> > Posted on March 7, 2015

<comment><USER23> Added. Thanks!

<comment><USER38> No worries.

</comment></comment></comment><comment><USER39> Four years old and the typo in the title still hasn't been fixed?

<comment><USER40> You mean "Pikedream"? Its a play on words. One of Go's core developers is Rob Pike.

<comment><USER41> I think they meant the ups "of" downs.

<comment><USER23> Wow, I looked at that repeatedly and closely, yet didn't see it until I read your comment. Paris in the the spring...

Fixed now. Thanks!

</comment></comment></comment></comment><comment><USER42> >> The worse the abstraction that you and your colleagues are likely to use, the better a language is Go

I feel the same way about most statically typed languages. They're designed for developers who aren't good at coming up with abstractions. Basically, they're great for junior developers. For senior developers, they just give you more work and slow down progress.

On my last project (statically typed language), we had to do a refactoring of a decent portion of the code just because it allowed us to use one interface/type instead of two related interfaces/types (one inheriting from the other). It didn't fix any bugs, make it more maintainable or even change the external behaviour at all.

<comment><USER19> Another gent who asserts that languages he likes to use are better for "senior developers" while those he doesn't are better for "junior people".

Don't hire anyone who makes such insulting remarks.

<comment><USER42> Why is it insulting? I didn't say that using the language means that you're a junior. I just said that it was designed for juniors.

Just like there are adults who wear diapers, it doesn't mean that they're juniors. In fact, most of them are very senior. They just like to be on the safe side.

<comment><USER43> Gents, this ^ is what "full retard" looks like.

<comment><USER42> Sorry for the confusion, next time I will try to dumb it down further... Maybe I need to start using static type annotations to indicate sarcasm.</comment></comment></comment></comment></comment>


Snowden persuaded other NSA workers to give up passwords - <AUTHOR> http://propub.ca/19KyhZE

<comment><AUTHOR> I inadvertently posted a shortened URL at Pro Publica - this is the direct link. [http://www.reuters.com/article/idUSBRE9A703020131108](http://www.reuters.com/article/idUSBRE9A703020131108)

<comment><USER2> Since this isn't getting much attention, you might as well delete it and submit the real link.</comment></comment>


Miami is drowning while the powers that be look away - <AUTHOR> http://www.theguardian.com/world/2014/jul/11/miami-drowning-climate-change-deniers-sea-levels-rising <comment><USER2> Living in South Florida is enlightening. It is a Latin American City. Locally, it is called the capitol of Latin America; you can catch flights to any Latin American countries from there, even when you can't get a flight between those countries.

I am a Florida native; in my life I've seen this state go from just under 4 million people to almost 20 million. Most of the people live on shored-up sandbars, filled-in swampland (me), and made land. Miami is a huge, economically vital sprawl that isn't going anywhere. I saw the devastation of Hurricane Andrew firsthand, and that didn't slow anything down. The landowners, shopkeepers, and powers-that-be aren't in denial; they understand just fine.

<comment><USER3> "Infrastructure buildout lags population growth" is a way less sexier story than "Miami will not exist soon because Republicans."

I too would bet that Miami isn't going anywhere because entrenched interests (that is, the city and its population) won't let it. My comment below neglected the insufficient infrastructure as a factor.

It's one thing for someone to say that "X phenomenon is going to occur." It's another to uproot your life based on that assertion.

</comment></comment><comment><USER4> I'm originally from Miami born and raised (Live in SF Now) and I have skin in the game, I own a house in Miami. However this piece is largely fluff and fear mongering, Miami has always flooded, The city of Sweet Water would be completely flooded every few months until they finally put in proper drainage after 20+ years of the same thing. The problem is poorly thought out city planning over the last 40 or so years, not a recent sea level rise.

<comment><USER5> A good part of Netherlands is below sea level. Just build dikes like the Dutch, and the problem is solved. But I guess the people in Miami would protest against those dikes, when their houses are no longer water front, but behind a dike.

<comment><USER6> Does the Netherlands get hurricanes?

<comment><USER7> We do. Maybe not that often, but it do happen.

There was one in October that made a lot of damage here [1], but also two days ago (albeit not hurricane) there was a storm that flooded large parts of Amsterdam [2] and killed on person. [3]

1: [http://www.cbsnews.com/news/hurricane-force-storm-batters- no...](http://www.cbsnews.com/news/hurricane-force-storm-batters-northern- europe/)

2: [http://www.at5.nl/artikelen/131015/honderden-meldingen- van-w...](http://www.at5.nl/artikelen/131015/honderden-meldingen-van- wateroverlast-door-noodweer)

3: [http://www.at5.nl/artikelen/131014/storm-eist-een- leven](http://www.at5.nl/artikelen/131014/storm-eist-een-leven)

</comment></comment></comment></comment><comment><USER8> Here in America, we always do the right thing... After exhausting all other options.

The sea level rise will take decades to play out. We know exactly how it will go: Conservatives will continue to deny climate change is happening, everyone will procrastinate, then worsening flooding will force action.

When the maps of the US must be redrawn to exclude the submerged land, only then will Conservatives begin to admit climate change is happening (while denying they ever denied it). This is as expected, because the current corporate masters will be dead and not required to pay any taxes to implement mitigation measures (aka the system works as designed)

<comment><USER9> If significant climate change is countered by programs endorsed by liberals, then conservatives will point to that success and say "Nothing happened because climate change wasn't real." If climate change and sea level rise do happen, even if their results are lessened, then conservatives will say "This was an act off nature; nothing could be done to prevent it. Liberals' attempts to stop it were a waste of money and just an excuse to raise taxes on rich people. All these bad things that are a result of climate change are actually the unintended results of the liberal's programs."

</comment></comment><comment><USER10> This seems like a tremendous failure of efficient markets at the moment.

The market has high confidence information that the value of land in Miami will diminish towards zero in the near future.

There should be brisk trade in derivatives betting against the 10-30 year land value in South Florida.

There should be massive downward pressure on land values.

Seems bizarre to me that this isn't happening.

<comment><USER11> Can we short real estate?

<comment><USER12> Basically yes. You can buy ETFs that are short real estate. You can short real estate ETFs that focus on various real estate specialties.

If you think the Florida real estate market will be destroyed, you can focus on local, public real estate companies and short them.

<comment><USER11> By what mechanism does the ETF go short on real estate? Stocks are fungible, so borrowing shares to sell them makes sense, but I just can't make sense of the mechanism for real estate.

<comment><USER13> The ETF could short REITs (Real estate investment trusts) that hold Miami property.

</comment></comment></comment></comment></comment><comment><USER14> My dad ran much of the planning for Broward County (one county north, home to fort lauderdale) until he retired a few weeks ago. There are a lot of dynamics at play in South Florida which make this very complicated and obviously an impending disaster.

The first is that while Broward County is progressive and has been proactively dealing with and planning for sea level rise, Miami Dade county has a very large Cuban voter base which tends to sway the politics more center if not altogether right. I always postulated that this is mostly a reaction to the communism that they immigrated away from however it is my opinion that the newer generations will slowly move more to the left (granted, this phenomena is probably larger than just SoFla's cuban population).

As the article mentions, most of South Florida is built on top of limestone (calcified reefs from a previous geological period). The water table is only a few feet below the surface hence there are at least two major reproccusions for sea level rise. In older neighborhoods (Hollywood, anything east of the Atlantic Coastal Ridge [what I95 is built on]), a high tide + rain typically stalls the drainage system with water flooding streets and homes.

A second major problem is that the Biscayne Aquifer, the water supply for the millions of people in South East Florida, is experiencing salt water intrusion due to higher sea levels. You can think of the aquifer as sort of a dome with its highest point farthest inland and as the sea level rises the dome is getting skinnier. Even while I was growing up, they were decommissioning water well fields because of the salt content starting with the most coastal and moving inland. Inland suburbs in Broward like Sunrise are then selling their water to the other municipalities for a killing but at some point even they will have issues as the aquifer becomes squeezed.

As far as development and the housing market, a big driver of change for the middle class housing market I _believe_ is going to be insurance. Wind storms and the accompanying flooding are eventually going to make living there more expensive and insurance policies less affordable.

Another issue will likely be tourism as it is largely tied to its environment. As the everglades experiences rapid salt water intrusion, the reefs continue to be bleached due acidification, and mangroves migrate inland slower than sea level, the productive estuaries might become less productive for popular sport fish and commercial species. Another major industry in South Florida is the boating industry which has tons of demand generated by fishing, scuba, and general ecotourism. As those generators are put in jeopardy, there will without a doubt be a ripple throughout the economy.

Lastly, county governments (which are the most substantial government players in South Florida) will begin to experience issues because their expensive properties closest to the water are the biggest contributors to the tax base. As those low lying areas are flooded more frequently, there is a very real possibility that the value of all the mansions lining the streets and canals drop.

My view of South Florida is rather bleak but even if Miami Dade and Broward manage to figure out sea level rise, I doubt the Florida Keys have much of a chance.

Time to figure out how to short real estate.

And Lebron left

<comment><USER15> You've got to wonder why global warming is dragged into this. The city cannot possibly hope to do anything about that, even if it wanted to.

Obviously the solution is dykes, and better water infrastructure.

Ironically I'm betting the environmentalists will oppose that.

<comment><USER16> I think what "environmentalists" are angry about is the logic of "climate change is not man made, therefore climate change is natural / gods will, therefore we won't do anything, _including_ dykes and infrastructure or like movin people.

<comment><USER15> Euhm, I would say it's the opposite. Environmentalists will oppose dykes and infrastructure, because they will remodel the natural environment around the coastline and make it artificial and managed by human interference (which is of course, the very point of having them, so it's absolutely non-negotiable, beyond carving out a few reserves maybe).

<comment><USER16> Ok - then _I 'm_ angry about dumb politicians taking no action because of dumb political opinions that are untested unverifiable or just plain dumb

Did I mention dumb?

:-)

</comment></comment></comment></comment></comment><comment><USER17> > Astonishingly, the population is growing, house prices are rising and > building goes on. The problem is the city is run by climate change deniers

Well then, let those who are foolish enough to disbelieve science then just drown. The government is supposed to protect people, sometimes even from themselves... but this stupidity people are showing is beyond believable.

To those wanting to flee: sell your property to denialists, move off somewhere safe and laugh your behinds off when you see the denialists realizing that not even God can help them any more.

<comment><USER18> Figure out who underwrites flood insurance and see if you still feel the same.

</comment></comment><comment><USER19> The federal flood insurance plan carries some of the blame by disincentivizing responsible construction. [http://en.wikipedia.org/wiki/National_Flood_Insurance_Progra...](http://en.wikipedia.org/wiki/National_Flood_Insurance_Program)

</comment><comment><USER20> Interesting read, but I am not sure how it will all play out.

If the rise in sea level is gradual, then I think there could be decent solutions.

If it happens fast, like in a 3-5 year span, then it will get ugly, housing prices will crash and people will leave.

Crazy, I hope we get more progressive politicians in South Florida to help mitigate the damage.

And this isn't just for Miami, this is for most of Florida from the Treasure Coast all the way down to the Keys, and including the Gulf Coast (Fort Myers, Naples, Tampa).

There could be 7-10 million people affected.

</comment><comment><USER16> Fascinating - much quicker than I supposed.

For me there are three lessons - one humans still love cities for good reasons and will keep to them if possible. Two most major cities are coastal (fucked) or river (property close to the river is fucked the rest is salvageable) and three remote working and water rises will deal a double whammy to traditional commutes and workin practises, spreading city life to some combination of suburban and city

In short, I think i will buy land in Toronto and Greenland

</comment><comment><USER21> It reminds me of the "boiling frog" \- if you turn the heat up slowly (i.e. climate change) the frog won't react.

<comment><USER22> Except even frogs aren't that stupid and get out.

</comment></comment><comment><USER23> It's much easier to believe abstractly or understand the problem from afar.

In Australia we have a lot of advertising to highlight the dangers of disasters to try and counter this psychological phenomena.

I expect people will continue to try and work around the symptoms of global warming long before they start to work towards a real viable solution.

</comment><comment><USER24> Fullstack javascript/html/css dev looking to get out of Miami, lol. HELP!

</comment><comment><USER25> So this is why LeBron left....

<comment><USER26> Bazinga? The picture of the street with water in it was actually from tears of fans.</comment></comment>


How To Build A Blog Readership - <AUTHOR> http://danshipper.com/how-to-build-a-blog-readership#

<comment><USER2> "Some people are genuinely uninterested in writing things that people want to read – as an example try reading some Hegel."

I squirted my coffee on this one. He _does_ practice what he preaches, i.e. has a unique and memorable voice.

My take is: good writing and unique voice is a necessary but not sufficient condition for a successful blog. Without these, you won't get much readership other than Google directs (maybe). But no amount of cool writing will get your Advanced Algorithms blog read if it doesn't have useful and interesting informational nuggets.

The problem, as I see it, that a lot of people face trying to write a technical blog is how to divide up what they're explaining into digestible chunks (size dependent on audience, Terence Tao's blog chunk size will be different than your high school math blog's) and present them intermingled with good language. In effect, the language (unique voice, anecdotes, etc.) is the carrier and the chunks is the information and the audience dictates the channel capacity.

</comment><comment><USER3> Blogging isn't the only way to write and publish the content.

The way I do it is to write 500 words a day on some random subjects for no reason other than it's "interesting" on published it on a single page called Notes and Thought. Then I continuously work the various areas of that pages, adding new paragraph, fixing grammar mistakes, and so on. Eventually, one of the section in my page will grow into a essay. When an essay is spun off, I also work on the essay to make sure it's complete-sounding and all polished up. However, they are never actually finished or frozen in time, and they will be continuously updated for the rest of their lifespan. Notes and Thoughts also linked any spun off essay with the original section and an abstract describing the content of the new essay.

Blog posts are temporal in nature, and they never get updated continuously. So a hundred year from now, the blog post will say the same thing, still feel amateurish, and also horrifically outdated.

If you want to know what I am working on: <http://kibabase.com/articles/notes- and-thoughts>

Blogging is more like a conversation that's very time specific. While mine is more like a book or an encyclopedia of my mind.

<comment><AUTHOR> Interesting idea. I think writing 500 words a day is great. To me this looks like something that is more meant for you, than for your readers. If that's the case that's completely fine - at least for me part of the nice thing about blogging is it helps me to refine my thoughts. This also looks like a great way to just get better at the craft of writing. But if you really want to be read, you'll probably at least need a slightly different format than this one.

If that's not the goal though, then I really like your idea in making this.

<comment><USER3> _If that's the case that's completely fine - at least for me part of the nice thing about blogging is it helps me to refine my thoughts._

Only to a point. People don't edit their blog post a year after they posted. They are mostly meant to be read today.

 _This also looks like a great way to just get better at the craft of writing. But if you really want to be read, you'll probably at least need a slightly different format than this one._

Notes and Thoughts aren't meant to be read, but it's meant to turn out essays that will be read. Those essays are linked from Notes and Thought and the front page.

</comment></comment></comment><comment><USER4> Blogging + RSS is interesting. Blogging - RSS isn't as much, because you need to get people to come back over and over again. And there isn't a lot of consumer adoption for RSS. "Publishing" isn't enough any more because it assumes that distribution is built in, when it just isn't.

I made my blog -- <http://nowiknow.com> \-- into an email newsletter for this very reason. Two+ years in I'm at 80,000 subscribers. It's doable.

<comment><AUTHOR> I'm actually a subscriber! How did you get readers? Just by word of mouth?

And do you think it can be as successful if you only send the email once every two weeks or so? Or does it have to be an every day thing?

<comment><USER4> Has to be an every day thing.

New readers.. it's a mixed bag. Word of mouth, content shares, cross-promos, etc.

(And thanks for reading!)

<comment><AUTHOR> Thanks for writing! Sorry to keep asking questions, but why does it have to be any every day thing?

At least for me, the quality of the content goes down significantly if I have to do it any more than once every couple of weeks. Really impressed that you're able to keep it up :)

</comment></comment></comment></comment><comment><USER5> I had a thought related to this earlier today. What if I wrote for myself one year ago? Meaning, what if I considered the questions I had a year ago and articulated the answer back to myself at that point in time?

A friend shared a great bit wisdom a few months back: _there will always be someone who is one step in front of you and one step behind you._

Since I look to writing to help others, what if I write for that person who is one step behind (i.e. myself one year ago)?

<comment><AUTHOR> A lot of my most popular blog posts are ones that I've written to address questions that I had as a younger version of myself but that I've since answered with experience/introdpection. This is definitely a viable technique.

</comment></comment><comment><USER6> Great advice. I think your first point is spot-on: _Don't Blog... It's really, really hard to do well in a consistent fashion._

But that should be followed by: "Guest Blog" (or something similar). Your energy and creativity can still be appreciated by a captive audience in someone else's venue. You can get many of the benefits of blogging without the need for (daily / weekly / whatever) commitments... and make friends or build reputation in the process.

As an example, I run a popular robotics blog myself [1]. Yet, I've also contributed guest articles for IEEE Spectrum [2], which can have some cool side benefits... like op-ed style pieces in academic publications [3].

[1] <http://www.hizook.com/>

[2] [http://spectrum.ieee.org/automaton/robotics/robotics- hardwar...](http://spectrum.ieee.org/automaton/robotics/robotics- hardware/robotics-trends-for-2012)

[3] [http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6...](http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6174340)

</comment><comment><USER7> One of the best points in the whole post, I think this point should have been front-and-center: blogging isn't for everyone. Well that, and 'why are you writing'? My wife writes and publishes content, for example, because she loves designs and sharing it with the world though it's mostly all written from her perspective. I write because I don't want to forget something; one of the best ways to learn/remember is to teach ... thus I (attempt to) teach.

I believe there is something missing from the post though, maybe I missed it though: people shouldn't expect to become instant blog millionaires by writing a few posts here and there about just anything. Consistency (in voice and sometimes in topic) plus a schedule really do make this all work. Except just like the rabbit and the turtle: this is a race best won slowly.

</comment><comment><USER8> I've started blogging about the mobile startup space with the idea of hopefully developing a legitimate news resource. Feature stories of my own volition are one thing but "What to write about on a daily basis that hasn't already been covered exhaustively in TC, Mashable etc?" is the question that pops up in my mind most often. I'm still working on the editorial balance between the two. The last thing I want to do is piggyback off of other, more successful blogs.

</comment><comment><USER9> Great post Dan. Wonderful to see the evolution of you, your writing and the blog.

Keep it up!

<comment><AUTHOR> Thanks! Really happy you've enjoyed it :)

</comment></comment><comment><USER10> I think I will be taking your advice to heart, Dan.

>Don't blog.

Every time I see a post like this I feel horrible about not blogging, but it's nice to hear that... I really don't think I'm cut out for it.

</comment><comment><USER11> Just wondering, but how do you like being on Posterous, as opposed to any other platforms you may have used?

I started with Wordpress and plan on sticking with it. But I've since made a tumblr for my photos and NYC-related tidbits...and find it much easier to blog on a whim on Tumblr than on Wordpress, despite the excellence of the latter platform. It's kind of amazing to me how the simplicity and constrictiveness of a platform, such as Tumblr (and Twitter, for that matter), makes it more inviting to consistently participate in. And I'd say consistent publishing -- especially in the face of apathy or silence -- is a huge part of building readership.

<comment><AUTHOR> Honestly, it's awful. I used to really like it back in the early days. But since they got acquired (and even before when they started to concentrate on Spaces) it really started to go down hill. I need to switch to Wordpress soon, but I honestly just haven't had the time.

"And I'd say consistent publishing -- especially in the face of apathy or silence -- is a huge part of building readership." That's absolutely right in my experience.

<comment><USER12> Definite "+1" ... or maybe "+100"... to _consistency_. That is the key. Look at anyone who you consider a "successful" blogger and I think what you will find is that the key point is that they keep showing up with new posts. And doing so on a regular basis (which for some is daily, some weekly, but most at least a couple of times a week).

<comment><USER13> > And doing so on a regular basis

Ever wonder why some blogs post n times a day?

"My job was to write twelve posts a day about 'media gossip,' which meant anything unpleasant or otherwise intriguing about anyone who had power in any Manhattan culture industry. There had to be enough posts so that whoever was sitting at my old desk at the publishing house, and everyone in Manhattan like her, could read something new when boredom struck."

Excerpt from book by Emily Gould, ex-Gawker, infamous blogger

</comment></comment></comment></comment><comment><USER14> Dear Dan Shipper, I despise your blog.

<comment><AUTHOR> Honestly sorry you feel that way. But I guess it's not for everyone. Thanks for the feedback!</comment></comment>


GREETINGS FROM PLANET FACEBOOK - <AUTHOR> http://www.theverge.com/2014/3/25/5547946/welcome-to-planet-facebook

<comment><USER2> Fun post, but why the caps?</comment>


The Dangers of Building on the Facebook Platform - <AUTHOR> http://www.insidefacebook.com/2007/07/15/the-dangers-of-building-on-the-facebook-platform Everybody with a website knows that Google owns two of their most important marketing channels: organic search (SEO) and paid search (SEM). <comment><USER2> There's always a danger when building on top of a platform that's not designed as an "infrastructure" service. Even public utilities like power & water aren't 100% reliable.

When you pick a platform to reach your customers, know there will be failures and set reasonable expectations about service. Sometimes you can compensate for outages and other platform problems, sometimes you can't.

That's where good customer service comes in. :)

-Matt</comment>


Every Public Engineering Career Ladder - <AUTHOR> https://www.swyx.io/writing/career-ladders/ <comment><USER2> People who work at these places - how rigidly are these things stuck to? Because I've worked in places with very detailed job ladders only to see them basically ignored and replaced with gut feelings and popularity contests. Job ladder is a nice bit of PR but it's better as a cornerstone of culture.

<comment><USER3> Couple thoughts...

1\. Not every case but often the things that makes a person "popular" are also actually really adding value for the team: Happy, optimistic attitude, helpfulness, attentiveness, good listener, good mentor. Promotions are given to a whole person not just for their coding contributions.

2\. Everybody is on a unique path and as a manager I would never expect anybody to follow a develoment path exactly as laid out on a career ladder. (See: the map is not the territory)

3\. Managers giving promotions are more likely to be biased by their own feelings (often: appreciation), but in many cases beyond a certain level a promotion requires a committee approval where a ladder is probably applied more objectively (who knows if this adds value or not!)

<comment><USER2> Good points! I'm also a manager and recognize more than a bit of myself in your answers. I wasn't passing blame on my past employers. As a reasonably senior engineering leader I was part of the machine.

In response to your points:

1\. Definitely. But shouldn't your job ladder also cover those things? I don't want to promote anyone up to a high level if they can't mentor others, for example.

2\. Definitely. Shouldn't a decent job ladder allow people to excel in certain areas while maintaining some sort of minimum acceptable level in others?

3\. Definitely. But that's the problem I've experienced. A lack of a committee means that it's basically a matter of running it up the ladder and then your ability to be promoted hinges on your manager's ability to work the system.

</comment></comment></comment><comment><AUTHOR> I thought this one is particularly interesting:

[http://www.starling-software.com/employment/programmer- compe...](http://www.starling-software.com/employment/programmer-competency- matrix.html)

> Uses Big O notation to denote levels, which is a fun shibboleth. Skills are > broken out to Computer Science, Software Engineering, Programming, > Experience, and Knowledge. This one has a long record on Hacker News but is > a good map of things that we can work on.

</comment><comment><USER4> I checked out the Fog Creek description, and found this:

Penalty:

Low level / highly repetitive tasks (rote tech support, manual black box testing) are collapsed into one year. (You don't have three years of experience, you have the same year experience three times over).

I'm sorry, but this is just such a generalization that it should be stricken. Yes - I understand that this is his view, but especially the last line can be off-the-charts wrong.

I've worked with people doing this kind of work, and the competency is all over the spectrum. Even at those low levels, you have people that become good / intimate enough with the systems, that they can advance to more technical positions. It COMPLETELY depends on how motivated one is - some "rock star" tech supports and testers actually take the time to read technical documents, review code, analyze the systems, etc. While others will do the absolute minimum.

EDIT: Also, not considering non-professional experience as experience is highly individual / something you need to look at one a case-b-case basis. If some dev. with xx years of daily open-source (or similar) applies, you absolutely should take a look at his work.

One anecdote: One of the best software engineers I personally know had a huge problem breaking into the industry, for years. He had no formal education, or professional SE experience, but spent all his spare time working on his own projects, or doing open-source projects.

When some big-name software company finally took a chance on him, he practically flew through the ranks - because he had a solid 20 years of "experience", compared to his colleagues - most fresh grads, or even managers.

</comment><comment><USER5> Square: [https://developer.squareup.com/blog/squares-growth- framework...](https://developer.squareup.com/blog/squares-growth-framework- for-engineers-and-engineering-managers/)

[https://docs.google.com/spreadsheets/d/12h50IYqd7fsO7tJ0l1Ou...](https://docs.google.com/spreadsheets/d/12h50IYqd7fsO7tJ0l1OuHYbz5vN2d24a8EIDFhu2AZQ/edit#gid=2035430096)

Noticed you linked the blogpost but may have missed that it also includes a spreadsheet.

</comment><comment><USER6> For comparing career ladders also check out Levels.fyi (I'm a co-founder). We put together a 'Standard' track that succinctly lists the roles / responsibilities for each level and can be seen here: [https://www.levels.fyi/?compare=Standard,Google,Facebook,Mic...](https://www.levels.fyi/?compare=Standard,Google,Facebook,Microsoft&track=Software%20Engineer)

<comment><AUTHOR> Will you open this up to include other roles besides SDEs? Like AWS/Azure/GCP technical sales / SA / cloud engineer roles? Or even tech support roles?

<comment><USER6> Yes, we've been adding more roles in the last few weeks. Sales is on the list. For more questions / suggestions reach out to hello <at> levels <dot> fyi. (I don't want to detract from the main thread)</comment></comment></comment>


Debian Squeeze is being released right now - <AUTHOR> http://twitter.com/#!/debian/statuses/33824790200459264 <comment><USER2> Take my pants off? Why would I be wearing them in the first place..It's a release right?

<comment><AUTHOR> Apparently there will be parties all over the world after: <http://wiki.debian.org/ReleasePartySqueeze>

Pants optional? :)</comment></comment>


Folding Paper Globes - <AUTHOR> https://mapscaping.com/pages/folding-paper-globes <comment><USER2> One of the most interesting thing with paper globes is that the object becomes very familiar with kids.

They understand it's inexpensive, won't shatter if they drop it so don't fear touching or moving it around, playing with it. They can participate in making, so it becomes more personal. And as there's no stand, it's easy to mess with the orientation. "upside-down" becomes arbitrary, even with text on it, you can discuss inclination, or how it can be seen from completely different perspectives.

It's a very nice object to have around.

</comment><comment><USER3> I used to make these with a Photoshop plugin called Flexify and high-res imagery available from NASA. I'm surprised that it's still around, and not particularly expensive: [http://www.flamingpear.com/flexify-2.html](http://www.flamingpear.com/flexify-2.html)

<comment><USER4> I wrote Flexify. It's got tons of weird paper-model possibilities like sphericons and curved-fold origami. The whole list is here: [http://www.flamingpear.com/flexify-output- modes.html](http://www.flamingpear.com/flexify-output-modes.html)

<comment><USER3> It's great! I e-mailed you asking about a standalone version. All of your plug-ins are pretty cool. As a kid it was fun to play with them, especially LunarCell and Glitterato, and get results that far exceeded my own artistic abilities. You were really ahead of the curve on procedural generation.

You also once sent me the source code for Despair when I asked about updating it for then-modern systems, but I had no idea anything about C back then.

</comment></comment></comment><comment><USER5> No example photos of the completed globes?

Edit: found some examples on their blog: [https://mapscaping.com/blogs/geo- candy/diy-folding-paper-glo...](https://mapscaping.com/blogs/geo-candy/diy- folding-paper-globe)

<comment><USER6> What kind of shape does the second-to-last one make?

<comment><USER7> A spike ball: [http://www.flamingpear.com/gallery65.html](http://www.flamingpear.com/gallery65.html)

</comment></comment></comment><comment><USER8> The cubic earth made me laugh; I'm currently making a planetary terrain generator which uses a normalised cube to generate spherical terrain, so this was particularly close to home :)

</comment><comment><USER9> The dymaxion projection works well for this too

<comment><USER10> And the Waterman Butterfly

[https://xkcd.com/977/](https://xkcd.com/977/)

<comment><USER11> Is there any code or published algorithm out there to transform a map into either of these?

<comment><USER7> D3 does this amazingly well: [https://github.com/d3/d3-geo- projection/blob/master/README.m...](https://github.com/d3/d3-geo- projection/blob/master/README.md#geoPolyhedralWaterman)

</comment></comment></comment></comment><comment><USER12> Am I the only one that would love to have an eInk globe that I can project arbitrary stuff on?

<comment><USER13> It's not eInk but a spherical screen already exists: [https://pufferfishdisplays.com/solution/puffersphere/](https://pufferfishdisplays.com/solution/puffersphere/)

<comment><USER14> [https://vimeo.com/212582845](https://vimeo.com/212582845) \- a skippable version of their video. It's all animated, no real world footage.

Lots and lots of "real" videos of this display are marketing CGI renders, but here's the one from the actual trade show - [https://www.youtube.com/watch?v=tGPvfHI- yCE](https://www.youtube.com/watch?v=tGPvfHI-yCE)

<comment><USER15> My university had one in the science building and I played with it a bit. It was able to view various visualizations of data covering the globe (temperature I think might've been one, but I'm near positive weather was also available). They also had imagery of other planets loaded up, so you could spin Mars around to look at different spots.

It's not a very bright display; it is just a projector after all. That video plays pretty well to its strengths in a darker trade show, but in a bright atrium it's much harder to use. It's a little hard to describe, but the "viewing angle" isn't fantastic either. The surface is harder to see than I expected as it gets closer to being perpendicular to your eyes (yeah, obviously, but it seems to lose contrast/brightness or something).

</comment></comment></comment></comment><comment><USER16> Cool, just a little heads up that the print saying "Copyright © MapScaping.com -all rights reserrved - not for sale" contains a spelling error.

Unless you are a pirate, sailing the foldable paper globes, reserved is spelled with 1 r :-)

</comment><comment><USER17> This reminded me of another paper globe project, Le Paper Globe: [http://joachimesque.com/globe/](http://joachimesque.com/globe/)

</comment><comment><USER18> For other planets/moons, there's also [1].

[1] Planetary Icosahedrons [http://solarviews.com/eng/ico.htm](http://solarviews.com/eng/ico.htm)</comment>


Western Digital admits 2TB-6TB WD Red NAS drives use shingled magnetic recording - <AUTHOR> https://blocksandfiles.com/2020/04/14/wd-red-nas-drives-shingled-magnetic-recording/ <comment><USER3> > "In a typical small business/home NAS environment, workloads tend to be > bursty in nature, leaving sufficient idle time for garbage collection and > other maintenance operations."

Only up until the array needs to be rebuilt (eg replacing a drive). At which point the workload is the literal opposite of "bursty with idle time". :(

<comment><USER4> Rebuilding is not random i/o though, it goes sequentially and that's what SMRs are good at.

Still, I did recently reshape from 4x6TB raid5 to 5x6TB raid6. The new drive was SMR WD Red, it took 12 days and I was quite pissed when I found out the SMR bit. It wasn't in the datasheet, if I knew upfront, I would never bought it.

<comment><USER5> >> I knew upfront, I would never bought it.

SMR has a terrible rep for a reason, and no one with any knowlege of what SMR is would buy which is why they have to be unethical by removing this spec from the spec sheets

SMR is cheaper for them to manufacture, and is TERRIBLE technology that really has very little actual use case, except Archive storage. The manufacturers want to push SMR for more than that because it is more profitable for them

<comment><USER6> > SMR is cheaper for them to manufacture, and is TERRIBLE technology

It's not that terrible if the customer knows what they're getting. It's just that SMR competes with tape more so than with conventional (CMR) hard drives. Many workloads are good enough for SMR.

<comment><USER5> >>Many workloads are good enough for SMR.

One workload is, which is what you said.. Archiving, what one would normally do to Tape.

Everything else is is substandard and should not be used

<comment><USER7> But what if you need random reads?

SMR sounds like it's great (value) at providing random read access to large amounts of data if you only have sequential writes or infrequent writes.

<comment><USER8> Serious question: so basically wikipedia is the only use case?

<comment><USER9> Time series historian or some siem logging or similar journaling seem applicable to me. Maybe continuous loop video recording.

<comment><USER8> Ah video makes sense. Thanks.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> That's a problem. I have been using and recommending WD to everyone who asks me what drive they should buy (based on backblaze data and 20 years of personal experience) for their private and everyday usage. Even though these are NAS drives it tarnishes the brand.

<comment> GuB-42 I have stopped caring about hard drive brands.

What Backblaze and experience show is how drives of a certain brand performed a couple of years ago, not how the drive you just bought will perform.

IBM used to be very good until Deathstars, and now HGST, who took over is among the most reliable. I used to be very satisfied with Seagate, then ST3000DM001 happened, and now, it looks like they are slowly getting back on track. Maybe it is WD turn right now. I don't think there is a way to know until it is too late.

Personally, I like to make RAID mirrors with drives of different brands, or at least different models. Even it it is not ideal for performance, it helps making sure that not all drives fail at the same time.

<comment><USER11> IBM had one batch of bad drives and a second batch of somewhat iffy drives after many years with an excellent record and suddenly nobody ever trusts them again. Meanwhile Maxtor put out crap drives year after year and nobody seemed to mind. It was a very weird situation.

FWIW however I bought some HGSTs a couple of years ago that are by far the loudest drives I've ever used. They've been reliable thus far, but the noise level is so bad that I had to move them away from where the people are working.

<comment><USER12> Thinking of Maxtor gives me warm fuzzy feelings. That 20gb disk felt like it could store the world.

<comment><USER13> I had one of the first double-height 70 MB drives when it came out.

It literally could hold all of the popular software of the time, around 50 applications.

I also had one of the first CD-ROM drives at work (the Japanese director had connections at Sony.)

We were like, "How can anybody possibly ever fill 650 MB of data storage?"

We ended up mastering our own satellite data CD-ROMs to demonstrate to people what was possible.

<comment><USER14> Meanwhile NTSC is sitting over there needing around a megabyte per second to store.

Pictures and movies have always been the easy answer for how it's possible to fill up huge amounts of storage.

<comment><USER15> But user behavior data is a much bigger fraction of total storage use than video.

<comment><USER16> Source?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Trust is a bitch - so hard to gain it, and very very easy to lose by doing shit like this. I was buying WD/HGST drives for work. Now, I have to test everything I buy before deploying them dammit.

<comment><USER18> We are in the same boat.

</comment></comment><comment><USER19> It seems pretty calculated to reduce costs while deceiving the buyer by omitting or having an incorrect spec sheet.

Would a class action suit help to prevent this kind of action in the future? Perhaps the punitive fine will make the cost calculations that led to this decision different since they will need to include the risk of judgement in the costs.

<comment><USER20> I would imagine not. The class action would settle, most consumers would get a trivial sum in the form of a check, and the litigating firm would get a large payout. The settlement would result in no one taking responsibility for anything.

<comment><USER19> I was thinking in terms of being punitive. Litigation firm gets a lot. Buyers get a $4 check, WD pays $35M or something.

</comment></comment></comment><comment><USER21> So is the independent product review industry so broken that nobody spotted this in testing?

<comment><USER22> Yes, you will notice this, even if you do a simple write test with only big writes at full speed. After a while (about 2h in our tests) these drives become "tired". You need to leave them be for a few hours and then they are fine again. An added problem is that the usual candidate file systems (ext4, xfs,...) do not combine well with SMR.

Some people might be able to put these drives to good use, but only if they know up front that it's this kind of drive they are getting.

<comment><USER23> I've observed exactly this behaviour on TB volumes on AWS instances, is it known if they use this sort of drive?

<comment><USER24> Check I/O Credits and Burst Performance at [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs- volu...](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume- types.html)

</comment></comment></comment></comment><comment><USER25> "The Synology forum poster said he called WD support to ask if the drive was an SMR or conventionally recorded drive..... the higher team contacted me back and informed me that the information I requested about whether or not the WD60EFAX was a SMR or PMR would not be provided to me. They said that information is not disclosed to consumers"

<comment><USER26> I don't know or care about shingled, thatch, whatever, but I am not going to entrust my irreplaceable data to a vendor that refuses to tell me or anyone else what they are selling.

</comment></comment><comment><USER27> My understanding is that the SMR drives are like SSD to a degree that they needs rather intelligent firmware to place the information on the disk.

At the moment everything is sitting behind the bogo SATA disk interface which was never designed for this type of storage - rapid burst writes to the 20GB onboard buffer area and than very slow I/O as it is emptied out.

Surely a native OS interface would be better for these drives.

<comment><USER28> It's worse than that. SMR drives can't do random writes without rewriting large sections. So they are entirely unsuitable for general purpose workloads.

<comment><USER29> Weren't journalling filesystems supposed to help with bad random write performance?

<comment><USER30> File system journaling typically refers to a log that helps ensure filesystem consistency by recording attempted operations before they happen, but the system still has to do all the same random writes to the disk afterwards.

Some file systems (notably ZFS and Btrfs) use a copy-on-write approach that should in theory not require many random writes, but I don't think any of them are adapted for the large blocks you need to write to for SMR. (256MB?)

It should be possible to make a filesystem with drastically better performance on SMR drives given the right low-level access, probably based on something more like a log-structured merge-tree, like e.g. LevelDB.

One interesting example I found was Dropbox which seems to store data on SMR in big immutable chunks using raw Zoned Block Command access. [https://dropbox.tech/infrastructure/smr-what-we-learned- in-o...](https://dropbox.tech/infrastructure/smr-what-we-learned-in-our-first- year)

<comment><USER31> > It should be possible to make a filesystem with drastically better > performance on SMR drives given the right low-level access, probably based > on something more like a log-structured merge-tree, like e.g. LevelDB.

The filesystem would need to do periodic compaction. You would necessarily encounter situations where a write to "allocated" data would fail because the disk is out of space, which is a new, surprising error that would undoubtedly confuse some user-space programs.

<comment><USER29> You could go around that error by claiming a lower capacity.

All file systems take up a bit of space to store their own metadata etc. So users are already used to 'lose' a bit of space on formatting.

<comment><USER31> That wouldn't fix it. As long as programs can write faster than the compaction algorithm frees space, you can run out of space.

The only solutions I see here are to block IO until the compaction algorithm frees space, or return ENOSPC. Both options violate assumptions that real- world programs make.

</comment></comment></comment></comment></comment></comment></comment><comment><USER32> The Toshiba and Seagate NAS lines seem well organized and better alternatives these days. And I guess this is all the more reason to get one drive per manufacturer for the typical ~4 drives in a home NAS. Between Seagate/Toshiba/WD/HGST there should be enough variation to still protect against this stuff.

<comment><USER33> Seagate drives are notoriously poor quality, in addition to well published, large sample and long running studies by Backblaze - I ran a number of decent sized storage clusters for many years and by far found Seagate drives the most unreliable (including Seagate a rebranded as HPE etc...)

\- [https://www.backblaze.com/blog/hard-drive- stats-q2-2019/](https://www.backblaze.com/blog/hard-drive-stats-q2-2019/)

\- [https://blocksandfiles.com/2020/02/13/seagate-12tb-drive- fai...](https://blocksandfiles.com/2020/02/13/seagate-12tb-drive-failure-rate- backblaze/)

<comment><USER34> Oh my god. This isn't true. There was one type of seagate drives that had a reliability issue and backblaze happened to have a bunch of them.

Do you realize how many different models there are, customized for different workloads? Do you realize how many different sets of firmware there are?

It's like saying Honda has shit cars because one model year had a problem.

<comment><USER35> I've been selling and doing DR on HDD for 20 years now, and frankly speaking, Seagate drives reliability isn't the best.

Numerous new technologies led to severe issues like : 5400.6/7200.4 platter dust issues killing heads the more they heat, the infamous LBA 0 fw issue on desktop drives, motor bearing seizure on 7200.10/12, lots of bad batchs on 7200.14 ST DM001/002/003, more than WD or even Hitachi. On SAS drives, the Cheetah 15K.x are not very reliable (replaced LOTS of ST3600057SS), but the Fujitsu and Hitachi are not very either.

Toshiba drives are not great either. The 2.5" MK series had an important return rate, more than the competitors. The MQ01ABD is better, but faces platters demagnetization that leads to bad sectors. The 3.5" ACA drives are a Hitachi prod line that was "given" to Toshiba when WD acquired HGST. They are quite basically Hitachi drives with a Toshiba firmware.

Edit : and now DR on Seagate drives like the Rosewood family (like the ST1000LM035) is the absolute worst nighmare for any data recovery guy. Ultra brittle head stack, easy platter damage when shocked, self encrypted firmware and SMR. If those disks makes some motor noise or head clicking, we don't even bother to open them anymore.

<comment><USER36> What would you buy for your own NAS? :-)

<comment><USER35> A mixed set of PMR drives ready for 24/24 usage. And f*cking reliable, frequent backups.

Customers here often mistake redondancy for backups. Had to save a 8 years- work worth excel file on a failed Kingston USB key today.

<comment><USER36> Okay, thanks.

</comment></comment></comment></comment></comment></comment></comment><comment><USER37> From WD comment: "Currently, Western Digital's WD Red 2TB-6TB drives are device-managed SMR (DMSMR). WD Red 8TB-14TB drives are CMR-based."

This does not make sense - why smaller disks are SMR, while larger ones are CMR? Perhaps they just switched that in comment?

<comment><USER38> Maybe they refreshed their 2-6TB line recently and not the 8-14TB and it'll come later?

Maybe the market for 8-14TB is different enough that it warrants CMS? For instance maybe the 2-6TB is for hobbyists/small companies who might not realize the drives behave differently while the larger and more expensive drives are more often use in large companies with dedicated IT who would realize something is off?

Given that TFA mainly mentions 2-6TB several times I doubt they got it wrong.

<comment><USER39> maybe the testing showed that the 8-14 would fail in rebuild but the 2-6 where small enough that would pass.

or that the 8-14 where used in "serious business" where you could not fake your way around and the smaller ones for consumers or smaller firms would not notice or could not cause bigger harm.

</comment></comment></comment><comment><USER40> For all the "can't trust HGST because its owned by WD" comments: I don't think this is the case, as HGST is still selling drives that are explicitly declared to be PMR is the datasheets, e.g. here's the HGST Ultrastar DC520 [0] which includes PMR as one of its selling points.

[0]: [https://documents.westerndigital.com/content/dam/doc- library...](https://documents.westerndigital.com/content/dam/doc- library/en_us/assets/public/western-digital/product/data-center- drives/ultrastar-dc-hc500-series/data-sheet-ultrastar-dc-hc520.pdf)

<comment><USER41> Eh I still wouldn't want to give money to a company that's segmented itself into a "lie to the customer" branch and a "don't lie to the customer" branch. The former will poison the latter eventually.

</comment></comment><comment><USER42> I would think that one would typically expect __NAS __drives in particular not to use SMR, especially since SMR is known to be problematic in RAID setups, etc. Not to mention the write performance issues.

It's so frustrating that all that was needed to avoid most of this was some transparency. At least list in the specs that they have SMR. It's essentially lying by omission.

But I'd probably go a step further and say that marketing an SMR drive as a NAS drive is user-hostile and destined to cause problems

<comment><USER43> Agreed. I will add that the general trend seems to assume that user is a functional idiot and keep actual specs either hidden away or difficult to get to. It is hard to make informed decisions in such environment.

</comment></comment><comment><USER44> The fact that WD is refusing to tell customers basic facts about their products even when called is a huge red flag. There is no legitimate reason to refuse to tell customers about whether or not you're using SMR on a given drive.

</comment><comment><USER45> A funny thing about device managed HMR (DMSMR) is that they extensively rely on error correction codes to recover data from overwritten tracks, and loose near all of SMR density gain to extra coding.

Why DMSMR became a thing in the first place? Windows! And non-upgradeable proprietary storage array hardware.

It seems that business people in those storage companies have put big money into SMR, but only realised that an extremely big chunk of the market cannot adopt SMR after drives shipped. And so they simply slapped a cheap and easy firmware hack on top of SMR drives to make them work with non-SMR aware software.

<comment><USER46> Where can one buy SMR drives that the host can at least reliably coerce into not using their cache/staging area? It should be quite feasible to tune/adapt btrfs to exhibit writing patterns that don't make the drive use it's staging area, but it'd still be compatible because the drive would start to make use of that staging area when needed. Some way to overwrite the superblocks without triggering SMR problems or something like that would be nice, but that's of lower importance to me, at least.

Just supporting TRIM and exposing/documenting the SMR layout/regions would be enough, I think. I'd like to buy that.

<comment><USER47> There exist "host-managed SMR" drives. In the SCSI/SAS specifications, these use the "Zoned Block Devices" command set, rather than the SCSI Block Commands (SBC) command set.

As far as I can tell it's seemingly impossible for an individual to buy host- managed SMR (ZBC) drives. Presumably they're only sold in bulk to datacentres. Maybe that could change if some demand materialised and was communicated to a suitable retailer...

<comment><USER45> Yes, I found no reliable supply of WD Ultrastars. Just popping up on alibaba from small wholesalers from time to time in small lots.

</comment></comment></comment></comment><comment><USER48> What exactly do companies gain by such deceptive obfuscation and secrecy of the details about the products they sell? Especially when some testing can reveal the truth easily. It seems to be a bit of an industry trend in general, since very old HDD datasheets would specify even things like how many tracks per inch the platters have, how many heads, sectors per track, spindle motor spin-up time, etc. Somewhat recently, the WD Greens famously did not specify their rotational speed.

As I alluded to above, HDDs aren't the only things affected by this trend; SSDs, or more precisely NAND flash manufacturers, have become equally secretive about endurance and data retention. Older datasheets were freely available and specified the number of cycles each block could be guaranteed to be rewritten and how long the data would stay, but datasheets for newer flash are basically all NDA-only and even then you won't get the exact details. At least in that case, I suspect they are trying to hide the inconvenient truth of decreasing reliability; software workarounds can only go so far.

<comment><USER49> "There are three ways to make a living in this business: be first, be smarter, or cheat." -Margin Call

It feels like the first two are increasingly taken, so businesses are lazily switching to various versions of #3. I don't know where the regulators and punishment for doing that have gone.

</comment></comment><comment> Paul-ish The FTC should get involved if WD refuses to remedy. To falsely label your products can't be legal. That or class action.

</comment><comment><USER50> I don't understand enough of the technical details in the article - <USER2> someone please explain what this means in practice?

I use WD Reds in my Synology NAS in a SHR configuration for daily backups. Should I be worried? Should I replace the disks with other models? What are the risks if I keep the current configuration?

<comment><USER51> Essentially they're selling disks as "raid compatible". This implies the disk will perform well under constant pressure: resilvering a raid disk of these sizes can easily take several days.

However, they have cut corners / optimized costs that assumes the drive is _not_ under constant pressure, but rather mostly idle. What this implies is that they likely just have a hybrid magnetic/ssd backend, which is what the outrage is about.

<comment><USER52> > What this implies is that they likely just have a hybrid magnetic/ssd > backend

No need for hybrids. DM-SMR drives usually have a non-SMR zone acting as a write buffer, similar to the SLC write buffers in non-SLC SSDs.

<comment><USER31> Well, you're right, but technically that makes it "hybrid SMR".

</comment></comment></comment></comment><comment><USER53> Wow, why would they risk their brand like that. Seems silly.

<comment><USER19> Isn't the hard drive space all owned by WD since they bought Seagate? It doesn't matter as much to their brand because there's no competition in this area of large platter drives.

<comment><USER54> They bought HGST, not Seagate.

</comment></comment></comment><comment><USER55> Why are they using SMR on small capacity drives? I thought the driving force behind SMR was for higher capacity? I know cheaper 8TB+ drives use SMR.

Is it so they can use fewer platters to get the same capacity, thus reducing the manufacturing cost of the drive? Or is there some other technical reason to do it on low capacity drives?

</comment><comment><USER56> Excerpt:

"However, SMR drives are not intended for _random write IO_ use cases because the write performance is much slower than with a non-SMR drive."

Might this be a way to detect SMR usage by allegedly non-SMR drives?

Do a whole lot of _random write IO_ \-- and time and statistically sort the results?

<comment><USER57> It should be pretty easy to detect SMR. It's probably sufficient to just compare random read and random write performance and look for a big disparity. Probing for cache size and zone size would be a bit trickier.

</comment></comment><comment><USER58> Does this mean anything for the Purple line that are specifically for surveillance applications?

My assumption would be that the Purple drives become the default for NAS usage as the surveillance use-case much more closely matches the requirements of a RAID rebuild (a fairly constant write-stream).

My anecdata sample size of 3 has WD Red drives priced very closely to equivalently sized WD Purple drives, with WD Black drives a significant percentage more expensive (40% +).

Does this mean WD Black drives are the last hold-out against SMR for WD brand?

</comment><comment><USER59> Are the 8TB-14TB drives actually fully cleared? I assume this is all about the official Red (EFAX) line - I own a WD100EMAZ drive (10TB, obtained from an Elements Desktop case) the performance of which has been a little disappointing - I suspect it might be shingled as well.

</comment><comment><USER59> Can this be constructed as lying? I'd be interested whether this might be ground for a lawsuit.

<comment><USER60> It should be. It's a very different technology being sold under the same brand and model, and it doesn't function exactly the same.

I hope they have a class action suit coming.

</comment></comment><comment><USER61> Resilvering isn't random IO though, it's almost perfect for SMR, one continuous write from sector 0 to the end.

I just put a ST8000DM004 8TB drive into my 12 disk raidz2, on zfs 0.8, it took 8 days (so terribly slow 9MB/sec), but no errors resilvering

<comment><USER62> Resilvering on ZFS in not linear, it is quite some random IO.

A ST8000DM004 is capable of linear reads above 200MB/s, and a normal drive should be able to handle the same speeds with linear writes.

I would not recommend those drives for use with ZFS from my own experience: one of my drives disappeared after 1.5TB of writes while moving a dataset, and only went online again (with a SMART failure) after a power cycle.

<comment><USER61> Isn't that what sequential resilvering in zfs 0.8 means?

</comment></comment></comment><comment><USER63> Hmm this is scary. I still need reasonably fast spinny disks (getting enough ssd space is too expensive, so two tiers).

Up to now I was assuming any random 7200 rpm drive will do. Apparently I now need to be extremely cautious?

</comment><comment><USER64> For what it's worth, F2FS performs dramatically better on an external USB shingled disk I have, compared to ext4/btrfs. No "write pause" with it.

</comment><comment><USER65> Have anyone seen an MD04ACA400 fail btw? Wondering should I replace it with MN or MG or just go elsewhere, I've seen DT being said not as good though.

<comment><USER66> FWIW Backblaze has the ABA model in their report: [https://www.backblaze.com/blog/hard-drive-stats- for-2019/](https://www.backblaze.com/blog/hard-drive-stats-for-2019/)

</comment></comment><comment><USER67> I have got some old 2TB reds. Is there a a way to check if a drive is SMR given its serial, part or model number?

<comment><USER68> The general rule I use is to look at the DRAM size, if it is:

* 256 MB (or more) - most likely it's an SMR drive

* 64-128 MB almost guaranteed it's an PMR drive

I base this on my observation, that I've never seen an SMR drive with less than 256 MB of cache.

<comment><USER40> It really depends, newer Toshiba and HGST drives in "massive" (ie > 8TB) sizes are almost all 256MB cache for improved in-memory write reordering, but HGST calls out at least some of their drives as not only being PMR but also being better because they're PMR [0] (it's just the most recent one we purchased for our ZFS pool). We haven't had any issues with it (first order of business is writing random values to the disk then reading them back to verify integrity and check SMART values afterwards) and had sustained write speeds the entire time.

"Designed to handle workloads up to 550TB per year, the Ultrastar DC HC520 is the industry's first 12TB drive and uses traditional perpendicular magnetic recording (PMR) technology to make it dropin ready for any enterprise-capacity application or environment."

[0]: [https://documents.westerndigital.com/content/dam/doc- library...](https://documents.westerndigital.com/content/dam/doc- library/en_us/assets/public/western-digital/product/data-center- drives/ultrastar-dc-hc500-series/data-sheet-ultrastar-dc-hc520.pdf) (search PMR)

</comment></comment></comment><comment><USER69> Does this apply to Red Pro drives too?

</comment><comment><USER70> What about WD Gold drives ? are they also using shingled magnetic recording

</comment><comment><USER41> So, who's the most dependable spinning rust company now?

</comment><comment><USER71> Just bought 16 HGST Ultrastar ... Not sure I can believe in that.

</comment><comment><USER72> The only two times my HDDS failed, was with WD. The first one was after the shipping refurbished as new in 2000s scandal.

</comment><comment><USER73> I'm pretty sure this is a similar problem to Securities rating agencies in Finance world

Luckily that problem only led to the largest (so far!) recession / crisis humans have seen.

Ok snark over, but we have seen things like this before - take steam boiler production mid to late 19C. This took insurance companies simply refusing to insure anyone who did not manufacture boilers to their standards to clean up.

Something similar is needed now. Do you know why you cannot claim your covid-19 cancelled holiday from your insurance - because pandemics are not covered by travel insurance - do you know why? Because Re-insurance companies look at the likelihood of pandemics and simply refuse.

I think something different is needed - I think insurance is related to it. Basically we treat government as the insurer of last resort - but we have no real idea of the costs we are shouldering - or the risks we are ignoring.

So what if we had to have obligatory true cost insurance? Buy a house? great is it insured against flooding? Now you built on a flood plain like half of England. Fine your premiums are now twice the cost of your mortgage.

Are you selling crappy products through your business? Great please show business insurance that will make the people you rip off whole. Don't have that insurance? good luck getting anyone to buy off you.

Ok ok it's still a idea very early alpha

<comment><USER74> > Because Re-insurance companies look at the likelihood of pandemics and > simply refuse.

I believe it's not likelihood alone. It's a combination of very low likelihood, very high cost event that doesn't make it worth it for most.

In the end it likely wasn't the re-insurers decision. They cover pretty much everything for the right price, also pandemics. But no end-customer would've paid the extra price for pandemic coverage so no insurers used it. Unless it's outright illegal I've yet to hear of an event that no insurance company would cover.

<comment><USER75> A nice example of "ensurers will ensure everything" is the Ansari X Prize (space competition). They ensured against someone actually winning the competition:

> The funding for the US $10,000,000 prize was unconventional in being "backed > by an insurance policy to guarantee that the $10 million is in place on the > day that the prize is won."

[https://en.m.wikipedia.org/wiki/Ansari_X_Prize#Funding](https://en.m.wikipedia.org/wiki/Ansari_X_Prize#Funding)

</comment></comment></comment><comment><USER76> Is this happening on the Red Pro hard drives, their enterprise versions? If not, it sounds like a fairly standard hard drive company marketing move, fine for NAS as long as you use our definition of NAS. Like their megabyte definition change. Disappointing, but not surprising.

<comment><USER77> The article opens

> Some users are experiencing problems adding the latest WD Red NAS drives to > RAID arrays

No, these drives are not 'fine' for NAS use

<comment><USER76> You are missing my likely poorly made point, WD seems to have different view of what non-enterprise "NAS use" entails than those users having problems.

<comment><USER77> While they might have some concept of what home NAS use is, these drives are literally marked as dead by common NAS filesystems/RAID drivers because the filesystem thinks they are malfunctioning due to them being so slow, _when they are first put into an array_

>keep[s] getting kicked out of RAID arrays due to errors during resilvering

This problem is independent of what type of workload you actually use the NAS for.

<comment><USER76> See, by NAS HDD they mean "fit for the rapper Nas," so any problems these users have are their fault for not being Nas.

This is hyperbole, but "network attached storage" could basically refer to every hard drive now and not be false advertising. No matter how unacceptable you view this, it's the kind of shit hardware manufacturer's often do.

<comment><USER77> I think that's an exaggeration. They are specifically advertised as being for RAID configurations.

<comment><USER76> Not every raid configuration though. Just looked at the Red spec sheet, and it specifically says "without being tested for compatibility with your NAS system, optimum performance is not guaranteed." You'd need to find a setup authorized by their compatibility list that breaks for them to admit any fault.</comment></comment></comment></comment></comment></comment></comment>


Dynamic Compilation (Graal tutorial, demos and benchmarks) - <AUTHOR> https://www.youtube.com/watch?v=RLsG2kE1EMI <comment><AUTHOR> Benchmarks are at the end of part 2: [https://youtu.be/U_QpToYLsO0?t=58m26s](https://youtu.be/U_QpToYLsO0?t=58m26s)</comment>