Portable Text – JSON rich text specification for content editing platforms - <AUTHOR> https://github.com/portabletext/portabletext <comment><USER2> XML is superior to JSON for text documents. Far superior.

If you want to build a JSON for text, then start by considering how to map XML to JSON. Many attempts at that exist, most terrible because the author didn't understand ordering requirements of child nodes (in XML they are ordered as they appear, but in JSON that's only true of arrays). The only reasonable way to map XML to JSON is to use arrays for all child nodes of any node, using objects at most just for things like node attributes and PIs.

I've done a fair bit of XSLT and jq programming. I understand the appeal of JSON here: jq is much pithier than XSLT/XPath! But first you have to get a bunch of things right that XML already got right.

EDIT: Once you have a very complex document schema, its mapping onto JSON will complicate any jq programs to the point where the advantage JSON has over XML as to DSLs disappears. XML simply is the right tool for documents.

<comment><USER3> > XML is superior to JSON for text documents. Far superior.

Why do you think so? Is it because most structured texts are Trees?

If so I understand the appeal. Because hey, HTML is perfect isn't it? Except, it's really not. While HTML is great for rendering, it sucks at WYSIWYG editing.

Example:

 This is a formatted textcontent

Now good luck, finding/changing the formatting information for the 9th character ;)

The funda is - rendering is easy with trees, nodes and children. Editing though is easier with working with indices than traversing trees.

[https://prosemirror.net/docs/guide/#doc.structure](https://prosemirror.net/docs/guide/#doc.structure)

[http://marijnhaverbeke.nl/blog/prosemirror.html#the- document](http://marijnhaverbeke.nl/blog/prosemirror.html#the-document)

These write-ups are interesting reads on the topic.

<comment><USER2> I said nothing about HTML though, did I.

JSON and XML are both difficult to edit by hand, so don't do that. JSON, arguably, is harder to edit by hand because there's no CDATA, so you have to know how to escape characters, _especially_ newline.

Both are tree-like structures. Why would one be better than the other? Well, XML has a long history of use and development for text documents, whereas JSON does not, so right there, that argues against JSON.

Does XML suck for WYSIWYG editing? I don't see why it would suck more than, say, TeX. LyX -a WYSIWYM editor for LaTeX- exists, and it can output XHTML using a LyX-specific schema. I'm sure LyX could easily have been built using an XML format from the get-go. You've not made any arguments as to why XML suck for WYSIWYG editing -- the example you pasted surely is meaningless in a WYSIWYG editing since that kinda implies having... a WYSIWYG (GUI) editor. And surely JSON will take more ceremony to express 'bold and italic' than XML, and not much less ceremony than XML to express 'use this specific font' (where the font's name alone is lengthy enough).

All you've done is expressed a preference for encoding details that no one really cares about, and you may not have stopped to really learn and understand XML, so your preference is leading you into making a number of mistakes the most important of which is NIH reinvention. Each NIH reinvention adds a fair amount of cognitive load for the rest of us, and adds development and maintenance burdens that never go away. Please don't do this. Innovation is very important, of course, but don't blindly reinvent to innovate.

<comment><USER4> XML per se is great for storing tree like structures. However, it's not actually XML that's bad, but content editable, which is what most editors were using until recently.

In content editable, the visual information is not one to one transferable to a single html document, which, in turn, means not transferable to a single XML representation (and in all likelihood, the html is what is used as the representation, not a transformed XML document).

With Json representation , the content editable method is no longer the path of least resistance. Building out a proper renderer (whether in canvas or dom) means you end up removing most of the content editable issues.

<comment><USER2> JSON is harder to edit manually, honestly. Don't do it. Use an editor that supports editing the format.

<comment><USER5> Nobody is talking about editing the JSON directly. They are talking about programming a wysiwyg editor to the JSON data model.

<comment><USER2> I would say XML vs JSON makes little difference to the complexity of an application (e.g., an editor) using it.

<comment><USER5> manipulating JSON (really, just plain native language objects) is way more straightforward than manipulating the XML dom. The purpose of formats like this is to make inexpressible the kinds of documents that result in difficult to untangle bugs, and frustrating UI behaviour. See this article about how Medium's editor was designed for some essential background of the motivation for this JSON format

[https://medium.engineering/why-contenteditable-is- terrible-1...](https://medium.engineering/why-contenteditable-is- terrible-122d8a40e480)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER3> This is really good. I can right off my head come up with interesting possibilities based on this standard.

#1) All major rich text libraries (Prosemirror, Quill, Draft, Slate, Trix & more) out their now have their own capabilities and their own JSON representation. But exporting content across these editors is a pain. You either have to use HTML or Markdown, both of which have formatting loss.

#2) This means when you develop an app around document creation you are essentially locked down with either the libraries' data model JSON, or end up writing migration code and parsers if you want to switch.

#3) What if word processors have an option to export their content into such a JSON representation, such that parsing or rendering these content in browsers wouldn't involve us working with HTML

Challenges:

What if view information like line-endings and pagination are part of the model? Coming up with a JSON standard for such cases would be very difficult / impractical?

<comment><USER6> I think this _sounds_ good. Of course it only really becomes good if different projects start adopting it. Hopefully some of the libraries you listed are taking notice.

</comment></comment><comment><USER7> If only we had an open specification for formatted documents already. It could be based on text, and ideally there would be lots of different implementations, so it isn't hostage to a de facto master implementation. We could call it OpenDocument or something like that.

Now, a serious question: does this have an advantage over the existing standards, apart from "is JSON-based"? It looks like the company that made this decided to open source it, which is neat, but not very news-worthy.

</comment><comment><USER8> What's the case for this as opposed to - say - a strictly a whitelisted subset of HTML?

There's already good tooling around XML-like dialects and the route from representation to rendering is much simpler.

<comment><USER9> It's true that this is essentially a markup language (in the original sense of markup: Text annotated with style and semantic information) in JSON form. But it wouldn't be sufficient to just pick a subset of HTML. You would need to extend it with metadata and custom element types. Since HTML elements, attributes and content are all just untyped strings, you will need to invent your own syntax to express other types. You're halfway into XML land at this point.

There's a million reasons why XML is a bad fit, but one stands out: JSON is a first-class citizen on the web, and XML isn't. Once you parse this with the browser's built-in JSON parser, you're good to go; you have a JS object you can plug into an editor, or manipulate and display in all sorts of ways. If this were a custom HTML subset, or XML, the path would be much longer. JSON has many issues, of course, but ease of use isn't one of them.

<comment><USER10> XML is also a first-class citizen on the web. All major browsers have a built- in XML parser to access and manipulate XML. All major server-side programming languages have XML parsing and manipulation libraries.

XML is a far better format for this; it is designed specifically for mixing text content with markup. This format is incredibly hard to read and debug. Once you've parsed this JSON, you're still left with a complex stringy structure that you then have to parse again anyway. The value of being in JSON is incredibly low.

<comment><USER9> XML is not a native _data structure_ to the web, and JSON arguably is. Browsers may have XML parsers built in, but XML _requires_ APIs to work with in any meaningful way. XML's data model is complex. Where JSON allows you to build the entire data structure using pure JavaScript data types (objects, arrays, numbers, etc.), you can only build XML data reasonably via complex interactions of createElement(), appendChild() and so on. Compared to the thinness and transparency of JSON, the XML DOM has huge overhead. There's huge value in your document model also being your in-memory model.

I'm not sure why you think this particular JSON schema is a "complex stringy structure". _XML_ is a complex stringy structure! There's conceptually and semantically zero difference between <node style="normal">text</node> and {style: "normal", text: "text"}, other than the fact that the former requires an API to read and manipulate, and the latter doesn't, from the point of view of JavaScript code. XML has a specific formalized data model of elements, attributes and so on, but this is just a graph representation: You can lossly encode an XML DOM in JSON, and vice versa.

The argument in favour of XML should revolve around the ecosystem of tools (XPath, XML Schema, namespaces, etc.) that allow you to work with it, but so far the comments here haven't conclusively highlighted these features as benefits. They also seem to ignore that with the exception of legacy enterprise software, the web world has largely (not entirely, but _largely_ ) moved away from XML. There's a reason we're using JSON over REST instead of SOAP. XML isn't the lingua franca of the web that W3C seemed to assume it would be during the early 2000s; JavaScript/JSON is.

<comment><USER10> > Browsers may have XML parsers built in, but XML requires APIs to work with > in any meaningful way.

But _this_ format will require parsers to take the resulting objects, arrays, and numbers and reconstruct something very close to XML's data model anyway.

> XML's data model is complex.

So is this document format. With it's special "_type" keys and specially named nodes. XML is simpler since attributes and children are a native part of the format and the API.

> There's huge value in your document model also being your in-memory model.

Are you suggesting this exact model be the in-memory model? Because that would be pretty non-optimal. You'd likely want your in-memory model to be more powerful than a tree of dictionaries, arrays, and strings. Therefore parsing and storing an XML document on load/save is not a big deal. In fact, given the existence of an API that already handles attributes and nested nodes, it might even be easier.

> XML has a specific formalized data model of elements, attributes and so on, > but this is just a graph representation: You can lossly encode an XML DOM in > JSON, and vice versa.

Exactly. So why use a format that it obviously terrible for mixed text and markup? For any reasonable sized document in JSON will be impossible to follow yet XML would be comparatively straight forward.

> There's a reason we're using JSON over REST instead of SOAP. XML isn't the > lingua franca of the web that W3C seemed to assume it would be during the > early 2000s; JavaScript/JSON is.

Basically SOAP is an over-engineered solution to web RDP. It started out as XML-RPC which was far simpler and far more constrained like JSON. You could easily encode SOAP in JSON if you wanted. You're blaming the underlying technology for when it's used inappropriately but this is an example of JSON being used inappropriately! It's an over-engineered solution to a problem solved simpler by a different technology. "XML bad / JSON good" doesn't tell the whole story.

<comment><USER11> > Are you suggesting this exact model be the in-memory model? Because that > would be pretty non-optimal. You'd likely want your in-memory model to be > more powerful than a tree of dictionaries, arrays, and strings.

I'm pretty confident that this is actually the intended goal, particularly for web-based editors.

Most "modern" web-based rich text editors work with an internal schema similar to this one, even when most of them support html/xml import/export too. In today's web ecosystem, it is hard to do much better than "javascript structure that gets diff-rendered to the DOM by a patching algorithm on updates".

I think this is just a case of someone saying "hey, wouldn't it be great if all these editors used the _same_ schema instead of very similar ones with minor differences?"

</comment></comment></comment></comment></comment></comment><comment><USER12> JSON is a really bad match for this. XML or sexp-based approaches (like EDN) would be a much better approach.

<comment><USER13> XML just leaves a way too much space for quirks.

</comment></comment><comment><USER14> why is this not XML? it doesn't make any sense at all. They are trying to force a schema on json, when it would be hundred more times easier (and probably with better tooling) than forcing json for this.

<comment><USER15> I'm really struggling to understand that as well. Can't wait until this comes full circle and someone decides to write a "simplified" version that allows you to write some variant of <foo>bar</foo> that gets compiled into a JSON string. Bonus points for the huge waste of bytes in the JSON representation!

</comment></comment><comment><USER16> Can I ask how does this compare with ProseMirror's format for rich text strings? What's the reason to not use ProseMirror's JSON structure? Can one convert between _Portable Text_ and ProseMirror JSON?

Are there similarities between _Portable Text_ and how rich text is represented in e.g. ProseMirror and SlateJS and DraftJS and other rich text editors?

</comment><comment><USER17> Can I quickly prototype my own custom format for an XML document? So for example, I know that under the hood Word docs are basically XML formatted docs.

Is there a way that I can build my own custom XML tags and prototype my own custom XML document format? Something like:

<CustomGraphXMLtag>somevaluehere<CustomGraphXMLTag> <somenewtag2>some other value</> ........

Can I do this with Apache OpenOffice SDK or any other way?

</comment><comment><USER18> For anyone who wants to see a similar, JSON-based, node-generating implementation looks like, this is a cool demo showing the structure of a Prosemirror WYSIWYG example. [https://react-prosemirror- example.now.sh/](https://react-prosemirror-example.now.sh/)

<comment><USER2> Thanks. That really helps. I fail to see how this is superior to XML, except that tools/DSLs like jq are so much easier to use than XSLT.

EDIT: But still, no please. This isn't even remotely close to on the same level as XML is, and we don't need XML to be reinvented.

</comment></comment><comment><USER19> Here's some of the rationale behind the specification [https://www.sanity.io/blog/why-structured-text-is-awesome- an...](https://www.sanity.io/blog/why-structured-text-is-awesome-and-you- totally-want-it-in-your-cms)

</comment><comment><USER20> I wonder how queryable this is in document databases... (e.g. I want to use Arangodb to make something like Lotus Notes with a document classifier baked in)

Also another thing that has bugged me about "Rich text" since the Word 95 days was that something seems to be rotten in the data model in most implementations.

The main symptom is that applying styles to text just doesn't behave rationally. I want to select a certain region but I wind up selecting something slightly different. The mouse pointer moves in the wrong direction, etc.

Related to this it seems most WYSIWYG editors for HTML are buggy for the same reason. Dreamweaver used to work 10 years ago but now it can't get out of it's own way on my overpowered laptop and Adobe Support is clueless about it.

Will this help?

<comment><USER2> I mean, if you have jq... But yeah, it won't be easy because the schema is necessarily bloated with stuff and highly recursive. You'll end up preferring XPath, IMO. And XSLT.

</comment></comment><comment><USER21> The past, present and future of (portable) text is text. No need for wrapping your text in JavaScript Object Notation (JSON) :-) really. Keep it simple. See [https://github.com/mundimark/why-text](https://github.com/mundimark/why-text) or [https://github.com/officetxt/awesome- txt](https://github.com/officetxt/awesome-txt) and others :-).

<comment><USER3> This category of standards for structured text will look simple and sufficient. But they break once you bring in more complicated formatting options like font-size, background colour, etc. Which is why we need rich-text standards that aren't opinionated on what formatting to allow.

<comment><USER22> I'm not entirely sure what you're arguing here re unopionated, but SGML (on what HTML is based) has had automatic recognition of Wiki text delimiters and producing XML-style canonical markup from eg. markdown and other Wiki syntax since before 1986. Kind of the best of both worlds for both easy editing and rich and sophisticated structuring. It's also odd that we're still discussing these things after all these years; so long so, in fact, that we've forgotten how those before us tackled these issues.

</comment></comment></comment><comment><USER23> Why this?

      {
       "_key": "a-key",
       "_type": "markType"
      }

And not this?

      {
       "a-key": "markType"
      }

Why this?

      {
       "style": "h1",
       "children": []
      }

And not this?

      "h1": {
       "children": []
      }

<comment><USER9> The _key is an ID, not a key as in "JSON key". It's metadata.

"style" is optional, so it doesn't make sense for "h1" to be a key.

More importantly, JSON is harder to work with when a key can be anything. A schema is more uniform and easy to make strict if all keys are reserved. This also makes it easier to map to data structures used in languages that have struct-type types. Think of the JSON objects here as structs, not key/value pairs:

      type Block {
        Style string
        Children []Block
        Type string
      }

or whatever.

</comment></comment><comment><USER24> Do you think markdown-it token stream([https://github.com/markdown- it/markdown-it/blob/master/docs/...](https://github.com/markdown-it/markdown- it/blob/master/docs/architecture.md#token-stream)) may serve the same purpose?

</comment><comment><USER25> Even after arguing in favor of XHTML here in another comment, I'd like to make a separate "modest proposal":

What if we had a limited kind of markup as _part of Unicode_ , such that _all_ Unicode text could be "marked up", entirely-portably, such that as long as you aren't rewriting the Unicode representation, you're preserving the markup?

Unicode already handles many kinds of markup. We just don't tend to think of these features of Unicode as "markup"—even though many of them have one-to-one equivalents in _markup_ languages!

Most obviously, you've got newlines, the plaintext equivalent of the HTML
 tag. If Unicode was "just" about representing text, newlines (and horizontal/vertical tabs, non-breaking spaces, zero-width non-joiners, etc.) wouldn't be part of it. These aren't text; they're _instructions_ to a text _layout_ engine, for where to _put_ the text. They're markup, just as much as an HTML  tag is!

Less obviously—but more flagrantly—Unicode has the BIDI LTR/RTL instruction codepoints, and support for storing and representing a [https://en.wikipedia.org/wiki/Ruby_character](https://en.wikipedia.org/wiki/Ruby_character) gloss of a given character-sequence embedded alongside said text.

And because of this support, Unicode font rendering engines already have everything they need to be able to render a given "meta-instruction" codepoint that makes a given "run" of characters bold, or italic, or small-caps, or strikethrough; or to indicate that a given run of codepoints should be considered a list item, or even a semantic "paragraph" or "heading."

It's my understanding that the maintainers of the Unicode standard would balk at standardizing this kind of markup within Unicode. But, if all this is possible at the Unicode-parsing _level_ , then why not just create a separate working group who will maintain such markup codepoints as a Unicode Private- Use Area, and then get font-rendering-engine vendors to support said markup codepoints?

\---

Side-note: the result would be a lot like creating Unicode-codepoint equivalents for ANSI escape sequences, wouldn't it? In fact, I would imagine that pretty much every common ANSI "Select Graphic Rendition" escape sequence would make sense as a Unicode markup codepoint, save for maybe being translated to prefix-length or per-grapheme-cluster-paired forms rather than being modal switches.

And oddly, I think that such SGR-equivalent codepoints _would_ be within the spirit of Unicode. Unicode wants to allow for the digitization and standards- based preservation of all historical text. Well, how are you supposed to preserve the text-art sent by an 80s BBS, without being able to represent (at least) fg/bg color changes? Unicode _already_ decided to standardize the DOS box-drawing characters _for exactly this same reason_!

<comment><USER26> This wont catch on for the same reason noone uses U+001F or U+001E for their tabular data, because its not on the keyboard. Any extra encoding characters would need new keyboards, or maybe touch screens that are good enough to code with.

It would be pretty neat though.

<comment><USER2> It won't catch on for other reasons too, such as that existing software won't understand Unicode tags and will either not preserve them or break their forms so that you'll have the equivalent of stuff hereother stuff here.

Unicode tag codepoints simply cannot be reliable.

Nor can Unicode tag codepoints provide sufficient functionality to replace XML (or HTML, or ...). Even the subset they can replace/displace would require revamping XML/XSLT processors in order to make XSLT able to see them -- that's a terrible imposition on the rest of the world.

Some of us hate UTF-16, but there it is and we can't get rid of it.

Others hate UTF-8, and.. the same thing applies.

XML exists, it's widely used, it's not going away no matter how much anyone dislikes it. Moving parts of HTML or XML into Unicode will not work for the reasons given above. Please dedicate your energy and ideas to innovating in other ways than this.

<comment><USER25> > will either not preserve them or break their forms so that you'll have the > equivalent of stuff hereother stuff here

You're assuming a representation that encodes such markup as ["start of bold" codepoint], ["end of bold" codepoint]. I agree that this would be bad, for the same reason that the Unicode "language" tags were bad.

There are other representation options, though.

You can instead do exactly what Unicode's Ruby-character support does, and just make a markup annotation last for exactly one grapheme-cluster. A run of bold characters, then, is a run of grapheme-clusters where _each grapheme- cluster_ has been individually bold-annotated. There's no real way to "break" that. It's inefficient, of course, but the point of it isn't to be a universally-optimal format, but a markup-format-of-last-resort when there's no higher-level markup layer in the document format to hold styling information.

To be clear: there's demand for a "markup-format-of-last-resort." In fact, people are already _abusing_ other Unicode features to create one, and are quite happy with the resulting "styled" Unicode documents, which are—horrifyingly—proliferating across the internet and breaking semantic machine-readability for any future archival uses of that text.

If you can't guess, I'm talking about people replacing the Unicode codepoints of their text with entirely-different Unicode codepoints, that just happen to already look like the "styled text" version of the text they want. For example, you've got 𝓽𝓱𝓲𝓼 𝓽𝓮𝔁𝓽, ʇɥᴉs ʇǝxʇ, t̶h̶i̶s̶ ̶t̶e̶x̶t̶, etc. These are the outputs of "text generators" (online IMEs, essentially) that take your _Unicode plaintext_ input text, and output _Unicode plaintext_ output text that is "styled."

Now picture a Unicode feature to obviate such "text generators"—where, instead of two codepoints ["𝓽"]["𝓱"] that are both 1. impossible to type on a keyboard and 2. not actually the same characters semantically as ["t"]["h"], you've instead got four codepoints: [next-with-italics]["t"][next-with-italics]["h"]. You typed ["t"]["h"], and then selected them both and hit the "I" button in your editor, and then copied the result, and that's what's now in the copy buffer.

Nothing would break—text editors already understand how to keep Unicode combining diacritics together with their base codepoint just fine, and this is just another use of the same logic.

Similarly, the NFD representation of [next-with-italics]["t"][next-with- italics]["h"] would just be... ["t"]["h"]. Stick your four-codepoint sequence in a DB fulltext field, and it'll index it no problem.

> Nor can Unicode tag codepoints provide sufficient functionality to replace > XML

Oh, I would never suggest that. _Structural_ markup has no place in Unicode. I just think that there is a thing that is a subset of "rich text" but a superset of "Unicode plaintext" and maps to exactly the sort of text-styles that a publishing editor laying out InDesign flows, would let their contributing writers use in the RTF documents data-bound to those flows; or which a blogging engine like Twitter would let their users use to style their tweets.

Like I said, this doesn't belong _in_ the Unicode standard. Such a format can be considered an additional format layer _between_ Unicode plaintext and a document format. It just so happens, though, that you can take advantage of the Unicode-rendering _capabilities_ of most rich-text layout engines, to support such markup. Same as how the VT100 spec took advantage of the logic that already existed to respond to newlines and such, and introduced inline escape sequences—nominally "a higher layer", but in practice a thing that is _conflated with_ the layer below it, such that any terminal program that claims to output "plaintext" might actually be outputting plaintext-with-ANSI- escapes without mentioning it.

<comment><USER2> Attaching style to each glyph is problematic too, since now they can get spread around unintentionally, and we'll need new regexp code, and much else. No, the semantics of tagging inside Unicode are uniformly bad. I understand that people abuse Unicode already to get some such effects, but it's mostly a novelty, and I would not seriously use any software making use of these tricks. A standard way to mark up style in Unicode would certainly be better than Unicode abuse, but it would still come with a bunch of difficult associated issues -- are they really better than whatever issues you have with XML? and are they better for all of us??

BTW, games with BS (backspace) and overstrike for bold and underscore for underline still work in Unix terminals... That might be the best argument for having some stylistic composing codepoints in Unicode... after all, ASCII was designed in part to be usable with BS for expressing diacritical marks (accents, umlauts, cedilles, ...), making it a variable length internationalized encoding! But still, then less we complicate Unicode, the better.

<comment><USER25> I think you misread my original post—I don't have any problems with XML, and in a sibling post ([https://news.ycombinator.com/item?id=18611384](https://news.ycombinator.com/item?id=18611384)), outlined exactly why XHTML is best-suited to this use-case. Meanwhile, I called _this_ Unicode-markup idea a "modest proposal".

If you can use XML, by all means, please _do use it_. If you're designing a document format, and there should be markup in your document, just use XML for your document format and then XHTML for the markup parts. It's what ePub does. (ePub is one of my favourite formats: it's just a slapping-together of a bunch of well-known technologies. It's the "buy rather than build" of document formats.)

I do think, though— _separately_ from what your options are as a document- format designer—that there's a point in having a Unicode-level markup standard, and getting the font-rendering engines on board with it. And that point is _democratization of styling control_ : forcing styling into places where the format specifier had no intention, way back whenever they specified the format, to add styling; and where the software stack has maybe ossified since, such that nobody's willing to introduce a new version that specifies a new format with styling (or where such an effort was tried but has long fizzled out.)

Want to add styling to email? No, not _HTML_ email, pine(1) ain't ever gonna render that for you. I mean, _all_ email. Email in an app in the GUI; email on the CLI in your terminal emulator. Email even in pine(1), without modifying pine(1), merely updating GTK and Cairo and then restarting gnome-terminal. Unicode markup would work entirely opaquely to the email client's intent to "have styling" or not. At the layer the email client is operating at, it's Just Text™, just like emoji are now Just Text™.

As far as I can tell, encoding the styling at the Unicode-codepoint layer, and then parsing it out at the {OS graphics toolkit, terminal emulator} text- rendering layer, is the only way to make that work.

Or, for another example. How about we insert some bold text into a TEXT-typed column of a Postgres DB row? Yes, the text is _supposed_ to be bold. No, we can't change the type of the field to XML; that would break everything that currently queries that field. I want to just put bold text in one row, one time. Yes, sure, add an INSERT trigger to ensure that nobody can insert text with any _other_ styles. (But if you're so worried about that, why don't you have that trigger already to ensure that nobody's inserting a newline, huh?)

A cute trick: make temp-file filenames not "foo~" but rather "foo"-with-a- strikeout-through-it. Yes, that'd be the file's actual on-disk name. You're saying you want your filesystem to use XML for the filename field?

(I mean, these are ridiculous, yes. The only _actual_ use-case is obviously allowing people to use bold on HN.)

</comment></comment></comment></comment></comment></comment><comment><USER27> This does not even support nested lists. Why purposely come up with an overcomplicated document model if you aren't even going to support basic features?

</comment><comment><USER28> how is this different from odf or even ooxml?

</comment><comment><USER19> I think this article lends an interesting perspective on the XML vs. JSON thing. [https://twobithistory.org/2017/09/21/the-rise-and-rise-of- js...](https://twobithistory.org/2017/09/21/the-rise-and-rise-of-json.html)

</comment><comment><USER29> It looks a lot like HTML 1.0.

</comment><comment><USER30> Try this JSON Parser to validate JSON data. [https://jsonformatter.org/json- parser](https://jsonformatter.org/json-parser)

</comment><comment><USER31> Kind of like an AST but for markup?

<comment><USER32> Not quite. AST but for rich text.

</comment></comment><comment><USER13> For G-d's sake, people, just use Markdown everywhere but in cases where something else is really necessary!</comment>


Ask HN: Review my fast domain auction checking tool - <AUTHOR>

Hey guys,
I built domainsafrica.com for a fast and (hopefully) useful interface to search for domains that are on auction across various sites or have expired and can be back ordered.
Hope you guys like it. Let me know how I can make it better
Disclaimer/Warning: this webapp is deemed dangerous for anyone with a propensity to purchase domains they don't need :) <comment><USER2> How is this different to

[http://www.domcop.com/domains/high-page-rank-expired- domains](http://www.domcop.com/domains/high-page-rank-expired-domains)

<comment><AUTHOR> DomainsAfrica uses the DomCop API - so the data is the same. However the value add comes from the cleaner and simpler user interface. DomCop tends to be very complex for the casual domain searcher.

</comment></comment><comment><AUTHOR> Clickable link - [http://www.domainsafrica.com/](http://www.domainsafrica.com/)

<comment><USER3> Thought I saw this earlier in the day. Deja vu?

<comment><AUTHOR> Yeah. Had posted it earlier, but it just fell off the new page. Let's hope second time lucky :)

</comment></comment></comment><comment><USER4> Enter doesn't submit.

<comment><AUTHOR> Thank you for seeing that. I've fixed it now.</comment></comment>


Building a SVG Line Chart in React - <AUTHOR> https://headway.io/blog/building-a-svg-line-chart-in-react <comment><USER2> I'm still waiting for the ability to right click a SVG and save it as a png at reasonable resolution. I have no idea why this has not been implemented in major browsers.</comment>


A look inside Amazon's Spheres as they get set to open - <AUTHOR> https://www.seattletimes.com/business/amazon/take-a-look-inside-amazons-spheres-as-they-get-set-for-next-weeks-opening/ <comment><USER3> Some other pictures are here: [https://www.bloomberg.com/news/features/2018-01-26/inside- am...](https://www.bloomberg.com/news/features/2018-01-26/inside-amazon-s- giant-spheres-where-workers-chill-in-a-mini-rainforest)

</comment><comment><USER4> From reading answers on Quora I came to the conclusion that Amazon employees aren't given expensive perks (i.e. computers and work place furniture). Are things changing at Amazon?

<comment><USER5> 10 year Amazonian here. I think we have one of the most expensive perks of all: an active, expansive, downtown campus. That's not cheap, those towers cost billions, and there's a reason many big technology competitors are in more suburban locations (Redmond, Mountain View, Kirkland, etc ...). But it really is something to be able to get to and from work relatively quickly via public transport, to be in the middle of a cool city with great restaurants and food trucks, and to be so easily able to socialize with colleagues and friends.

But it's true that we don't have free cafeterias, free sodas, gyms (though we do have free on-campus workouts and yoga classes) and so on. We do have some other unusual perks though: our mailrooms get the "Amazon" shipping rates from USPS/DHL/FedEx, and since Amazon is one of their biggest customers, it's really really cheap to ship personal packages. We have a dog park with awesome puppies that's 17 stories up, with a crazy view of the Puget Sound and Downtown Seattle.

There's lots of less tangible things like that, but in general, people aren't here for the perks.

<comment><USER4> I have never thought of location and a building as a perk. It is easy for even a moderately funded company to have an office in the downtown of any major city.

<comment><USER6> A perk is not a perk because of the ease of providing it or its cost. It's a perk because it's a benefit not part of core compensation. And it is true, none of the other tech giants have downtown HQs (although plenty of Google satellite offices are in urban centers, at least).

<comment><USER4> There is a formal definition, but not everyone will agree building and location are perks.

</comment></comment></comment></comment></comment><comment><USER7> They're like tree houses for office workers --neat. Remind me a bit of the tropical Sphere inside the California Academy of Sciences.

</comment><comment><USER8> Looks like a mall for me. From hanging there as teenagers to working there... That and similar Google plans show what is coming next after open floor - <USER2> multilevel panopticon.

<comment><USER9> a multilevel _treehouse_ panopticon!

</comment></comment><comment><USER10> > The Spheres are kept at 72 degrees and 60 percent humidity during the day, > and 55 degrees with 85 percent humidity at night.

Working late is going to be an adventure.

<comment><USER11> This is fascinating. It's almost a forcing function to prevent overwork and burnout.

Imagine if the lights were on and it was 72 degrees, 60% humidity, 24/7 — the plants wouldn't thrive.

</comment></comment><comment><USER12> This is awesome and will be a boon for the workers' health. I wonder how they'll deal with fungi and other plant pathogens? Fungicides? I've installed small living walls and have had issues with that.

</comment><comment><USER13> Is that headline supposed to intentionally sound like the setup to a sci-fi horror movie?

<comment><USER14> It really sounds ominous if, like me, you've never heard about "Amazon's Spheres". Brings to mind stories of alien objects appearing at several key locations on Earth, surrounded by the military and scientists, when suddenly they show signs of activity.

<comment><USER15> I hadn't heard about them, and it read like a sci-fi thought experiment describing the kind of mega-corporate excess that might come along in the future.

I guess that future is now.

</comment></comment></comment><comment><USER16> Looks nice but a stark contrast from what their warehouse workers are afforded.

<comment><USER6> Of course. What do you expect?

<comment><USER16> I guess my work experience over the last 30 years has been different. None of the companies had this extravagant facilities but those that had substantial operations or manufacturing capabilities were fairly uniform in the offering of facilities among the white collar and blue collar employees. Both had the same snack rooms with free food and far as I could tell nearly all had their own cubicles.

</comment></comment></comment><comment><USER17> The fig tree in the diagram is enormous. Is it really _that_ big? And what will they do with all the figs? (Pick your own, perhaps, from whatever the cafeterias can't sell.)

<comment><USER18> There's a fig tree in Balboa Park in San Diego that dwarfs the one in the diagram, and that's only the third biggest in California. But I imagine it's hard to convince people to sell trees that big / transport them into buildings much larger than the one in the diagram.

[https://www.balboapark.org/attractions/moreton-bay-fig- tree](https://www.balboapark.org/attractions/moreton-bay-fig-tree)

<comment><USER19> Moreton Bay Figs are amazing. They're everywhere in Brisbane, AU and there is even a children's playground that weaves through a huge one.

[https://encrypted- tbn1.gstatic.com/images?q=tbn:ANd9GcRnXjXB...](https://encrypted- tbn1.gstatic.com/images?q=tbn:ANd9GcRnXjXBacp7-fNfsnHIrEXnGoqv28OaxJYvJXKwEN5heteL1Cgb1AkUOxz_)

</comment></comment></comment><comment><USER20> it would be cool if big tech companies invested in creating public spaces rather than biospheres for insulating their employees from the world

<comment><USER21> It would be cool if voters were willing to pay for public spaces, real _public_ spaces, rather than waiting on the charity of companies through moral expectation, charity which could be retracted at any time, or diverted for any whim.

<comment><USER22> Taxpayers dont want additional burdens. Parks are already free and accessible. These treehouses are nothing more than a hollow gesture considering Amazon's toxic middle-managers and poor processes like performance reviews based on the cult-like "leadership principles."

(Note: I worked at Amazon as a front end / full stack dev around the SLU Seattle campus recently and left _voluntarily_ due to the environment.)

<comment><USER23> Parks are not free - they're supported by taxpayers.

</comment></comment></comment></comment><comment><USER24> Biodomes that aren't called biodomes because of Pauly Shore.

</comment><comment><USER25> nag-free link for the lazy: [https://archive.fo/ftB17](https://archive.fo/ftB17)

</comment><comment><USER26> Kind of has a Blue Origin feel to it.

</comment><comment><USER27> The foliage is a nice reminder of what offices are: zoos for humans.

<comment><USER28> Do people pay to come watch you work?

<comment><USER29> Maybe bcoughlan is a streaming video performer?

</comment></comment></comment><comment><USER30> The spheres are an ok corporate showpiece but at the end of the day they are just that: a showpiece. They don't integrate well with the neighborhood or contribute much to the broader public environment—and Amazon must be just _thrilled_ that there is literally a gentlemen's club across the street from them—nor do the spheres aesthetically make up for all warehouse style offices Amazon has put up all over South Lake Union.

All the coverage celebrating this private public space also concerns me</comment>


Ask HN: How could this forgery detection script be optimized? - <AUTHOR>

So, I was reading about this doctored photo in the NYT Magazine:
http://minnesota.publicradio.org/collections/special/columns/news_cut/archive/2009/07/fakery_in_the_times.shtml
And I recalled seeing this blog post and python script a while back:
http://code.google.com/p/coding-experiments/source/browse/trunk/Python/detect_copymove.py
I grabbed the script and image in question from the NYT. I ran the script, and sure enough, several blocks of pixels came back as being copied.
Problem was–the script took almost 5 minutes to analyze the image.
Just curious if it could be optimized or, better yet, easily rewritten in C to be much faster. <comment><USER2> As the author says, the script is rather adhoc.

The script errors out for me, but from the comments, the basic procedure is to break up a low-resolution version of the image into blocks, and then cluster these blocks on some criterion.

Let me see if I can cook up something for you after work :) The simplest speedup I can see is to memoize the distance function calls.</comment>


How to support WebP images, save bandwidth and improve user performance - <AUTHOR> http://cloudinary.com/blog/how_to_support_webp_images_save_bandwidth_and_improve_user_performance

<comment><AUTHOR> This blog post shows the advantages of the WebP format over JPG and PNG and describes how you can automatically convert all your images to WebP of any quality. A dynamic-loading technique with on-the-fly image generation using jQuery is also explained. Code samples for Ruby on Rails, PHP, Node, Django and jQuery are included.</comment>


Are European software engineers still welcomed in London? - <AUTHOR> What is the atmosphere in London right now about European workers? Are companies more reluctant to hire them? I have heard that some financial companies are planning to move to other countries in Europe. What about software companies and startups? <comment><AUTHOR> It seems that it is going to freeze some investments and recruitments.

[https://www.theguardian.com/business/2016/jun/26/city-of- lon...](https://www.theguardian.com/business/2016/jun/26/city-of-london- expecting-further-post-brexit-losses-when-trade-reopens)

At the end of the article : "Hood said he had already heard of three deals being put on indefinite hold. There were also reports that investors in technology start-ups in the UK were pulling out because the funds were contingent on Britain remaining in the EU."

</comment><comment><USER2> It's really too soon to tell.

If UKIPers have it their way, all the way, the atmosphere for foreigners will become poisonous (for an idea about how this might end up being like just watch V for Vendetta or better yet read the graphic novel).

I doubt that, though because even they're not stupid enough to bite the hand that feeds them. However, I said the same thing about the Brexit before.

The world will continue spinning, it just might not revolve around London anymore.

</comment><comment><USER3> I reckon that nothing has really changed so far =)</comment>


Plotly graphing API for Python, Matlab, R, and Arduino - <AUTHOR> https://plot.ly/api

<comment><AUTHOR> The idea behind Plotly is: to build a platform where people can collaboratively graph, analyze, and share data. Two months ago we launched Plotly on HN ([https://news.ycombinator.com/item?id=5671831](https://news.ycombinator.com/item?id=5671831)).

We received extremely helpful feedback, and are grateful to everyone who commented and used the product. Hearing from readers and new users was exciting, helpful, and insightful. So, thanks very much.

The #1 request was an API to generate plotly graphs from desktop environments. In response to that feedback, we are launching a new service so you can now send data from Python, MATLAB, R, and Arduino to your plotly account. Calls made with the API will return a link with a graph of your data, i.e. something like this: [https://plot.ly/~chris/421/](https://plot.ly/~chris/421/). You can sign up through the API.

The graphs are interactive: click-drag to zoom, double-click to autoscale, shift-drag to pan, hover to view data points.

You can view the graphs inside plotly and style them with our GUI. For example, I sent data with the API to make this: [http://plot.ly/~chris/554/](http://plot.ly/~chris/554/) and then styled it inside plotly to create this: [https://plot.ly/~chris/653/](https://plot.ly/~chris/653/)

HN: What do you think of the API? What else can we do to make Plotly a tool that you would realistically use every single day?

<comment><USER2> Looks nice and I would definitely like to see support for other languages, like perl.

But, what if I want to run my own infrastructure?

<comment><AUTHOR> Cool, that's super helpful feedback.

We definitely support installing plotly on private servers -- there are certainly a lot of companies that won't let their data leave their building.

</comment></comment></comment><comment><USER3> This looks really neat. I produce a lot of plots in my day to day work (mainly in MATLAB) so I'm excited to see if there's an opportunity to use Plotly.

Can you point me to some examples of how you've brought Plotly into your workflow? Do you generally send data via the API and style it manually, or do you do all the styling in code? How easy is it to grab plots from Plotly to be included in e.g. a PDF?

<comment><AUTHOR> That's great to hear.

Personally, I prefer to style the plots with the GUI... it's so much easier and faster than re-running some styling script. Of course, some stylings are too cumbersome to do by hand. For example, I adjusted the opacity of every trace with code to make this plot: [https://plot.ly/~cparmer2/302/](https://plot.ly/~cparmer2/302/), which was easier than manually selecting every trace in the GUI.

A couple workflow examples:

\- last semester, I used plotly to share results with my advisor. It was much easier to send short-links of my simulation graphs than to export images and send them as an attachment. My advisor could update the styling and view the underlying data behind the graph and he only needed to open up his browser.

\- Some R&D labs are interested in using plotly to centralize their data streams. They send data to plotly from their lab instruments (through the api) and share the graphs within plotly to all their team members (through a group feature in plotly)

Plotly graphs can be exported to SVG, EPS, PDF, and PNG, so it's pretty easy to include your graphs in a PDF.

Do you use MATLAB in a team environment?

<comment><USER4> Could you please add an example to show how to export graphs to SVG, EPS, PDF, etc. (Sorry if the example is included in the documentation, but I could not find it).

<comment><AUTHOR> Sure. You export graphs from within your plotly account (i.e. at [https://plot.ly/plot](https://plot.ly/plot)). With a loaded graph, click "File >" on the toolbar and you should see PNG, PDF, SVG, EPS.

You can view any linked graph (i.e. something like this: [https://plot.ly/~jackp/683/](https://plot.ly/~jackp/683/)) from within your plotly account by clicking the "View in Plotly" link in the bottom righthand corner.

</comment></comment></comment></comment><comment><USER5> As someone who routinely uses python, R, and matlab for data analysis, I am going to have to give this a try. Matplotlib can be cumbersome and I am always looking for alternatives. This looks great! Can't wait to try it.

<comment><USER6> Yeah, this looks pretty cool.

I currently use RStudio server to do analysis from the RStudio IDE in my browser- while all the client-sensitive data and computation happens in a remote box. Allows me to play with graphs on my browser as well,.

It looks like Plotly's advantage is in sharing the plots easily.

<comment><AUTHOR> That's cool. Does your company set up this server version or is this something that you manage yourself? I've been using RStudio in my desktop, what do you like about using it in your browser?

<comment><USER6> My company set it up this way, at my request. I enjoy RStudio over using R over ssh (in a CLI).

The advantage of using it in a browser: it's not on my local machine! So if I run some godawful super-intensive script, my machine doesn't slow to a crawl. Also, I work with client sensitive data and we try not to hold any on our local laptops. It's really a nice solution. Now if only they supported multiple monitors...

</comment></comment></comment></comment><comment><USER7> Oh interesting, I built something similar to this a while back [https://graphit.io](https://graphit.io)

</comment><comment><USER8> I tried to pip install plotly with python 3.3 and got some errors. Is it Py3 compatible?

<comment><AUTHOR> To be honest, I haven't tested with Py3. It sounds like it isn't... I'll look into it. Thanks for reporting!

</comment></comment><comment><USER9> Is there going to be an offline version of this?

<comment><AUTHOR> We're interested in providing plotly to companies that can't have their data leave their servers (for ip reasons) but otherwise we're keeping plotly online.

Just curious, for what reasons would you prefer an offline version?</comment></comment>


Solving the TinyUrl centralization problem  - <AUTHOR> http://www.scripting.com/stories/2007/11/20/solvingTheTinyurlCentraliz.html

<comment><USER2> I am actually working on a project that addresses this, and some other things I consider weaknesses of tinyurl (persistency, etc.)</comment>


The future of agriculture - <AUTHOR> http://www.economist.com/technology-quarterly/2016-06-09/factory-fresh <comment><USER2> We need one more [https://en.wikipedia.org/wiki/Borlaug](https://en.wikipedia.org/wiki/Borlaug)</comment>


Show HN: It's Thyme - for cheaper, faster, better timetracking. - <AUTHOR> http://trackthyme.com/

<comment><USER2> yet another "I've got nothing to show yet but gimme your email to eventually know more later". Yawn.

<comment><USER3> I hear ya, but it's the easiest way to gauge interest before putting too much time into a completed product.

<comment><USER4> yes, it's the easiest way if no one else is doing the same thing.

But if there are a bunch of websites like these, which do the same thing and no one ever receives as no communication any time soon, no one's going to believe this has better chances than other.

At which point it's just a pain in the neck to signup for these.</comment></comment></comment>


What have I learned from 2+ years of online dating - <AUTHOR> https://medium.com/date-helper/what-have-i-learned-from-2-years-of-online-dating-cfe54d698bbb <comment><AUTHOR> Date Helper is the only app out there to help you get feedback from your dates.</comment>


Write in C - A geek song - sasha-dv http://write-in-c-song.blogspot.com/2009/08/write-in-c-geek-song.html

<comment><AUTHOR> Mandatory link to MC Plus+ web page: <http://mcplusplus.com/>. I think _Chip Hop Nerd_ is the most famous of his songs but the two albums are quite fun.

</comment><comment><USER2> I still prefer "The Eternal Flame" sung by Julia Ecklar (<http://www.gnu.org/fun/jokes/eternal-flame.html>)

</comment><comment><USER3> This reminds me about "QBasic Nerd" :) <http://www.youtube.com/watch?v=Mal6XbN5cEg>

</comment><comment><USER4> What is the point of creating a whole new blog for a single post? Eventually it will just make the entire namespace unusable.

</comment><comment><USER5> i was _hoping_ for a hip-hop version :)

<comment> sasha-dv Maybe we can challenge destorm to make it :)

</comment></comment><comment><USER6> For those who like musical geek humour, here's another one: <http://www.youtube.com/watch?v=BipvGD-LCjU></comment>


'Decade of Darkness' for California Spurring Generator Windfall - <AUTHOR> https://finance.yahoo.com/news/decade-darkness-california-spurring-generator-222156000.html <comment><USER2> Even though this is the view of the CEO of Generac (an AC generator manufacturer), there's some truth here. The operation of electrical distribution in California has changed radically in the last few years, as the risks at the wildland-urban interface have grown, and climate warming starts to drive more heat events. (And Paradise, CA, RIP).

Fire season, and it's annual 1-2 month California reign, has again come home to roost.</comment>


Elizabeth Warren wants jail time for CEOs in Equifax-style breaches - <AUTHOR> https://arstechnica.com/tech-policy/2019/04/elizabeth-warren-wants-to-jail-negligent-ceos-in-some-data-breaches/?comments=1 <comment><USER2> "On Wednesday, she announced the Corporate Executive Accountability Act, which would impose jail time on corporate executives who "negligently permit or fail to prevent" a "violation of the law" that "affects the health, safety, finances or personal data" of 1 percent of the population of any state."

This is really poorly thought out and in practice, impossible to enforce. This is clearly shoehorning a civil case framework into the criminal justice system.

"Negligently permit or fail to prevent" is the sort of clause that would almost inevitably end up hitting founders engaged in any sort of company that deals with personal data. Larger companies can simply fall back to delegating the security issue to a non-executive. At that point proving negligence becomes incredibly difficult.

"A violation of law that affects data" is also ridiculously broad. Currently, CFAA is already overbroad and assigns criminal liabilities to far too many potential acts that simply couldnn't have been imagined in the early 1980s. Any unauthorized access that sees records falling into the many categories stated and amounts to 1% of a state's population, which could be a few thousand rows, would somehow subject two people to imprisonment potentially.

And of course, how would this even be enforced? A company can simply change its terms and conditions to allow for information disclosure, and selling or giving away things certainly isn't illegal. This would immediately shift the onus back onto the one accessing the data, who also has no reason to report or cooperate.

If anyone actaully suffers a quantifiable injury, just sue. Warren clearly haven't been practicing criminal defense or having been a prosecutor for quite some time because this sort of statute is the sort that both sides get headaches for.

</comment><comment><USER3> How much longer will the emperor have no clothes and the pols claim something will be done? AGs had their chance when the 2008 financial debacle hit and all of Wall Street was guilty of destroying Main street beyond any reasonable doubt. Nothing was done. The republic burns down further.

</comment><comment><USER4> That's an interesting thought, especially if a breach is because of negligence, or a repeated pattern, or both.

For instance, consider Facebook, I'd imagine their response and actions for remediation would be quite different if such a law would exist - as for Facebook it's a repeating pattern.

</comment><comment><USER5> This would create an unprecedented case, all future lawsuits will reference back to this one in attempting to hold more CEOs accountable. Never going to happen!

</comment><comment><USER6> The result of this seems like it would create a ton of useless CYA you can put in front of a jury to make it impossible to prove negligence.</comment>


The Hackernews Upvote Button is Unusable on Mobiles. - <AUTHOR> http://www.snapbugz.com/result/news.ycombinator.com/e9def159-7f49-4cff-bf35-9f1274306139

<comment><USER2> Even worse: you can't "retract" an accidentally placed down- or upvote.

</comment><comment><USER3> It's pretty difficult to hit the vote buttons with a normal mouse/trackpad, too. Requires a lot of concentration.

</comment><comment><USER4> Just zoom-in a bit, it works fine.

Sure CSS stylesheet for mobile devices would be nice.

<comment><USER2> CSS would not help much with the nightmare of tables that the HTML code of HN is.

<comment><USER4> I know. But it would be enough to increase the font-size and change the width of the tables.

</comment></comment></comment><comment><USER5> A responsive version of hackernews would be not that difficult.

<comment><USER6> It was done by Moovweb [https://msean5423.news.ycombinator.com.moovapp.com/](https://msean5423.news.ycombinator.com.moovapp.com/)

If you want to get the source and understand the technology see [https://github.com/moovweb-demos/hackernews](https://github.com/moovweb- demos/hackernews)</comment></comment>


Cost (Why there is no search on YC News) - <AUTHOR> http://shelfmade.wordpress.com/2007/10/31/cost-why-there-is-no-search-on-yc/

<comment><USER2> I am going to say #2.

I would like a search, because if I didn't upvote something to save it from day/months ago, i still would want to see if the topic existed. People may have written a quality comment on another thread and may not want to repeat it, or comment 'this has been talked about already'

I know I can use google, but I can't see if it has been commented on. I really like the site and want to stay within it to do everything.</comment>


Faster deep learning with GPUs and Theano - <AUTHOR> https://opendatascience.com/blog/faster-deep-learning-with-gpus-and-theano/ <comment><USER2> This was written in 2015. I don't recommend Theano to learn DL. Keras is probably the best option (which runs on top of Theano or TensorFlow), and if you want to look under the hood, use TensorFlow directly. TensorFlow is probably the most popular DL framework today.

Two other frameworks have recently appeared: Caffe2 and PyTorch.

In my opinion, PyTorch is the most intuitive to use (similar to coding in Numpy). However, it does not support Windows yet. It's a Python version of the popular Torch DL framework, and is probably the most flexible tool for experimenting with DL today. Most bleeding edge research published today seems to be using Torch (should be easy to reproduce in PyTorch).

Caffe2 is the newest addition. It builds on a popular Caffe framework, so should be fast and scalable. It's still very new though, so expect issues.</comment>


Ask HN: What to expect and how to launch a non-gaming iPhone app? - <AUTHOR>

Hi HN,
I'm about to launch my productivity/utility based iPhone app - JustRemindIt (http://justremindit.com) in just few weeks. It's a voice call based reminder app. Simply type message and reminder details, and it will remind a receiver via a voice call. I've demoed it to many people during development phase and everyone thought it's a really cool app. But I've this feeling that, however cool it is, it's not cool as playing games. App store, which is predominantly dominated by Gaming app success stories, I was wondering how can a productivity/utility based app make success? I've read few posts on HN about iPhone app launch marketing, but many were targeted for gaming apps. So what steps shall I take to launch productivity/utility app successfully to generate initial buzz?
Also, in the long-term, what shall I expect (revenue, download wise) from a productivity/utility based apps? Can anyone share their experience in launching non-gaming apps, and seeing successful results?
PS: This is my first iPhone app launch. The app will be FREE to download, but users will have to buy reminder credits via in-app purchasing to send reminders. There are different packages based on number of credits that you can buy.
All suggestions and comments will be very helpful.
Thanks! Aditya <comment><USER2> My experience with Routesy (a public transit prediction application) is that it continues to sell steadily over time, even when it's not updated for a long time, and even when it's not new anymore. I think there's a major difference between applications that people play with for fun and ones that they intend to use every day.

If I were in your shoes (and I sort of am!) I would recommend really focusing a lot on user retention, and make sure you have analytics set up in your application (I use Flurry). You want to make sure that the people who are using your app like it enough to make it a part of their routine. If not, you need a good communication channel to figure out how to make improvements.

Your idea sounds really cool and buzz-worthy, so I would recommend checking out some of the recently posted articles here about how to pitch to bloggers. If you can pull it off, you should also create a spiffy demo video, and make it funny if you can.

Good luck Aditya, and please share your story and let us know how it goes! :)

<comment><AUTHOR> Thanks for great insights and suggestions! Yeah, retention is key for my app, as it's sort of subscription based model. So thanks for analytics suggestion. Will cook up demo video as well.

</comment></comment><comment><AUTHOR> Here is a clickable link in case you want to see the preview and earn some free credits before launch - <http://justremindit.com></comment>


CEO to workers: you'll likely be fired if Obama wins - <AUTHOR> http://www.cnbc.com/id/49356069

<comment><USER2> You should watch the film (Queen of Versailles). It's clear that 1) he's completely devoid of a soul; 2) he exploited the cheap money thing knowingly to build his business on subprime loans and didn't care who got hurt in the process (see #1). He's the perfect modern Republican. His wife comes off much more compassionately, and quite honestly, smarter, if likely insecure and troubled.

<comment><USER3> Interesting, how much perspective matters - I read the same article on Gizmodo, and some of the comments were a polar opposite. "You can kinda feel some sympathy for him, amongst his other issues, his wife comes off as a raging bitch."

It shows how polarized American society has become that one person's compassion becomes another's "raging bitch".

</comment></comment><comment><USER4> This part is so true: "Obviously, our present government believes that taking my money is the right economic stimulus for this country. The fact is, if I deducted 50 percent of your paycheck you'd quit and you wouldn't work here. I mean, why should you? Who wants to get rewarded only 50 percent of their hard work? Well, that's what happens to me."

Excellent article.

<comment><USER5> LOL.

By taking that line of thinking to its logical conclusion, there should be no taxes and no government. That's not going to happen, no matter who's in charge.

This is not an excellent article unless you're devoid of any analytical thinking skills.

<comment><USER6> It's absurd even without taking it to its logical conclusion.

There's no inherent value associated with what he does, the amount of money he "earns" is pretty arbitrary. The only way you can really judge it is by comparison to other people doing the same thing. You can compare to people doing other things, but this is at best an extremely crude measure, and borders on meaningless for people with extremely high incomes as he has.

Taxes affect him the same as anybody else, so there seems no basis for complaint there—he's not being singled out or treated unfairly—and given that at his income level, the amount he earns is _almost completely arbitrary_ , there doesn't seem any basis for saying that he doesn't get what he "deserves."

In other words, despite his pathetic attempt to claim he's being "wronged," really he's simply saying that he _wants moar money_ , and will threaten and browbeat people to try and achieve that end. Business as usual I suppose...

</comment></comment></comment><comment><USER4> I think many startups and successful entrepreneurs can appreciated this part:

"...People like me who made all the right decisions and invested in themselves are being forced to bail out all the people who didn't. The people that overspent their paychecks suddenly feel entitled to the same luxuries that I earned and sacrificed 42 years of my life for."

<comment><USER5> No, they don't. Because not everyone is as shallow, self-centered and soulless as this guy.

</comment></comment><comment><USER7> This is pretty much, par for the course. During G.W. Bush's first election my SO at the time received a similar corporate communication from the executives in MBNA. Pretty much telling them they would all be out of a job if they didn't vote for Bush, so she did.

</comment><comment><USER8> Regardless of your politics. If any CEO doesn't understand the lack of moral character in making a statement like this, I wouldn't expect them to have the moral character to run a business. And I would run fast lest I be implicated in a criminal act.

</comment><comment><USER9> This would be a great story to post on a Mainstream Media news site.

</comment><comment><USER10> Wow, the guy makes great points and has some serious issues.

However...

The rhetoric ruins the whole thing - at least for me.</comment>


A few questions about WannaCry - <AUTHOR> 1) They say its just going around the internet looking for computers, and it can go right in if they haven't updated Windows. How is the virus travelling around the internet? How does it enter a computer and what is the fix that prevents / lets it in?
2) Could this happen with Linux
3) Who is responsible for this issue? <comment><USER2> 1) It's using a SMBv1 exploit, which can be done via LAN or via Internet if ports are open. Security Roll Up from March will fix it, there is also a specific release for other unsupported OSes like XP/8 & Server 2003. Disabling SMBv1 should also work.

2) Only in WINE and you'll have to run it yourself.

3) Partly NSA for weaponizing the exploit. Users for not updating. Hackers/Crackers for creating it.

<comment><AUTHOR> The the issue is that Windows leaves a port open which is accessible to anyone online? And the update closes it?</comment></comment>


Microsoft exec calls out Apple on its aging Mac hardware; and he's right - <AUTHOR> http://tech.firstpost.com/news-analysis/microsoft-exec-calls-out-apple-on-its-aging-mac-hardware-and-hes-right-328718.html <comment><USER2> The unfair aspect of this criticism is that Apple is putting faster storage in recent macs, see

[http://semiaccurate.com/2016/11/15/apple-maintains-ux- domina...](http://semiaccurate.com/2016/11/15/apple-maintains-ux-dominance- nvme-ssds/)

and a 2007 machine with an SSD will run rings around a brand-new machine that is dragged down by an HDD.

No computer manufacturer has done a good job at convincing consumers of the value of SSDs.

<comment><USER3> Seriously? This is a $200 upgrade to a Dell or Lenovo laptop and with their current gen chips and support for more ram it will run circles around the Mac. To me that is a really poor argument. Apple soldered in the SSD and RAM so you can't even upgrade it to a better or more recent SSD as they come out. Not to mention I can't even upgrade the RAM as demands and applications change. Yet we pay a hefty premium for the Apple Macbook, way more then the $200 or so upgrading to a quality SSD would cost you.

Don't get me wrong, I work daily on a Macbook Pro, but I think it is likely limited unless Apple takes the Macbooks seriously. I understand that most people don't need more then 16Gb of Ram daily, but running VM's and IDE's etc can eat through RAM pretty fast, so having 32Gb would really be nice. Apple used to lead the pack when it came to this stuff, now they trail. That is I guess what is mainly just disappointing.</comment></comment>


The Android IM app that brought T-Mobile's network to its knees - <AUTHOR> http://www.fiercewireless.com/story/android-im-app-brought-t-mobiles-network-its-knees/2010-10-14 <comment><USER2> Sounds like they currently run their network in "trusted" mode. They need to start treating all clients as potentially rogue and malicious.

The internet at large suffered similarly when it grew to general use and is now better for it on many levels.

<comment><USER3> And the areas that refused to change are the most flaky parts of the infrastructure. No authentication of the "From" field in email? Well look at all that spam. No 3-way handshake for DNS? Well look at all that DNS cache poisoning.

The problem is that once the insecure infrastructure is "good enough", nobody adopts the improvements. See also: NAT vs. IPv6.

</comment></comment><comment><USER4> _Perhaps most interestingly, T-Mobile wrote that its network has come under significant strain from Apple's iPhone. ... USA Today in 2009 reported--citing unnamed sources--that T-Mobile had 300,000 unlocked iPhones running on its network._

</comment><comment><USER3> _A T-Mobile spokesperson was not immediately able to provide details on the incident, including when and where it happened and what application, developer and vendors were involved._

That sure adds to the credibility. I totally believe that this happened now!

</comment><comment><USER5> Seems like T-Mobile should upgrade their network.

</comment><comment><USER6> Catching criminals is too difficult with civil liberties.</comment>


ITER is a showcase  for the drawbacks of fusion energy - <AUTHOR> https://thebulletin.org/iter-showcase-drawbacks-fusion-energy11512 <comment><USER2> ITER is not a power station it is a research project.

In other news Wright brothers first plane unsuitable for transatlantic business travel. Colossus struggles to run Call of Duty.

<comment><USER3> I had that same criticism in my head while reading the first half of the article that mainly discusses the energy use of the project. That criticism was dispelled in the second half where fundamental problems with fusion reactors are discussed.

This article will certainly not cause me to dismiss fusion as a potential energy source outright, but it makes it very clear that even with ITER up and running, we are nowhere near being able to use fusion for energy generation. [1]

To pick up your analogy: It took only 1-2 decades to get from the Wright brothers to commercial aircrafts. In that sense, ITER looks more akin to one of Da Vinci's flying machines.

[1] Which makes me wonder about the buzz about Lockheed-Martin's skunkworks fusion projects.

<comment><USER4> All the size objections at least are just due to ITER being an obsolete design. MIT's ARC would use the same plasma physics and would have the same power output, but in a 10X smaller package by using modern superconductors.

There are also lots of alternative designs (including LM's); they have higher scientific risk because the plasma physics isn't understood as well, but may be more practical if they work out.

<comment><USER5> This is a good point, thank you for bringing it up.

I watched a talk by one of the MIT people on this, and their case is tremendously compelling. This is particularly true when you compare it to the pitfalls of the ITER project.

At some point, your megaproject is just too flawed and too out of date to make sense on its own. ITER's consumption of Tritium may do more to damage the future of fusion power than what it offers in terms of understanding of the plasma.

Sure, the newer designs are risky, but how is ITER not risky? Any decent risk analysis needs to look at things in terms of alternatives. I think ITER will give important knowledge in terms of plasma physics, I just cannot begin to fathom how that is worth the 10s of Billions and waiting 2 decades to get it.

The tragedy of megaprojects comes in the form of opportunity cost.

<comment><USER6> ITER is about farm more than just plasma physics. Tritium breeding from lithium is critical for any D-T reactor design and requires taking the vessel apart remotely and processing the blanket because of it's half life. That's just one of the many things involved and why you want a 'safe' design.

<comment><USER4> ARC handles breeding by using FLiBe, a molten salt coolant containing lithium. No disassembly required to harvest the tritium.

<comment><USER6> You can't really use liquids around plasma. You can try to have liquid lithium behind inside a solid container, but wall thickness directly relates to wall lifetime _AND_ you want the thinnest walls possible to maximize tritium production.

Worldwide Tritium production is on the order of 1 lb per year, that's not going to cut it when you want to scale up.

<comment><USER4> There's a solid inner reactor wall. It's 3-D printed and replaced once a year; the reactor has a modular design that makes it easy to do that.

<comment><USER6> Exactly, _replaced once a year_ that's easy to write but very hard to actually accomplish.

Just like ITER it's extremely radioactive during that process, so you need to handle all of that remotely and your reactor design must be capable of both opening and closing regularly.

Sure, it does not seem as sexy as superconductors, plasma, etc but it's a surprisingly hard problem.

PS: My point about not scaling up Tritium production just means reactor designs need to be net possessive Tritium producers, which is why the walls need to be thin and swapped out regularly.

<comment><USER4> One thing that makes it relatively easy to open the reactor is that the superconducting tapes can have joints without significant resistance, instead of being a continuous wrapping. They've tested the joints to make sure of this.

Here's a rendering showing how the reactor is put together: [https://www.youtube.com/watch?v=efOlmF3wjJE](https://www.youtube.com/watch?v=efOlmF3wjJE)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> ITER is a research project. As with all research, its main purpose is discovery of "incidental knowledge" , i.e. things you did not set out to research, but are important to know for future projects in the direction. ITER has between 1000 and 5000 highly qualified workers and scientists on site. The experience these people gain during the project can hardly be expressed in USD.

Furthermore, many companies gain experience in manufacturing parts for ITER - experience that might be useful for other projects in the future too.

Lastly, many different players collaborate in ITER so the whole of things is also a management experiment.

<comment><USER8> > _a management experiment_

Really? Billions and billions of Euros, hundreds of thousand of metric tons of concrete, hundreds of MW of power, thousands of gallons of fresh water-per- minute, tends of thousands of nuclear waste, to run a "management experiment"?? This has to be the most ludicrous, expensive and ill-designed case study in the history of mankind.

Also, it seems the word "experiment" is inadequate. An experiment requires

1/ a theory and an expectation of what should happen

2/ a rigorous, controlled and replicable setup, where you test the theory and compare the actual result to the expected one

Having many people from different nations working together does not qualify as a "experiment"; maybe it's an experience, or a happening (like a concert). It's the Woodstock of science; it must certainly be fun for all involved but it's unlikely humanity will make much progress because of it.

<comment><USER9> > > a management experiment

This is a disingenuous quote -- the parent said 'so the whole of things is also a management experiment'.

You then go on to attack that decontextualised fragment by saying:

> Really? Billions and billions of Euros, hundreds of thousand of metric tons > of concrete, hundreds of MW of power, thousands of gallons of fresh water- > per-minute, tends of thousands of nuclear waste, to run a "management > experiment"?? This has to be the most ludicrous, expensive and ill-designed > case study in the history of mankind.

And I'd suggest:

metric _tonnes_

hundreds of MW

thousands of imperial measurements of water that are re-usable

tends <sic> of thousands of nuclear waste ... means what, precisely?

refer you again to the 'also' runs a management experiment

This clearly is _not_ the most ludicrous, expensive, and ill-designed case study in the history of mankind, no matter how the coal industry wishes to describe it.

<comment><USER8> Sorry for the typos.

I fail to see how the "coal industry" reference applies to me however, or indeed, critics of this mammoth project that makes absolutely no sense.

I'm French and have been listening to politicians telling us the billions of Euros spent, and tons (why tonnes?) of concrete in an otherwise nice region would transform the production of energy, for most of my adult life.

As I've always suspected, that's complete BS, as the article makes clear. Why people who are not politicians would want to defend ITER, I don't know.

</comment></comment></comment></comment><comment><USER10> Thanks to some brilliant people, as well as advances in superconducting materials, MIT has a better plan than ITER, for a fraction of the budget:

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

<comment><USER11> It should be noted that all non-tokamak approaches to nuclear fusion offer cheaper costs than ITER. Tokamaks like ITER are an outlier when it comes to projected/actual costs. I'm going to avoid listing my personal favourite fusion project yet again on HN, but what I will say is ITER is not the only game in town, and there's lots of promising research being done into non- tokamak designs.

<comment><USER4> I agree, but will mention that MIT's plan is a tokamak. But it's ten times smaller, because they use new, commercially-available high temperature superconducting tapes that weren't around when ITER was designed. This lets them use a much stronger magnetic field. (MIT doesn't have funding for it but the private company Tokamak Energy is doing something similar.)

MIT's design is also easy to take apart, has a 3-d printed reactor core that gets replaced once a year, and surrounds that with FLiBe, the same molten salt used in some fission designs, for cooling and tritium breeding.

<comment><USER12> It's also all a design, and you'd be a fool to believe any upfront cost- projections are going to be hit.

ITER was not as expensive as it is back when it was designed either, but building things which have never been built before is full of risk.

In a sane world, we'd be funding both and probably more, seeing as how fusion power is basically one of the single most important technologies we could perfect in the modern age.

<comment><USER4> True, but we _have_ built working tokamaks like JET, which is about the same size as MIT's design, so it's not like the numbers come out of thin air either.

</comment></comment></comment></comment></comment><comment><USER13> When you start comparing the $20B cost for ITER versus "big" projects like the human genome, which took $1B over a similar time scale, ITER really does seem like a boondoggle. It's sucking up massive amounts of research dollars and attention on scientific/engineering goals that don't necessarily even move in the right direction! Suppose they succeed; then what? What has been learned that can spur the next $20B? Will the next tokamok take an order of magnitude less money to produce, like the next genome did the day after the first was released?

Big projects always use ridiculous and deceptive hype, but "unlimited energy" takes that to a new level, IMHO.

<comment><USER9> It's possible that your assessment is predicated on the idea that all advancement can be reduced to $-values, normalised over large time spans.

My feeling -- undeniably hard to substantiate -- is that this is a difficult position to defend _or_ attack.

<comment><USER13> I'm certainly not reducing the _advancement_ to dollar values. In contrast, the expenditure necessarily must be evaluated in money and time, and it's an age old problem: who gets the research allocations?

The advancements are often unknown, but even if the genome project hadn't had the side effect of spinning off a massive amount of technology, the end product would be a significant advancement that would have accelerated all manner of biological research. This was biology's biggest project ever, and it is massively dwarfed by the boondoggles of physics.

In contrast, what can we learn form ITER? The opportunity for learning seems awfully minimal, and if it does complete its goal, as the article points out, it's not terribly desirable. And if the end goal isn't desirable, where's the side-effects of tech development? There appears to be none. However many contractors get rich.

Potential for advancements can be difficult to judge, and the biggest advancements are almost never expected. But when judging must be done about potential, it's typically best done by those close to the field rather than by political means. ITER seems to be more of a political beast [1] than a scientific one. A political beast that has now robbed the field of fusion of $20B of dollars that could have gone to other research projects. (There's significant intra-science politics of course, that greatly steer the course of research as much as scientific goals. However I'd much rather go with those political winds than the politics of nations when deciding research.)

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

<comment><USER9> > In contrast, the expenditure necessarily must be evaluated in money and > time, and it's an age old problem: who gets the research allocations?

Sure, but a) when does the evaluation occur (after one year, after two years, after ten years, or after a new or accidental technology has been demonstrated to save humanity from certain destruction)?

> In contrast [to genome projects], what can we learn form ITER?

Experimental physics experiments have always suffered this comparison. I can't address your question, sorry.

Your suggestion that it may all be about the end goal (as if there's always and only a single end goal for research) is perhaps intentionally misguided - as you then hint at in your subsequent paragraph.

<comment><USER14> ITER does not do fundamental research like the LHC, they focus on very specific technical problems in the field of fusion power - as if it's already a given that their particular approach to power generation is desirable and workable.

The author's concern is that even is the problems are solved, tokamak fusion power is still a prohibitively expensive and unsustainable idea; it's only natural to question why those research resources funds aren't devoted to other areas that at least make an attempt to obtain directly useful results. The tritium economy issue is particularly wexing, any commercial D-T reactor will need outside, fission produced tritium.

</comment></comment></comment></comment></comment><comment><USER15> I'd love to read equivalent commentary about the Lockheed Martin Skunk Works Compact Fusion project. [https://www.lockheedmartin.com/us/products/compact- fusion.ht...](https://www.lockheedmartin.com/us/products/compact-fusion.html)

If Compact Fusion is crank science, why is it on Lockheed's website? Potential Applications:

       safe power for safe seas
       planes with unlimited range and unmatched endurance
       power a city of 50,000 people
       speed up space travel

Etc. Is that just bullshit to make shareholders feel better? Or are there realistic alternatives to grandiose megaprojects like ITER?

<comment><USER16> I think there are quite a few credible alt-fusion projects out there. I have no particular animus towards ITER but I am disappointed that its multi-decade scope, megabudget, and sunk cost, are starving research allocation into other approaches. Some of which seem to have clearer paths to energy production than magnetic confinement fusion. My favorite dark horse is the inertial electrostatic confinement Polywell design, which is currently being funded (crumbs in comparison to ITER) by the Navy, who would of course love a submarine sized fusion reactor. [https://en.wikipedia.org/wiki/Polywell](https://en.wikipedia.org/wiki/Polywell)

Cool thing with the Polywell - if the physics actually pan out, the full size one should be able to fuse hydrogen and boron, which won't produce neutron radiation, just alpha particles that can be directly converted to electricity.

</comment></comment><comment><USER17> Who cares? How much were the solar cells on the market recently? 22 cents a watt? Any chance fusion could beat that price, even taken into account solar's dismal load factors?

<comment><AUTHOR> But you need access to sunlight for solar panels to work. You can't have that constantly due to the rotation of the earth. Or if you move further away from the sun. Or into the constant shadow of a planet or moon, to shield your scientific equipment from sun radiation. Or even underwater/underground on earth. Etc.

So there will always be a use case for fusion energy, if it works.

<comment><USER17> True, there may be uses cases for it. But with renewables price collapse in the last 10 years, and very likely further at least 2x price reduction of solar and slight on wind, this is no longer a make or break thing for humanity. More research and commercialization of advanced batteries would further reduce importance of fusion. I am getting to think that fusion has nearly ran out of time. 10 years down the road, potential market for it may become too small to justify the immense expenses - and by that point, 'mainstream' projects are not expected to bear fruit yet.

<comment><USER18> It's easy to make the leap you're making but while intermittent renewable costs have indeed been falling, they're doing it in an environment with cheap dispatchable backup natural gas. Once you get to around 50% intermittent renewable penetration the storage costs get crazy. In a four-state area in the Pacific Northwest from December 5 to December 15th, all 4 billion watts of wind generation sat dormant because of a wind lull. Batteries for that would cost $90 billion and take up a football field 100 stories tall.

<comment><USER15> _Batteries for that would cost $90 billion and take up a football field 100 stories tall._

Cost is certainly a reasonable argument to make. But not the "football field" argument for how much area it would take. Given how small a number that is, I just can't see how that is concerning at all. And besides, nobody is going to place $90 billion of batteries into a single structure.

A football field is 5351.2 square meters.[1] Instead of a single 100 story tall structure, how about 100 separate single story structures? That's 535120 square meters.

Let's consider a site in the Pacific Northwest that has lots of excess land available, the Hanford Site[2] (for some reason, nobody wants to use it for shopping malls or residential subdivisions). That site is 1,518 square kilometers.

You could place those 100 football fields of batteries onto 0.035% of the land area of the Hanford site. There are probably still functional high voltage transmission lines there, and if not, then building new lines to get that battery power to BPA's nearby grid wouldn't be difficult or expensive.

Anyway, I'm just being silly. It doesn't make sense to put those batteries into either a single $90 billion dollar 100 story building, or onto cheap land at the Hanford site. But having 20 or even 100 separate battery sites scattered throughout the area is certainly feasible.

Your overall point is valid, even though batteries will eventually become much cheaper. It's currently difficult to store large amounts of intermittently generated power.

[1] [https://en.wikipedia.org/wiki/Football_field](https://en.wikipedia.org/wiki/Football_field) [2] [https://en.wikipedia.org/wiki/Hanford_Site](https://en.wikipedia.org/wiki/Hanford_Site)

<comment><USER18> You're definitely right that no one would but then in one building. I chose that analogy because it's easy to visualize, whereas lots of smaller building are not. My cost estimate included raw lithium only and assumed the land and building were free to be conservative. Also This is just for 4GWe, a tiny fraction of the PNWs total energy capacity.

</comment></comment></comment></comment></comment></comment><comment><USER19> ITER is a very large and tightly packed network of piping, wiring and components. A change to one part will cascade through the system.

Having spent some time with computer assisted design systems, I suspect making these changes is a very laborious manual process.

Are we software limited here too?

</comment><comment><USER20> With all the waste heat, you'd think some kind of district heating would be attempted?

<comment><USER21> ITER will only be able to run at full power for a few weeks before its materials reach their radiation damage limits, so trying to use its heat output would not make any sense. And unless they can get disruptions well under control on non-tritium shots, it will never be allowed to do any DT runs.

</comment></comment><comment><USER21> ITER is a dead end. It would require multiple miracles to get anything remotely competitive out of it, and that's just not going to happen.

First, realize what's holding back nuclear fission. It's not nuclear waste, or safety, or Greenpeace, or the cost of uranium. It's the capital cost of the powerplants, and to a lesser extent the non-fuel operating cost of the plants.

Fusion would make these two main problems worse, not better.

The fusion power density of ITER's plasma (note: just the plasma, not including the total volume of the reactor) is 0.6 MW/m^3. The power density of the core of a pressurized water reactor, on the other hand, is 100 MW/m^3. And the machinery around a PWR core is much simpler than all the magnets and such around a fusion core.

(The ARC reactor has somewhat higher power density, but still sucks compared to a PWR.)

That fusion power density sucks has been known for decades. It follows from basic physical considerations (square-cube law) and is largely independent of the details of the reactor design. See Lawrence Lidsky's famous 1983 article in MIT's Technology Review, "The Trouble With Fusion".

The inevitable result of this is that fusion power will be more expensive than fission power. The capital cost will be much higher.

ITER's high cost has been explained as due to international coordination, but actually the cost was lowballed from the start. If they had gone with cost estimates of previous reactors, and scaled them on the cost/size plot, ITER should have been estimated at 3-4x what they said it would cost.

Now, operating cost...

Fusion reactors are extremely complex, much more so than fission reactors. This means they will break more often. And all the parts inboard of a DT (or DD, or D3He) reactor's biological shield (in ARC, this includes the magnets) will be too hot for hands-on maintenance. So all the repairs will have to be done by robots. Good luck with that!

In a reactor the size of ITER, all the armor on the first wall will have to be water cooled. Each component slab of this armor cannot fail. A single leak in any of them will render the reactor incapable of sustaining a plasma. I understand that when conventional reliability estimation techniques are applied to these things, one concludes the reactor will be able to operate only a few percent of the time. This isn't even good enough for a research reactor, never mind a commercial reactor.

And what will fusion face if, by some miracle, a "working" reactor is finally made? In the last 40 years photovoltaic modules have declined in cost by about a factor of 200. What will happen in the next 40 years? ITER, if all its fusion output were converted to electrical power at 40% efficiency (and none needed to be fed back) would cost > $100/W. PV modules are now about a factor o 300x less than that. Even if we divide the PV number by four, ITER is so far out of the running it's absurd.

To finish, I'll add that to truly replace fossil fuels, electrical power has to come in cheap enough that resistive heat displaces natural gas. This requires electricity around $0.01/kWh. There appears to be no chance ITER, ARC, or any of the other fusion schemes could approach this, even with hugely optimistic assumptions.

</comment><comment><USER22> It's worth making a few notes:

1\. ITER is a political beast, not a practical one.

2\. These are problems with D-T fusion, not all fusion, although...

3\. Aneutronic fusion isn't even on the remote horizon. Fusion has incredible potential, but probably not for anyone alive today.

<comment><USER11> Regarding point 2, the only drawback I'm aware of with D-T fusion is that it still produces nuclear waste (whereas aneutronic fusion produces zero/close to zero nuclear waste), however the nuclear waste produced by D-T fusion is said to be:

* Smaller in size than the nuclear waste produced by the current approaches to nuclear fission.

* Has a shorter half life than spent nuclear fission fuel, meaning that it doesn't take as long before it's safe to take it out of storage.

Aside from nuclear waste, are there other drawbacks to D-T fusion that people should be aware of?

<comment><USER4> Concern about tritium leaks, the need for tritium breeding which limits how fast you can build new reactors, hard neutron radiation that theoretically could be used to breed fissiles (but only if you have a high-enough tritium breeding ratio to keep the reactor fueled, despite not using all your neutrons for that), and the need for a steam turbine, which means you're not going to achieve the extremely low costs that may be achievable with aneutronic fusion.

Which doesn't mean D-T is hopeless, just not as good as aneutronic. I've seen fusion scientists say the waste from D-T reactors would only need to be contained for several decades.

<comment><USER11> > "the need for a steam turbine"

Where's the steam turbine in the following fusion approach?

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

[https://lppfusion.com/fusion-power/dpf-device/](https://lppfusion.com/fusion- power/dpf-device/)

<comment><USER4> Exactly, that one's aneutronic.

<comment><USER11> It can use both D-T and pB11. The majority of tests to date have been with D-T. It's best not to confuse the reactor design with the target fuel.

<comment><USER4> Actually pure deuterium in the tests so far. But the design explicitly targets boron fusion. If it were adapted to D-T, then it would in fact need a steam turbine. The great thing about pB11 is that most of the energy output is fast- moving charged particles, and that's not true of D-T.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Do we really need to build something anymore if we can simulate it in a computer first?

How did the simulation go and is it a net gain?

I guess if the data varies that it will also help us learn more about physics.

<comment><USER24> Question: How do you know if your simulation is correct?

</comment></comment><comment><USER25> The contrarian opinion is to increase budget 100X, construct Helium-3 mining colonies on the lunar surface, and deploy rocket foundries for missions to Titan and beyond ;)

[http://www.moonexpress.com/](http://www.moonexpress.com/)

Direct Fusion Drive For A Human Mars Orbital Mission

[https://bp.pppl.gov/pub_report/2014/PPPL-5064.pdf](https://bp.pppl.gov/pub_report/2014/PPPL-5064.pdf)

Future Chinese Lunar Missions

[https://nssdc.gsfc.nasa.gov/planetary/lunar/cnsa_moon_future...](https://nssdc.gsfc.nasa.gov/planetary/lunar/cnsa_moon_future.html)

</comment><comment><USER26> I went to a talk by one of the materials scientists at JET a few years ago, and he stressed that in terms of that part, the biggest challenge is the neutron bombardment of the steel reactor vessel. He was saying that the biggest problem is that current calculations mean you'd need to replace the entire highly irradiated reactor vessel after 3/4/5 years or so because of structural defects and helium bubbles forming in the cracks.</comment>


Show HN: KV Personal Accounting web app - <AUTHOR> http://ec2-35-157-217-245.eu-central-1.compute.amazonaws.com/ <comment><AUTHOR> KV Accounting is a predictable personal accounting app.

Its main features are:

\- Double-entry bookkeeping

\- Simple, easy-to-use adaptive design

\- Correct, error-less recurrent transactions

All the development is done on GitHub ([https://github.com/kv-key- value/accounting](https://github.com/kv-key-value/accounting)).

</comment><comment><USER2> Woah, that domain name.

Also, I got kinda sidetracked looking into this StandardFile thing -- can I just use localstorage or something if I don't want to figure out what's going on with that?

</comment><comment><AUTHOR> @hawkice

Sure, selecting localStorage as main storage would be a good option. StandardFile provides security and encryption, that's all :)

Thanks for the feedback!</comment>


Geotooth: universal location tracking of Bluetooth devices - <AUTHOR> http://geotooth.com/Home/HowItWorks

<comment><USER2> Seriously!!

Just because there is a remotest chance that some person will actually know of this website and even remotest chance that that person who knows this website remembers this when that person stumbles upon a unidentified mobile phone and upload that data and the ultimate remotest chance that that phone is mine.

And for this, I have to reveal my accurately reveal my location.

Has this geotooth developer got no other better things to do than this?</comment>


Senate plans disastrous tax on vesting that could kill stock compensation - <AUTHOR> https://techcrunch.com/2017/11/13/tax-on-vesting/ <comment><USER2> If a startup is giving equity to employees because they have nothing else to give them, what is that equity actually worth? Isn't it possible they'd be paying more taxes later if the company is actually successful, and thus its stock is actually worth something?</comment>


How I Won My Bet and Raised $3M - <AUTHOR> https://medium.com/into-the-forest/how-we-won-our-bet-and-raised-3m-a046c86c9359 <comment><AUTHOR> A year ago, I took the biggest risk for the future of my company Forest Admin. Today I'm more confident than ever in our ability to achieve our vision.

The story explained in the article is a summary. I would love to get into the details if you have any question ;) Thanks!</comment>