Qantas launches inspection blitz after cracks found on Boeing 737 jet - <AUTHOR> https://www.smh.com.au/business/companies/qantas-launches-inspection-blitz-after-cracks-found-on-boeing-737s-20191030-p535xo.html <comment><USER2> Is this "and also at Quantas" because this story is over a month old: [https://www.dailymail.co.uk/news/article-7515909/Unusual- cra...](https://www.dailymail.co.uk/news/article-7515909/Unusual-cracking- detected-Boeing-737-Generation-aircrafts.html)

<comment><USER3> It's 'Qantas'... "Queensland and Northern Territory Aerial Services"

<comment><USER4> Shouldn't it be QANTAS

<comment><USER5> I believe the widely accepted (but not universal) format for acronyms is all caps if each letter pronounced...for example MIT. Only the first letter is capitalized if hte acronym is pronounced as a word...for example Nasa.

<comment><USER6> Historically, MIT is not an acronym since it's not pronounced as a word. MIT is just an abbreviation (specifically an initialism), while NASA is an acronym.

[https://www.merriam-webster.com/dictionary/acronym](https://www.merriam- webster.com/dictionary/acronym)

I don't think there's any rules about capitalization and acronyms, as scuba and laser are acronyms, and not capitalized, but NASA is. I've also never seen Nasa, it's always all capitals NASA.

<comment><USER5> Look at this: [https://www.bbc.co.uk/blogs/collegeofjournalism/entries/8f7c...](https://www.bbc.co.uk/blogs/collegeofjournalism/entries/8f7cf269-9ee1-341b-81a8-1ebfe73c80a0)

<comment><USER7> That's just how the BBC writes acronyms, Nasa themselves write their name all- caps.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> "Qantas. Qantas never crashed."

<comment><USER9> From Rain Man - [https://www.imdb.com/title/tt0095953/quotes/qt0192567](https://www.imdb.com/title/tt0095953/quotes/qt0192567)

</comment></comment><comment><USER10> "Detailed analysis by Boeing shows that even where this crack is present, it does not immediately compromise the safety of the aircraft – as indicated by the time-frame given by regulators to perform the checks."

Oh, well that seems absolutely _fine_ then...

<comment><USER11> Stress-related cracks eventually form in all aluminum aircraft, particularly at the wing root, so it's a well-studied aspect of aircraft safety.

Engineers have a _very_ good idea of what's dangerous and what is not.

<comment><USER12> I think the concern here is that engineers understanding might eventually be overruled by managements need to decrease costs, roll out faster, etc...

<comment><USER13> In that case i guess it's lucky that Qantas management jumped on it so quickly and didn't worry about decreasing costs

<comment><USER11> Tier 1 airlines are _strongly_ motivated to prevent catastrophic loss of aircraft.

Killing passengers is generally considered to be bad for business.</comment></comment></comment></comment></comment>


Recognizing Instruments in Music - <AUTHOR> https://www.musicinformatics.gatech.edu/conferences/instrument-activity-detection-in-polyphonic-music/ <comment><USER2> I did not know that instrumentation recognition was an unsolved problem. I wasn't the best at recognizing instruments when it came up in AP Music Theory tests but at least I have something in my skills toolbox I can point out as being still superior to that of the machines.

<comment><USER3> Instrument recognition is mostly solved in the isolated notes or single instrument/monophonic scenarios. The problem that remains is instrument identification in polyphonic songs where multiple instruments occur, and even overlap. Most current research focuses on solving this task.</comment></comment>


DNF into C initiative started (package manager) - <AUTHOR> http://dnf.baseurl.org/2016/02/24/dnf-into-c-initiative-started/ <comment><USER2> Would somebody explain why this is being done?</comment>


JavaScript Clinical Natural Language Processing Engine - <AUTHOR> http://notecoder.org <comment><AUTHOR> Some friends and I wanted to experiment with whether you could do natural language processing in the client. We built a clinical NLP engine that takes text and identifies disease mentions with their associated ICD-10-CM codes. It is fast (efficient hash + no need to send off to a server) and safe since no health information is ever sent over the internet. We were happy with the result. Let us know what you think!

We believe the tool could be useful for clinical research (rapid cohort identification), medical auditing, and more.</comment>


The WTF-8 encoding - <AUTHOR> https://simonsapin.github.io/wtf-8/ <comment><USER2> Aw man. I was using "WTF-8" to mean "Double UTF-8", as I described most recently at [1]. Double UTF-8 is that unintentionally popular encoding where someone takes UTF-8, accidentally decodes it as their favorite single-byte encoding such as Windows-1252, then encodes _those_ characters as UTF-8.

[1] [http://blog.luminoso.com/2015/05/21/ftfy-fixes-text-for- you-...](http://blog.luminoso.com/2015/05/21/ftfy-fixes-text-for- you-4-0-changing-less-and-fixing-more/)

It was such a perfect abbreviation, but now I probably shouldn't use it, as it would be confused with Simon Sapin's WTF-8, which people would actually use on purpose.

<comment><USER3> This is actually where the name is from, I found it too funny to pass up: [https://simonsapin.github.io/wtf-8/#acknowledgments](https://simonsapin.github.io/wtf-8/#acknowledgments) [https://twitter.com/koalie/status/506821684687413248](https://twitter.com/koalie/status/506821684687413248)

Sorry for hijacking it!

<comment><USER2> >  the future of publishing at W3C

That is an amazing example.

It's not even "double UTF-8", it's UTF-8 _six times_ (including the one to get it on the Web), it's been decoded as Latin-1 twice and Windows-1252 three times, and at the end there's a non-breaking space that's been converted to a space. All to represent what originated as a single non-breaking space anyway.

Which makes me happy that my module solves it.

        >>> from ftfy.fixes import fix_encoding_and_explain
        >>> fix_encoding_and_explain(" the future of publishing at W3C")
        ('\xa0the future of publishing at W3C',
         [('encode', 'sloppy-windows-1252', 0),
          ('transcode', 'restore_byte_a0', 2),
          ('decode', 'utf-8-variants', 0),
          ('encode', 'sloppy-windows-1252', 0),
          ('decode', 'utf-8', 0),
          ('encode', 'latin-1', 0),
          ('decode', 'utf-8', 0),
          ('encode', 'sloppy-windows-1252', 0),
          ('decode', 'utf-8', 0),
          ('encode', 'latin-1', 0),
          ('decode', 'utf-8', 0)])

<comment><USER4> Hey, is there any way I could automate this kind of fix? It'd be awesome for web scraping.

<comment><USER2> Automating this fix is precisely what I'm showing off. And yes, it's _damn_ useful for web scraping.

[https://github.com/LuminosoInsight/python- ftfy](https://github.com/LuminosoInsight/python-ftfy)

</comment></comment></comment></comment></comment><comment><USER5> You really want to call this WTF (8)? Is it april 1st today? Am I the only one that thought this article is about a new funny project that is called "what the fuck" encoding, like when somebody announced he had written a to_nil gem [https://github.com/mrThe/to_nil](https://github.com/mrThe/to_nil) ;) Sorry but I can't stop laughing.

<comment><USER3> This is intentional. I wish we didn't have to do stuff like this, but we do and that's the "what the fuck". All because the Unicode Committee in 1989 really wanted 16 bits to be enough for everybody, and of course it wasn't.

<comment><USER6> The mistake is older than that. Wide character encodings in general are just hopelessly flawed.

<comment><USER7> WinNT, Java and a lot of more software use wide character encodings UCS2/UTF-16(/UTF-32?). And it was added to C89/C++ (wchar_t). WinNT actually predates the Unicode standard by a year or so. [http://en.wikipedia.org/wiki/Wide_character](http://en.wikipedia.org/wiki/Wide_character) , [http://en.wikipedia.org/wiki/Windows_NT#Development](http://en.wikipedia.org/wiki/Windows_NT#Development)

Converting between UTF-8 and UTF-16 is wasteful, though often necessary.

> wide characters are a hugely flawed idea [parent post]

I know. Back in the early nineties they thought otherwise and were proud that they used it in hindsight. But nowadays UTF-8 is usually the better choice (except for maybe some asian and exotic later added languages that may require more space with UTF-8) - I am not saying UTF-16 would be a better choice then, there are certain other encodings for special cases.

<comment><USER6> And as the linked article explains, UTF-16 is a huge mess of complexity with back-dated validation rules that had to be added because _it stopped being a wide-character encoding_ when the new code points were added. UTF-16, when implemented correctly, is actually significantly _more_ complicated to get right than UTF-8.

UTF-32/UCS-4 is quite simple, though obviously it imposes a 4x penalty on bytes used. I don't know anything that uses it in practice, though surely something does.

Again: wide characters are a hugely flawed idea.

<comment><USER8> i think linux/mac systems default to UCS-4, certainly the libc implementations of wcs* do.

i agree its a flawed idea though. 4 billion characters seems like enough for now, but i'd guess UTF-32 will need extending to 64 too... and actually how about decoupling the size from the data entirely? it works well enough in the general case of /every type of data we know about/ that i'm pretty sure this specialised use case is not very special.

<comment><USER9> Yes. sizeof(wchar_t) is 2 on Windows and 4 on Unix-like systems, so wchar_t is pretty much useless. That's why C11 added char16_t and char32_t.

<comment><USER10> I'm wondering how common the "mistake" of storing UTF-16 values in wchar_t on Unix-like systems? I know I thought I had my code carefully basing whether it was UTF-16 or UTF-32 based on the size of wchar_t, only to discover that one of the supposedly portable libraries I used had UTF-16 no matter how big wchar_t was.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> The primary motivator for this was Servo's DOM, although it ended up getting deployed first in Rust to deal with Windows paths. We haven't determined whether we'll need to use WTF-8 throughout Servo—it may depend on how document.write() is used in the wild.

<comment><USER12> So we're going to see this on web sites. Oh, joy.

It's time for browsers to start saying no to really bad HTML. When a browser detects a major error, it should put an error bar across the top of the page, with something like "This page may display improperly due to errors in the page source (click for details)". Start doing that for serious errors such as Javascript code aborts, security errors, and malformed UTF-8. Then extend that to pages where the character encoding is ambiguous, and stop trying to guess character encoding.

The HTML5 spec formally defines consistent handling for many errors. That's OK, there's a spec. Stop there. Don't try to outguess new kinds of errors.

<comment><USER3> No. This is an internal implementation detail, not to be used on the Web.

As to draconian error handling, that's what XHTML is about and why it failed. Just define a somewhat sensible behavior for every input, no matter how ugly.

</comment></comment></comment><comment><USER3> I also gave a short talk at !!Con about this, with some Unicode history background: [http://exyr.org/2015/!!Con_WTF-8/slides.pdf](http://exyr.org/2015/!!Con_WTF-8/slides.pdf)

</comment><comment><AUTHOR> I found this through [https://news.ycombinator.com/item?id=9609955](https://news.ycombinator.com/item?id=9609955) \-- I find it fascinating the solutions that people come up with to deal with other people's problems without damaging correct code. Rust uses WTF-8 to interact with Windows' UCS2/UTF-16 hybrid, and from a quick look I'm hopeful that Rust's story around handling Unicode should be much nicer than (say) Python or Java.

<comment><USER13> Have you looked at Python 3 yet? I'm using Python 3 in production for an internationalized website and my experience has been that it handles Unicode pretty well.

<comment><USER14> Python 3 doesn't handle Unicode any better than Python 2, it just made it the default string. In all other aspects the situation has stayed as bad as it was in Python 2 or has gotten significantly worse. Good examples for that are paths and anything that relates to local IO when you're locale is C.

<comment><USER15> That is not _quite_ true, in the sense that more of the standard library has been made unicode-aware, and implicit conversions between unicode and bytestrings have been removed. So if you're working in either domain you get a coherent view, the problem being when you're interacting with systems or concepts which straddle the divide or (even worse) may be in either domain depending on the platform. Filesystem paths is the latter, it's text on OSX and Windows — although possibly ill-formed in Windows — but it's bag-o-bytes in most unices. There Python 2 is only "better" in that issues will probably fly under the radar if you don't prod things too much.

<comment><USER14> There is no coherent view at all. Bytes still have methods like .upper() that make no sense at all in that context, while unicode strings with these methods are broken because these are locale dependent operations and there is no appropriate API. You can also index, slice and iterate over strings, all operations that you really shouldn't do unless you really now what you are doing. The API in no way indicates that doing any of these things is a problem.

Python 2 handling of paths is not good because there is no good abstraction over different operating systems, treating them as byte strings is a sane lowest common denominator though.

Python 3 pretends that paths can be represented as unicode strings on all OSes, that's not true. That is held up with a very leaky abstraction and means that Python code that treats paths as unicode strings and not as paths-that- happen-to-be-unicode-but-really-arent is broken. Most people aren't aware of that at all and it's definitely surprising.

On top of that implicit coercions have been replaced with implicit broken guessing of encodings for example when opening files.

<comment><USER16> When you say "strings" are you referring to strings or bytes? Why shouldn't you slice or index them? It seems like those operations make sense in either case but I'm sure I'm missing something.

On the guessing encodings when opening files, that's not really a problem. The caller should specify the encoding manually ideally. If you don't know the encoding of the file, how can you decode it? You could still open it as raw bytes if required.

<comment><USER14> I used strings to mean both. Byte strings can be sliced and indexed no problems because a byte as such is something you may actually want to deal with.

Slicing or indexing into unicode strings is a problem because it's not clear what unicode strings are strings of. You can look at unicode strings from different perspectives and see a sequence of codepoints or a sequence of characters, both can be reasonable depending on what you want to do. Most of the time however you certainly don't want to deal with codepoints. Python however only gives you a codepoint-level perspective.

Guessing encodings when opening files is a problem precisely because - as you mentioned - the caller should specify the encoding, not just sometimes but always. Guessing an encoding based on the locale or the content of the file should be the exception and something the caller does explicitly.

<comment><USER16> It slices by codepoints? That's just silly, so we've gone through this whole unicode everywhere process so we can stop thinking about the underlying implementation details but the api forces you to have to deal with them anyway.

Fortunately it's not something I deal with often but thanks for the info, will stop me getting caught out later.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> > _It is unclear whether unpaired surrogate byte sequences are supposed to be > well-formed in CESU-8._

According to the Unicode Technical Report #26 that defines CESU-8[1], CESU-8 is a Compatibility Encoding Scheme for UTF-16 ("CESU"). In fact, the way the encoding is defined, the source data _must_ be represented in UTF-16 prior to converting to CESU-8. Since UTF-16 cannot represent unpaired surrogates, I think it's safe to say that CESU-8 cannot represent them either.

[1] [http://www.unicode.org/reports/tr26/](http://www.unicode.org/reports/tr26/)

<comment><USER3> On further thought I agree. [https://github.com/SimonSapin/wtf-8/commit/51abeef717a161ba9...](https://github.com/SimonSapin/wtf-8/commit/51abeef717a161ba9eea9624cd0a040d15bdbe7b)

</comment></comment><comment><USER18> From the article:

>UTF-16 is designed to represent any Unicode text, but it can not represent a surrogate code point pair since the corresponding surrogate 16-bit code unit pairs would instead represent a supplementary code point. Therefore, the concept of Unicode scalar value was introduced and Unicode text was restricted to not contain any surrogate code point. (This was presumably deemed simpler that only restricting pairs.)

This is all gibberish to me. Can someone explain this in laymans terms?

<comment><USER19> People used to think 16 bits would be enough for anyone. It wasn't, so UTF-16 was designed as a variable-length, backwards-compatible replacement for UCS-2.

Characters outside the Basic Multilingual Plane (BMP) are encoded as a pair of 16-bit code units. The numeric value of these code units denote codepoints that lie themselves within the BMP. While these values can be represented in UTF-8 and UTF-32, they cannot be represented in UTF-16. Because we want our encoding schemes to be equivalent, the Unicode code space contains a hole where these so-called surrogates lie.

Because not everyone gets Unicode right, real-world data may contain unpaired surrogates, and WTF-8 is an extension of UTF-8 that handles such data gracefully.

</comment></comment><comment><USER20> I understand that for efficiency we want this to be as fast as possible. Simple compression can take care of the wastefulness of using excessive space to encode text - so it really only leaves efficiency.

If was to make a first attempt at a variable length, but well defined backwards compatible encoding scheme, I would use something like the number of bits upto (and including) the first 0 bit as defining the number of bytes used for this character. So,

> 0xxxxxxx, 1 byte > 10xxxxxx, 2 bytes > 110xxxxx, 3 bytes.

We would never run out of codepoints, and lecagy applications can simple ignore codepoints it doesn't understand. We would only waste 1 bit per byte, which seems reasonable given just how many problems encoding usually represent. Why wouldn't this work, apart from already existing applications that does not know how to do this.

<comment><USER3> That's roughly how UTF-8 works, with some tweaks to make it self- synchronizing. (That is, you can jump to the middle of a stream and find the next code point by looking at no more than 4 bytes.)

As to running out of code points, we're limited by UTF-16 (up to U+10FFFF). Both UTF-32 and UTF-8 unchanged could go up to 32 bits.

</comment></comment><comment><USER21> Pretty unrelated but I was thinking about efficiently encoding Unicode a week or two ago. I think there might be some value in a fixed length encoding but UTF-32 seems a bit wasteful. With Unicode requiring 21 (20.09) bits per code point packing three code points into 64 bits seems an obvious idea. But would it be worth the hassle for example as internal encoding in an operating system? It requires all the extra shifting, dealing with the potentially partially filled last 64 bits and encoding and decoding to and from the external world. Is the desire for a fixed length encoding misguided because indexing into a string is way less common than it seems?

<comment><USER3> Opinions: no it's not worth the hassle. Yes, "fixed length" is misguided. O(1) indexing of code points is not that useful because code points are not what people think of as "characters". (See combining code points.) [http://lucumr.pocoo.org/2014/1/9/ucs-vs- utf8/](http://lucumr.pocoo.org/2014/1/9/ucs-vs-utf8/)

</comment></comment><comment><USER22> Why this over, say, CESU-8? Compatibility with UTF-8 systems, I guess?

<comment><USER23> According to the article, they wanted a superset of UTF-8, which CESU-8 is not. [https://simonsapin.github.io/wtf-8/#cesu-8](https://simonsapin.github.io/wtf-8/#cesu-8)

<comment><USER3> Yes. For example, this allows the Rust standard library to convert &str (UTF-8) to &std::ffi::OsStr (WTF-8 on Windows) without converting or even copying data.

</comment></comment></comment><comment><USER24> An interesting possible application for this is JSON parsers. If JSON strings contain unpaired surrogate code points, they could either throw an error or encode as WTF-8. I bet some JSON parsers think they are converting to UTF-8, but are actually converting to GUTF-8.

<comment><USER3> If you _want_ to preserve unpaired surrogates that are hex-encoded in JSON strings, WTF-8 could help. But it's unclear to me that you _should_ : [https://tools.ietf.org/html/rfc7159#section-8.2](https://tools.ietf.org/html/rfc7159#section-8.2)

</comment></comment><comment><USER25> Serious question -- is this a serious project or a joke?

<comment><USER15> The name is unserious but the project is very serious, its writer has responded to a few comments and linked to a presentation of his on the subject[0]. It's an extension of UTF-8 used to bridge UTF-8 and UCS2-plus- surrogates: while UTF8 is _the_ modern encoding you have to interact with legacy systems, for UNIX's bags of bytes you may be able to assume UTF8 (possibly ill-formed) but a number of other legacy systems used UCS2 and added visible surrogates (rather than proper UTF-16) afterwards.

Windows and NTFS, Java, UEFI, Javascript all work with UCS2-plus-surrogates. Having to interact with those systems from a UTF8-encoded world is an issue because they don't guarantee well-formed UTF-16, they might contain unpaired surrogates which can't be decoded to a codepoint allowed in UTF-8 or UTF-32 (neither allows unpaired surrogates, for obvious reasons).

WTF8 extends UTF8 with unpaired surrogates (and unpaired surrogates only, paired surrogates from valid UTF16 are decoded and re-encoded to a proper UTF8-valid codepoint) which allows interaction with legacy UCS2 systems.

WTF8 exists solely as an _internal_ encoding (in-memory representation), but it's very useful there. It was initially created for Servo (which may need it to have an UTF8 internal representation yet properly interact with javascript), but turned out to first be a boon to Rust's OS/filesystem APIs on Windows.

[0] [http://exyr.org/2015/!!Con_WTF-8/slides.pdf](http://exyr.org/2015/!!Con_WTF-8/slides.pdf)

<comment><USER26> > WTF8 exists solely as an internal encoding (in-memory representation)

Today.

Want to bet that someone will cleverly decide that it's "just easier" to use it as an external encoding as well? This kind of cat always gets out of the bag eventually.

<comment><USER27> Better WTF8 than invalid UCS2-plus-surrogates. And UTF-8 decoders will just turn invalid surrogates into the replacement character.

</comment></comment></comment></comment><comment><USER28> This is a solution to a problem I didn't know existed.

<comment><USER29> The nature of unicode is that there's _always_ a problem you didn't (but should) know existed.

And because of this global confusion, everyone important ends up implementing something that somehow does something moronic - so then everyone else has yet another problem they didn't know existed and they all fall into a self-harming spiral of depravity.

<comment><USER19> Some time ago, I made some ASCII art to illustrate the various steps where things can go wrong:

        [user-perceived characters]
                    ^
                    |
                    v
           [grapheme clusters] <-> [characters]
                    ^                   ^
                    |                   |
                    v                   v
                [glyphs]           [codepoints] <-> [code units] <-> [bytes]

<comment><USER30> So basically it goes wrong when someone assumes that any two of the above is "the same thing". It's often implicit.

<comment><USER19> That's certainly one important source of errors. An obvious example would be treating UTF-32 as a fixed-width encoding, which is bad because you might end up cutting grapheme clusters in half, and you can easily forget about normalization if you think about it that way.

Then, it's possible to make mistakes when converting between representations, eg getting endianness wrong.

Some issues are more subtle: In principle, the decision what should be considered a single character may depend on the language, nevermind the debate about Han unification - but as far as I'm concerned, that's a WONTFIX.

</comment></comment></comment></comment></comment><comment><USER24> Let me see if I have this straight. My understanding is that WTF-8 is identical to UTF-8 for all valid UTF-16 input, but it can also round-trip invalid UTF-16. That is the ultimate goal.

Below is all the background I had to learn about to understand the motivation/details.

—

UCS-2 was designed as a 16-bit fixed-width encoding. When it became clear that 64k code points wasn't enough for Unicode, UTF-16 was invented to deal with the fact that UCS-2 was assumed to be fixed-width, but no longer could be.

The solution they settled on is weird, but has some useful properties. Basically they took a couple code point ranges that hadn't been assigned yet and allocated them to a "Unicode within Unicode" coding scheme. This scheme encodes (1 big code point) -> (2 small code points). The small code points will fit in UTF-16 "code units" (this is our name for each two-byte unit in UTF-16). And for some more terminology, "big code points" are called "supplementary code points", and "small code points" are called "BMP code points."

The weird thing about this scheme is that we bothered to make the "2 small code points" (known as a "surrogate" pair) into real Unicode code points. A more normal thing would be to say that UTF-16 code _units_ are totally separate from Unicode code _points_ , and that UTF-16 code _units_ have no meaning outside of UTF-16. An number like 0xd801 could have a code _unit_ meaning as part of a UTF-16 surrogate pair, and _also_ be a totally unrelated Unicode code _point_.

But the one nice property of the way they did this is that they didn't break existing software. Existing software assumed that every UCS-2 character was also a code point. These systems could be updated to UTF-16 while preserving this assumption.

Unfortunately it made everything else more complicated. Because now:

\- UTF-16 can be ill-formed if it has any surrogate code units that don't pair properly.

\- we have to figure out what to do when these surrogate code points — code points whose only purpose is to help UTF-16 break out of its 64k limit — occur outside of UTF-16.

This becomes particularly complicated when converting UTF-16 -> UTF-8. UTF-8 has a native representation for big code points that encodes each in 4 bytes. But since surrogate code points are real code points, you could imagine an alternative UTF-8 encoding for big code points: make a UTF-16 surrogate pair, then UTF-8 encode the two code points of the surrogate pair (hey, they are real code points!) into UTF-8. But UTF-8 disallows this and only allows the canonical, 4-byte encoding.

If you feel this is unjust and UTF-8 should be allowed to encode surrogate code points if it feels like it, then you might like Generalized UTF-8, which is exactly like UTF-8 except this is allowed. It's easier to convert from UTF-16, because you don't need any specialized logic to recognize and handle surrogate pairs. You still need this logic to go in the other direction though (GUTF-8 -> UTF-16), since GUTF-8 can have big code points that you'd need to encode into surrogate pairs for UTF-16.

If you like Generalized UTF-8, except that you _always_ want to use surrogate pairs for big code points, and you want to totally disallow the UTF-8-native 4-byte sequence for them, you might like CESU-8, which does this. This makes both directions of CESU-8 <-> UTF-16 easy, because neither conversion requires special handling of surrogate pairs.

A nice property of GUTF-8 is that it can round-trip any UTF-16 sequence, even if it's ill-formed (has unpaired surrogate code points). It's pretty easy to get ill-formed UTF-16, because many UTF-16-based APIs don't enforce wellformedness.

But both GUTF-8 and CESU-8 have the drawback that they are not UTF-8 compatible. UTF-8-based software isn't generally expected to decode surrogate pairs — surrogates are supposed to be a UTF-16-only peculiarity. Most UTF-8-based software expects that once it performs UTF-8 decoding, the resulting code points are real code points ("Unicode scalar values", which make up "Unicode text"), _not_ surrogate code points.

So basically what WTF-8 says is: encode all code points as their real code point, _never_ as a surrogate pair (like UTF-8, unlike GUTF-8 and CESU-8). However, if the input UTF-16 was ill-formed and contained an unpaired surrogate code point, _then_ you may encode that code point directly with UTF-8 (like GUTF-8, not allowed in UTF-8).

So WTF-8 is identical to UTF-8 for all valid UTF-16 input, but it can also round-trip invalid UTF-16. That is the ultimate goal.

<comment><USER19> The encoding that was designed to be fixed-width is called UCS-2. UTF-16 is its variable-length successor.

<comment><USER24> Thanks for the correction! I updated the post.

</comment></comment></comment><comment><USER8> hmmm... wait... UCS-2 is just a broken UTF-16?!?!

I thought it was a distinct encoding and all related problems were largely imaginary provided you /just/ handle things right...

<comment><USER15> UCS2 is the original "wide character" encoding from when code points were defined as 16 bits. When codepoints were extended to 21 bits, UTF-16 was created as a variable-width encoding compatible with UCS2 (so UCS2-encoded data is valid UTF-16).

Sadly systems which had previously opted for fixed-width UCS2 and exposed that detail as part of a binary layer and wouldn't break compatibility couldn't keep their internal storage to 16 bit code units and move the external API to 32.

What they did instead was keep their API exposing 16 bits code units and declare it was UTF16, except most of them didn't bother validating anything so they're really exposing UCS2-with-surrogates (not even surrogate pairs since they don't validate the data). And that's how you find lone surrogates traveling through the stars without their mate and shit's all fucked up.

</comment></comment><comment><USER17> The given history of UTF-16 and UTF-8 is a bit muddled.

> _UTF-16 was redefined to be ill-formed if it contains unpaired surrogate > 16-bit code units._

This is incorrect. UTF-16 did not exist until Unicode 2.0, which was the version of the standard that introduced surrogate code points. UCS-2 was the 16-bit encoding that predated it, and UTF-16 was designed as a replacement for UCS-2 in order to handle supplementary characters properly.

> _UTF-8 was similarly redefined to be ill-formed if it contains surrogate > byte sequences._

Not really true either. UTF-8 became part of the Unicode standard with Unicode 2.0, and so incorporated surrogate code point handling. UTF-8 was originally created in 1992, long before Unicode 2.0, and at the time was based on UCS. I'm not really sure it's relevant to talk about UTF-8 prior to its inclusion in the Unicode standard, but even then, encoding the code point range D800-DFFF was not allowed, for the same reason it was actually not allowed in UCS-2, which is that this code point range was unallocated (it was in fact part of the Special Zone, which I am unable to find an actual definition for in the scanned dead-tree Unicode 1.0 book, but I haven't read it cover-to- cover). The distinction is that it was not considered "ill-formed" to encode those code points, and so it was perfectly legal to receive UCS-2 that encoded those values, process it, and re-transmit it (as it's legal to process and retransmit text streams that represent characters unknown to the process; the assumption is the process that originally encoded them understood the characters). So technically yes, UTF-8 changed from its original definition based on UCS to one that explicitly considered encoding D800-DFFF as ill- formed, but UTF-8 as it has existed in the Unicode Standard has always considered it ill-formed.

> _Unicode text was restricted to not contain any surrogate code point. (This > was presumably deemed simpler that only restricting pairs.)_

This is a bit of an odd parenthetical. Regardless of encoding, it's never legal to emit a text stream that contains surrogate code points, as these points have been explicitly reserved for the use of UTF-16. The UTF-8 and UTF-32 encodings explicitly consider attempts to encode these code points as ill-formed, but there's no reason to ever allow it in the first place as it's a violation of the Unicode conformance rules to do so. Because there is no process that can possibly have encoded those code points in the first place while conforming to the Unicode standard, there is no reason for any process to attempt to interpret those code points when consuming a Unicode encoding. Allowing them would just be a potential security hazard (which is the same rationale for treating non-shortest-form UTF-8 encodings as ill-formed). It has nothing to do with simplicity.</comment>


Canva security breach: hacker claims to have stolen the data of 139M users - open-source-ux https://www.zdnet.com/article/australian-tech-unicorn-canva-suffers-security-breach/ <comment><AUTHOR> How is a design website having 189M users? This is astonishing more than the hack!

<comment><USER2> My guess is it doesn't. Anyone can make up a number if they don't have to prove it. Hootsuite doesnt even have that many.

<comment><USER3> You don't "need" hootsuite, you can login on twitter and facebook just fine to craft your social media. Sure for professionals it helps to have your calendar of content, but tons of people get away without it. Hootsuite also kind of missed the transition to Instagram and they are left to do whatever is being allowed by the API of the social media platforms. However, if you need any kind of design work, you absolutely need a software to do it and Canva let you do all of it, up until the final output. Potential for growth is definitely bigger with Canva than Hootsuite.

<comment><USER2> That is true. I'm the biggest Hootsuite hater.

</comment></comment></comment></comment><comment> open-source-ux FAQ on the security breach on the Canva site:

[https://support.canva.com/contact/customer- support/may-24-se...](https://support.canva.com/contact/customer- support/may-24-security-incident-faqs/)

<comment><USER4> That's a pretty decent page. It doesn't seem so bad:

> Passwords in their encrypted form were also obtained (for technical people: > all passwords were salted and hashed with bcrypt); this means that all Canva > user passwords remain unreadable by external parties.

So while I hate the phrasing, this statement seems reasonable for once, if lacking in details how they came to the conclusion:

> There have been no indications that any user designs have been accessed.

Yet again though, bad _practical_ password advice:

> Passwords should be changed frequently (at least every 90 days).

Why exactly? What does rotating passwords "at least every 90 days" buy me, against what threat model? Much better advice would be not to reuse passwords across sites, with links to password managers.

Oh, and from what I could see, they don't offer any kind of 2FA.

As a reminder, NIST 800-63 [0] has some decent guidelines, which they seem roughly to be advocating with the rest of the password advice.

[0] [https://pages.nist.gov/800-63-3/sp800-63b.html#memsecret](https://pages.nist.gov/800-63-3/sp800-63b.html#memsecret)

<comment><USER5> Their breach notification email was awful: [https://twitter.com/skwashd/status/1132258055767281664](https://twitter.com/skwashd/status/1132258055767281664)

</comment></comment></comment><comment><USER6> Am I the only one shocked that a website just within the top 200 sites in the world has 139 million users? That's phenomenal (and potentially more if not all user details were hacked)

</comment><comment><USER7> It seems as though these breaches have limited effect on user behaviour. Perhaps I'm just being cynical but if you are aren't getting access and you are just getting hashed passwords, do people even care? Does it even matter?

Of course names and contact details are not great. I get that. But will this even effect Canva?

</comment><comment><USER8> > Three days ago, the company announced it raised $70 million in a Series-D > funding round, and is now valued at a whopping $2.5 billion.

Were the investors made aware of the hack? I also wonder for how long they've known about it, but decided to keep it secret until they get new investment money.

<comment><USER9> Is there any way legally someone could trigger an investigation to validate if they had actually known about this before taking money?

<comment> ga-vu The article clearly states the hack took place that morning. So no, the owners didn't know.

</comment></comment></comment><comment><USER9>
        Does this mean my Facebook and/or Google login details have been compromised?

        If you use Facebook or Google to log into Canva, rest assured those credentials are also encrypted and unreadable by external parties, so you do not have to change your password on Facebook or Google.

I find this advice stupid, I know many hackers maintain and run through databases of password+hashes they can fetch original passwords from the hash. Also, Canva hasn't accepted nor denied if their salt was compromised, so without confirming these, I think it's just stupid to falsely assure "Don't change your passwords".

       Were my designs accessed?

        There have been no indications that any user designs have been accessed.

Translation: "We don't know"

I mean I'm just supposed to believe you at face value and not change my passwords? You just lost my password..

<comment><USER4> > I know many hackers maintain and run through databases of password+hashes > they can fetch original passwords from the hash.

Exactly the point of a salt, to make it so rainbow tables need to be computed with a salt which ideally is different for every user. The salt being exposed doesn't change that.

Edit: For Google/Facebook sign-in, which I presume is OAuth, it works differently and they're correct in saying your Google or Facebook password is not at risk.

So usually, I'd agree, but in this case it's fairly reasonable to say it's unlikely anything was accessed. Cracking bcrypt takes time. If the hackers wanted to target an individual, they'd just phish them.

Also, they literally say:

> As a precaution, we recommend changing your Canva password.

[https://support.canva.com/contact/customer- support/may-24-se...](https://support.canva.com/contact/customer- support/may-24-security-incident-faqs/)</comment></comment>


Association Between Sauna Bathing and All-Cause Mortality Events - <AUTHOR> http://archinte.jamanetwork.com/article.aspx?articleid=2130724 <comment><USER2> In Finland going to a sauna is often a social activity. You catch up with your best friends in a Friday sauna session. If you use the sauna a lot, maybe it means you have more friends?

There's apparently a connection between social integration and health: [http://www.ncbi.nlm.nih.gov/pubmed/23681602](http://www.ncbi.nlm.nih.gov/pubmed/23681602)

</comment><comment><USER3> Another uncontrolled-for possibly contaminating factor. There are a host of diseases that make people heat intolerant. Multiple sclerosis (big in Finland) and heart failure are two of them.

People who are relatively intolerant of heat will tend to avoid saunas, thus biasing the outcome in favor of positive health outcomes for people who are able to tolerate the heat.

So they would have had to do a very careful assessment of these people at the time of enrollment in the study.

<comment><AUTHOR> It's based on a 30-year long longitudinal study of Finnish men, not a miniature people-in-the-sauna "study".

</comment></comment><comment><USER4> Good, I live in a Sauna, 8 degrees north of the equator. That bodes well for my health :)

Joking aside, this study seems unlikely to have actually discovered a real effect, rather than just a group of people with lower risk and higher sauna usage in common. (Wealthy people?)

<comment><USER5> Given that the study was conducted in Finland, it's unlikely that wealth is a confounding factor in sauna usage.

<comment><USER4> The effect was only noticeable with sauna usage 4-7 times a week, more than wealth that implies free time, which implies lower stress (a risk factor) and, to a degree, wealth.

</comment></comment></comment><comment><USER3> As always, correlation does not equal causation.

According to the abstract, the effect was significant only at a "dose" of 4 to 7 sauna visits per week in the 20 years of follow-up.

Now, I don't know much about the availability of saunas in Finland, but one must ask: what kind of person can financially afford, or make time for, 4 to 7 sauna visits per week? Even with the statistical adjustment for traditional cardiovascular risk factors, I seriously doubt that the people who use saunas frequently have the same income levels, attention to health, and all sorts of other habits as the people who never use saunas.

So I would put this study on the heap of interesting correlations that ultimately mean nothing.

BTW, they should look at the development of Alzheimer disease. There is suspicion that high body temperatures (e.g. with fever) can incite the changes in protein conformation that are thought to be essential in the establishment and progression of the disease. So, if sauna users stay a little too long, and get a little bit hyperthermic, they may be setting themselves up for Alzheimer disease. That would be a bummer.

<comment><USER6> Weird train of thought about the supposed scarceness of saunas. My gym in SF has a sauna. Many people use it every time they work out. You can only stay in there for like 10 minutes. Not a huge time investment. Are you telling me that only the very wealthy can afford an $80 monthly gym membership?

Some apartment buildings in Berlin I visited had saunas built in (and these were not luxury buildings).

My understanding is that saunas are even more prevalent in Scandinavia. You should rethink your reasoning.

<comment><USER3> $80 per month is a lot of money for most people. It's like buying a new pair of running shoes every month. Quite a luxury. This in itself separates groups of people. Reasoning stands.

<comment><USER7> """saunas are even more prevalent in Scandinavia. You should rethink your reasoning."""

<comment><USER3> The cost of access to saunas is not zero in money, and not zero in time. This in itself creates differences between groups, which is why randomized trials are far superior to case-control or observational studies. This is so well established in medicine that there is no cause to rethink the reasoning.

<comment><AUTHOR> Based on your comments I gather you have never been in Finland. So you know close to nothing about social mores and structures in that country. Your comments are noise, not even wrong.

</comment></comment></comment></comment></comment></comment><comment><USER8> The title is a bit misleading. The abstract states that "significant inverse associations were also observed for fatal CHDs and fatal CVDs (P for trend ≤.03) but not for all-cause mortality events." So going to a sauna 4-7 times a week for these middle-aged Finnish men decreased their chance of dying from a heart attack. But they still might die from something else at the same or somewhat increased rate. I'd argue that the raised heat and humidity in the sauna might have caused an increased workout for the heart. "Shocking" the heart like this almost every day to every other day of the week for twenty years made them more able to survive fatal CHDs and CVDs.

</comment><comment><USER9> As always, there's trouble with selection bias. Do men who sauna bathe take a more general interest in their health? Do they also eat better, exercise more, have a lower blood pressure etc?

<comment><USER7> """After adjustment for CVD risk factors"""

<comment><USER10> It's a good thing all possible CVD risk factors were measured without measurement error, included in the analysis, and had exactly correct coefficients despite sampling error.

<comment><USER7> It's a good thing we never make any decisions without perfect information.

<comment><USER10> It's a good thing observational studies like these are not notorious for never replicating and for motivating enormously costly (financially, medically, and personally) fiascos such as the wars on salt and cholesterol.

</comment></comment></comment></comment></comment><comment><USER11> Is there a way to read the paper without signing up or paying money?

<comment><USER12> Go nuts.

[https://www.dropbox.com/s/2zdys9hzpr6a7ln/ioi140152.pdf?dl=0](https://www.dropbox.com/s/2zdys9hzpr6a7ln/ioi140152.pdf?dl=0)

</comment></comment><comment><USER13> I wonder if there are similar cardiovascular benefits for hot tubs. Could it be that it's breathing the hot air in the sauna that's beneficial rather than a general increase in body temperature?

I'm asking because we are thinking about installing a hot tub at some point.

<comment><USER14> Martin Pall hypothesizes that sauna therapy increases the availability of tetrahydrobiopterin (BH4) through multiple mechanisms [1]. A small study with people with chronic fatigue syndrome provides evidence to confirm this [2] (I don't think this publication is peer reviewed). I believe there is an association between BH4 and cardiovascular health, but this is not my field.

[1] [http://www.ncbi.nlm.nih.gov/pubmed/19581054](http://www.ncbi.nlm.nih.gov/pubmed/19581054) [2] [http://www.townsendletter.com/Nov2013/sauna1113.html](http://www.townsendletter.com/Nov2013/sauna1113.html)

<comment><USER15> Martin Pall has a history of dubious hypotheses. It seems more likely that it is simply the increase in heart rate that improves cardiovascular health.

</comment></comment></comment><comment><USER16> Alternating hot and cold showering or even only a cold shower each day, or a few days a week has als been shown to be healthy.

<comment><AUTHOR> source?

</comment></comment><comment><USER17> Not sure this proves anything.

People in pain are more likely to seek such relief. People in pain tend to be less healthy and more likely to die soon.

<comment><USER12> Sauna bathing is associated with _reduced_ risk ;)

<comment><USER17> yeah, I misread that completely.</comment></comment></comment>


Diamonds are Bullshit (2013) - <AUTHOR> http://blog.priceonomics.com/post/45768546804/diamonds-are-bullshit?utm_source=pocket&utm_medium=email&utm_campaign=pockethits <comment><USER2> The punchline is the second to last paragraph:

> Today, De Beers hold on the industry supply chain is less strong. And yet, > price continue to rise as new deposits haven't been found recently and > demand for diamonds is increasing in India and China. For now, it's less > necessary that the company monopolize the supply chain because its lie that > a diamond is a proxy for a man's worth in life has infected the rest of the > world.

So the monopoly is gone, prices are rising because of fixed supply in the face of increasing demand, but diamonds are still bullshit because their value is based on a consumer irrationality.

I hate to break it to the guy, but half of the consumer economy is built on irrationality (and half of silicon valley is built on advertising that irrationality to consumers). Pretty much every luxury good is purchased for signaling reasons. Paying more for a diamond with a particular clarity grade or color isn't any less irrational than paying more for a top-end BMW, even though you'll never take it over 60 because of all the traffic.

<comment><USER3> There are very real and noticeable differences between a $30k and $90k BMW other than top speed.

There are NOT noticeable differences between a $30k diamond and a $3k moissanite stone. A better analogy would be $100 "professional HDMI cable" and a $10 standard HDMI cable.

<comment><USER4> > There are NOT noticeable differences between a $30k diamond and a $3k > moissanite stone

My wife and I felt the same way too, until we actually compared them. The sparkle and brilliance in the diamond was dramatically better than any other stone we compared it to. We went into ring shopping pretty determined to not get a diamond, and yet still bought one.

<comment><USER5> Which stones did you compare it to? The stones available in the shop? That's the problem -- there are cheaper alternatives that have a shine comparable to diamonds, but not very widely available in brick and mortar stores. You were kind of had by salesman gimmicks.

<comment><USER6> This is rich. The whitest moissanite is still going to be obviously doubly refractive, pretty limited in cut options (make terrible step cuts for example) and is generally an inferior substitute to the vastly cheaper common CZ. If you are upset that the value of diamond is all in branding, then run to moissanite, which actually IS sold exclusively by a monopoly until this August...

<comment><USER3> Do you know what double refractive is? How can it be "generally inferior" and also have more sparkle?

<comment><USER6> What's the end goal for a diamond simulant? To be sparkly, or to resemble naturally-mined diamond?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> The real trick isn't that they get people to buy expensive rocks. The real trick is that they convinced so many of us to rebury them. Cemeteries are most certainly the richest untapped diamond fields in existence.

<comment><USER8> and gold and other heavy metals in trace ammounts

<comment><USER8> [http://upload.wikimedia.org/wikipedia/commons/5/56/Two_pie_g...](http://upload.wikimedia.org/wikipedia/commons/5/56/Two_pie_graphs_about_the_composition_of_the_human_body.png)

</comment></comment></comment><comment><USER9> He proposes that diamonds are an essential part in the mating ritual and then goes on to say they are not an investment? As silly as it is if the dumb ring helps you convince your future wife she should be your future wife I'm going to go ahead and say that it is actually a wise investment.

I don't see peacocks wandering around saying "feathers are bullshit"

Subjective theory of value...etc.

<comment><USER10> And/or that you need to demonstrate your feelings for someone else through an object that has inflated worth...

<comment><USER11> Healthy relationships have a multitude of ways to communicate feelings and connectivity. If a shiney finger stone seems to be required to prove something, that should be some self reflection on the relationship.

<comment><USER12> If you feel the meed to deny your partner something that brings them joy, even though you think it's bullshit -- that should make you think twice about the relationship.

The desire to control your partner that is displayed by many people in these diamond threads is a really unpleasant character flaw.

<comment><USER13> > The desire to control your partner ... is a really unpleasant character > flaw.

Isn't that a good reason to steer clear of anybody who insists on being bought diamonds?

Edit: Unless you like buying diamonds, or have so much money it doesn't matter.

</comment></comment></comment></comment></comment><comment><USER14> Still waiting to see a 'gold' is BS post. Diamonds and gold both have plenty of industrial usages, but when it comes to status items there both pointless wastes. However, being pointless is why there status items in the first place.

In the end many people like birds like bright shiny objects. This just in, fads like beany baby's, bitcoins, and baseball cards are also a thing. [http://www.paulgraham.com/say.html](http://www.paulgraham.com/say.html)

PS: Land is still cheap: "The United States farm real estate value, a measurement of the value of all land and buildings on farms, averaged $2,900 per acre for 2013"

<comment><USER15> Well gold and land both have a resale value that is pretty much exactly what you paid for it, assuming other things are equal. The point of the article is that diamonds (as used in jewellery) really don't, and therefore are not suited to investment (or currency, or some other store of value) as gold and land might be.

If you buy gold or land in a fair auction, you can flip it in a day or two for roughly the same price minus fees. You can't do that with a diamond ring.

<comment><USER14> Gold jewelry generally resells for ~1/2 of its initial purchase price +/\- whatever the gold market did. Land also has a high transfer cost (Real Estate Agent etc) and it's often paid for with a loan which also inflates the purchase price, not to mention taxes, none of which is reflected in the sale price.

Generally, if you're moving in less than 5 years it's better to rent.

<comment><USER16> This was addressed in the first page of the article. Gold in the form of coins or bullion is a commodity with high resale value. Gold in the form of jewelry is a luxury item with extremely low resale value. You can't compare the two.

 _You can even hoard gold under your bed and buy gold coins and bullion (albeit at a ~10% premium to market rates). If you want to hoard gold jewelry however, there is typically a 100-400% retail markup so that's probably not a wise investment._

Your comments on land are closer to accurate but neglect to point out the massive leverage common in such an investment. You can effectively buy a $200,000 asset with only putting $40,000 (or even less) down. If you get a 20% appreciation in the asset over a period of time you've doubled your money. You also get a tax deduction on the interest from the loan and rates are ridiculously low right now.

<comment><USER17> > You can effectively buy a $200,000 asset with only putting $40,000 (or even > less) down. If you get a 20% appreciation in the asset over a period of time > you've doubled your money.

If the price goes down 20% over a period of time, you've wiped out your investment. Free leverage is neutral to expected value, and leverage with interest has a negative impact on expected value.

The real value in residential real estate is the fact that the US government is prepared to spend unlimited amounts of money to make sure you don't lose your shirt. Because something something yeoman farmers. However, that means there's also a unique risk to bear. Just as the goldbug needs a greater fool to want his shiny, so to the real estate owner needs a government in place that will continue to massively subsidize the individual ownership of residential real estate. The US government, today and for the last 7 years, has issued, bought, or guaranteed the lion's share of residential mortgages. Take that away and prices fall dramatically.

</comment></comment></comment></comment></comment><comment><USER18> "Great...now I'm a party to this ugly little secret."

[http://dilbert.com/strip/1992-07-12](http://dilbert.com/strip/1992-07-12)

</comment><comment><USER19> I've always wondered if there's a space for some serious disruption in this industry. One of the things I've always seen, having gone to lots of auctions as a kid, is that you can buy diamond rings for a fraction of the price on the auction block. Even if you just rip the diamond out, and set it in a new ring, you'd be saving money, not to mention the metals you have left over from the ring.

If there were a company whose sole purpose was reselling jewelry like this at a pretty big markdown from competitors, I wonder how sustainable/successful it would be, because I know I would support it.

Part of my thinking about this is just my desire to "stick it to the bad guys", but part of it really is a recognition that traditions aren't going to change over night, so we might as well try to save some people a little money.

<comment><USER20> > I've always wondered if there's a space for some serious disruption in this > industry.

Not sure about how to do the disruption on Earth but when we can start, effectively, mining asteroids? Well precious metals should be able to take a nose dive. Not sure how much diamonds exist in asteroids but I wouldn't be surprised if a company can effectively mine asteroids to disrupt all precious metal industries.

<comment><USER19> Along those same lines, I think eventually we're going to be able to drill into earths crust, or some other incredibly high pressure place and possible just mine the diamonds from there[0]. That said though, I haven't heard anything about planetary resources recently[1]...

[0] [http://geology.about.com/od/mantle/a/The-Diamond- Zone.htm](http://geology.about.com/od/mantle/a/The-Diamond-Zone.htm) [1] [http://www.planetaryresources.com/](http://www.planetaryresources.com/)

</comment></comment></comment><comment><USER4> I agree in principal that it's silly to buy a diamond engagement ring. But I also feel like the large expense helps solidify your intent. Without the ring, proposals would lose some of their weight. The ring helps keep more proposals serious, which benefits everyone involved.

<comment><USER21> Doesn't it happen that lots of people use their Aunt's wedding ring, or a ring from a previous failed proposal? I feel as if I see this on TV pretty often (I'm 25 and unmarried and not particularly familiar with the diamond buying process although I'm always fascinated walking through the Diamond District in New York City). If that's the case doesn't it bring it back to a lesser investment? Although it's true that if it is your Aunt's Wedding Ring you probably hold it very dearly (which might make it more of an investment). But if you get five failed proposals for three grand it's not too bad.

<comment><USER4> I think most women would be offended to be proposed to with a ring from a prior attempt. It's also common now for the woman to help pick out the ring, as tastes vary a lot.

I'm not sure about family rings. I don't really have any evidence regardless, just going off personal experience.

</comment></comment></comment><comment><USER22> I tried to explain all that to my gf, but she was having none of it. It was either a diamond or hit the road, Jack.

Proposed to her last Saturday with a shiny diamond ring, she's now my fiance, so I think it was worth it.

<comment><USER23> Not to be a dick or anything, but "diamond or hit the road" sounds like she is valuing the diamond more than you. I'm sure there was some hyperbole involved, maybe your post is actually an ironic fable, but if neither of those are true ... well, good luck!

<comment><USER24> The same could be said about someone trying to cheap out on a ring, he's valuing a couple thousand dollars over her. Its just a fiance signing bonus.

<comment><USER13> I'm guessing you consider a couple of thousand dollars to be quite a small amount of money?

<comment><USER24> It is a pretty small amount of money. If his fiance was asking him for a super expensive ring while they were broke, yea that is pretty shitty.

</comment></comment></comment></comment></comment><comment><USER25> It's worse than that. The synthetic diamond makers have been making great progress. The first synthetic gem-quality diamonds were made at General Electric in the 1950s. It wasn't cost-effective back then (the heat and pressure method tied up a big press for days), but now it is. Gemesys in Florida is stamping them out. DeBeers tried to stop Gemesys.

Then there are controlled-vapor-deposition synthetic diamonds, which are manufactured by a process which looks a lot like a small semiconductor wafer fab circa 1985. Those can only be distinguished from natural diamonds because they have some hydrogen and silicon inclusions detectable with a laser and microscope setup. The manufacturing process is kind of slow, but that's because it's low-volume. If Applied Materials, which makes semiconductor fab gear, reworked the diamond fab process, diamonds would probably be priced like RAM chips.

Jewelry from both processes is available.

As for synthetic diamond for abrasives, that's easy to make and available by the kilogram on Alibaba.

</comment><comment><USER26> If you haven't seen College Humor's Adam Ruins Everything about diamonds(or any of the others), check is out.

[https://youtu.be/N5kWu1ifBGU?list=PLuKg- WhduhkksJoqkj9aJEnN7...](https://youtu.be/N5kWu1ifBGU?list=PLuKg- WhduhkksJoqkj9aJEnN7v0mx8yxC)

</comment><comment><USER27> I'm soooo glad that my wife thought it was cool to have our rings made by a friend on his 3D printer. :-)

That reminds me, I need to make some replacements. (We had a bunch, but they aren't very durable.)

As for the comments, pretty much nothing anyone says will convince someone that something is stupid once they have done it. Even if you _do_ convince them you will only make them feel bad - so try to be nice.

</comment><comment><USER28> For someone who is opposed to getting diamonds, what alternatives exist?

Every time I think of this, this plays out in my head: "Sorry sweetie, I love you but hate diamonds more. I'm not going to buy you a sweet ring to show off to all your friends. Will you marry me anyway?"

<comment><USER13> One clever life hack is to seek relationships based on mutual love, respect and communication.

</comment></comment><comment><USER29> I once told the woman I eventually married that I "would rather die a lonely bitter old man than ever give a penny to the diamond industry."

I since went back on that thought and clarified that those genuine diamonds grown in a factory were pretty cool.

</comment><comment><USER30> When I was 23 (I'm 30 now) I bought my wife a $45,000 wedding ring that looks like a $45,000 wedding (if you know what I mean). It has one large center stone with two smaller stones on the side, 5ct total. It looks amazing, but...

Fucking stupid right? I thought the same thing, but I was ultra-frugal and had a hard time thinking of better things to spend my money on than making my wife happy, especially with how often I was gone (which was a lot).

I justified it to myself a few ways. First, by how much her eyes lit up when she first saw it. Second, we decided not to have a wedding because of how silly it was: pay tens of thousands for a few hours, not to mention the hassle in planning it. Third, this thing would make her smile every day for the next ~80 years. Lastly it wouldn't cause undue financial strain. I wasn't rich, but I was ultra frugal and had a comfortable amount in savings. For example I still have the same car (a now 10yr old Honda Civic) I had then. I also bought her a little ring cleaner so it always looks great because every time I see an $80,000+ car that's dirty I think, "What's the point?"

We've been married around 7 years now. Every time she looks at it it makes her smile. Everytime she looks at it she thinks of us and what we have. She _still_ gets compliments on it all the time. How much is all that worth? How much will it all have been worth when we're in our 80's? There aren't too many ways to buy happiness, but if you could see how happy it makes her you'd see that this is one.

The interesting thing is that my wife isn't into jewelry or expensive stuff. She also has an old Honda Civic, still has the same clothes she wore in college, etc. She doesn't care about that kind of stuff and hated shopping until she was in her mid-30's and work required a change of attire. But our marriage is important to her and a wedding ring represents that for her.

If I could afford it, I would have easily paid 2-3x what I paid for the ring because it's worth it. I agree, it's stupid and it's just a rock, but it wasn't for me--it was for her and it means a lot to her. Every time I see her look at it, smile, then look at me (which she still does 7 years later) I think of how it was worth every penny.

You can buy a lot of mediocre stuff and have a lot of mediocre experiences with your wife, or you can go above and beyond with one thing that will last forever. If I bought her a $2,000 ring instead I could spend $500,000 in clothes, purses, shoes, etc. for her over 10 years and none of it would make her as happy as this thing does. It's the _only_ thing that she _always_ wears.

What kind of ring did I get you ask? I got a ~$25 ring from Walmart.

</comment><comment><USER31> da bears?</comment>


Dropbox is the fastest SaaS company to reach a $1B revenue run rate - <AUTHOR> https://www.dropbox.com/scl/fi/17fmvroveo51fv7lrbdl0/FINAL_Dropbox%20Run%20Rate%20Comparison%202017-01-27_With%20Analysis.jpg?dl=0 <comment><USER2> I dont have dropbox app on my mobile and am not able to view the file .</comment>


History: Two NSA cryptographers defect (1960) - <AUTHOR> http://en.wikipedia.org/wiki/Martin_and_Mitchell_Defection

<comment><AUTHOR> The reason I post is that the NSA, DOD and HUAC started a smear campaign. The duo defected because of their frustration at NSA activities not being reported to Congress. Might be some parallels to today.</comment>


Customer service skills every employee needs - <AUTHOR> https://www.helpscout.net/blog/customer-service-skills/

<comment><AUTHOR> I can't say enough how much I agree with #4. In a technical environment, all staff members need to know the product inside and out, even if they aren't familiar with how it was built. They need to be able to use the product as well as any client, even if they don't interact with clients on a day to day basis. Sales, support, marketing - everyone benefits from knowing their own product.</comment>


The researchers discovered an unexpected link between cancer and autism - <AUTHOR> http://sciencebulletin.org/archives/11140.html <comment><USER2> Blogspam of

[http://www.utu.fi/fi/Ajankohtaista/mediatiedotteet/Sivut/Res...](http://www.utu.fi/fi/Ajankohtaista/mediatiedotteet/Sivut/Researchers- from-Turku-Centre-for-Biotechnology-have-observed-that-a-protein-called-SHANK- prevents-the-spread-of-breast-can.aspx)

Note that they stripped " _breast_ cancer" from the title.</comment>


Take control with your Raspberry Pi - <AUTHOR> http://pi.cs.man.ac.uk/interface.htm

<comment><USER2> Unfortunately, not too much technical information. At the first glance that looks like a mash-up of Raspberry Pi and Arduino (the chip on top looks like Atmega 328 microcontroller). If so, that could be the best of both worlds: more powerful RPi with Ethernet and HDMI interfaces, and a large ecosystem of Arduino-compatible peripherals.

<comment><USER3> The product page on Farnell's website[0] has more information. They also have a number of boards in stock ready for delivery.

[0] [http://uk.farnell.com/jsp/search/productdetail.jsp?sku=22185...](http://uk.farnell.com/jsp/search/productdetail.jsp?sku=2218566)</comment></comment>


Ask HN: Why do people trust Bitcoin to third parties? - <AUTHOR>

Every other day, really every day or twice a day, lately, we hear of bitcoin exchanges, banks, or services getting ripped off for thousands of bitcoins, and just giving up on their users, shutting down, and not reimbursing the "stolen" money.
You can't really tell if it was actually stolen by someone else, or the very service you trusted in.
Why do you trust these people? What invaluable service do they provide that you can't live without them? Even if it means your bitcoins may end up not being yours anymore.
I ask out of ignorance and skepticism, I'm familiar with bitcoin, but don't own any. <comment><USER2> I'd wager that many of the people who had their money stolen (particularly at gox) aren't what you'd describe as "bitcoin enthusiasts". Less-technical people who have either heard about bitcoin, or who have been gifted some bitcoin are likely going to keep it in whatever service they received it on (many may not even have realised the difference between mtgoxbtc and btc).

There's enough FUD out there to scare people who do a little bit of research away from storing the coins in their own wallet - brainwallet passwords being cracked and accounts emptied, viruses taking your wallet.dat, over-paranoid key-generation techniques recommended by the community.

Living in the HN//./reddit/whatever else bubble, there's a prevailing attitude that users should be aware of the goings-on in the bitcoin world. We're definitely exposed to those details here. As a result, the reaction seems to be to almost blame the users for the exchange losing their money (to paraphrase, "why would anyone in their right mind trust Mt Gox?"). Personally, I think that this attitude is bullshit, and that technically competent bitcoiners are taking advantage of less-technical people with the rhetoric around how much of a great payment system bitcoin is/how it's a great investment/etc while glossing over the fact that if you aren't good with computers (and want to trust domain experts, or who don't know how to properly secure their own computer), you _will_ be robbed of your money one way or another.

That said, perhaps the best answer to your original set of questions is convenience...

</comment><comment><USER3> Some people do, because they don't know better.

Others are trapped by circumstances. For example many users uploaded/stored coins at MtGox, and similar, because they wanted to trade them. But then the sites pulled the rug from under them, by disabling trading - leading to people having coins trapped that they couldn't reclaim.</comment>


Revel, high-productivity Go web framework modeled on Play Framework - <AUTHOR> http://robfig.github.com/revel/ <comment><USER2> Revel author here.

Just wanted to alert people that this is not ready for prime time yet. I have a sizable list of items to get through before I was planning to publicize. For example, the packaging/deployment is not there yet (working on that presently). Also, I have only tested it on OSX (in theory, it should be cross platform, but I'm sure there are bugs to smoke out).

That said, please feel free to give it a try and open issues for anything you find.

<comment><USER3> Can you add a license to the git repo? You mention MIT on the webpage, but no LICENSE file or license headers show up inside the project itself.

<comment><USER2> Done

</comment></comment></comment><comment><USER4> This framework could be enough to tip me into a semi serious go powered side project, which i really must get the finger out and do!

How should deployment work for an app created in this framework?

From the "How Revel Works" page it mentions:

        >> If the app compiled successfully, it runs the app ...<snip>...

Is it simply a case of lifting and dropping the binary (ensuring it's linker dependencies are satisfied on the dest host)?

Would the final artifact be deployable to google app engine?

<comment><USER2> I'm working on adding a "rev package" command to the command-line tool. It will create a zip file of the app and revel source directories, along with a script to run the app.

It needs the source directories since templates and assets are kept within them. Also, it is frequently useful to have access to the source in production, e.g. for sending exception emails.

The goal is to make deployment to a server without a Go environment very easy.

EDIT: To answer your original question: in the current version, you must have a working Go installation to run your Revel app. Then: "rev run import/path/to/app prod". I am pretty sure that it will not work on GAE -- I realize this is an important/valuable use case and will investigate it in the future.

<comment><USER4> Your direction sounds pretty much ideal. I'll keep checking in on this project.

Meantime I've just installed go... Wish me luck!

</comment></comment></comment><comment><USER5> Wow, I can't believe I didn't see this before. I have been learning Go for a couple of weeks and had been searching for something like this the whole time. They should add a link to the list of libraries at the Golang site.

I see this is also from one of the Go contributors. Nice!

<http://golang.org/CONTRIBUTORS>

<comment><USER6> <http://go-lang.cat-v.org/pure-go-libs> has a great list of Go libs.

</comment></comment><comment><USER7> I would strongly suggest to use a different command name than 'rev' since that is already a standard unix command. How about just calling it 'revel' and then people who value short names can just alias it?

<comment><USER2> Makes sense, thanks.

(I've never used the "rev" unix command before, so I didn't think much of it)

</comment></comment><comment><USER8> Being a fan of Play Framework, this could finally represent an opportunity for me to dig into Go. I regret the absence of an ORM, but will give it a 'go' (...) anyway.

PS: I regret that no performance analysis nor benchmarks are presented on the project page. It could be nice to have a comparison with Play on that domain.

<comment><USER2> I did not package an "official" ORM with Revel because I did not feel like there was a clear choice yet. (And making an ORM is too big a challenge to bite off in addition :)

I think that GORP is the current leader (<https://github.com/coopernurse/gorp>), and it is pretty easy to make a plugin/interceptor that initializes it and starts/ends transactions before / after requests.

I am planning on adding an example of this to the samples in the near future.

<comment><USER8> I will have a look at gorp. Thank you for your answer.

</comment></comment></comment><comment><USER7> I want to play with this, but ...

      ~/Dropbox/Documents/Go % bin/rev github.com/robfig/revel/samples/booking
      ~
      ~ revel! http://robfig.github.com/revel
      ~
      ~ unknown command "github.com/robfig/revel/samples/booking"
      Run 'rev help' for usage.

      ~/Dropbox/Documents/Go % rev help
      ~
      ~ revel! http://robfig.github.com/revel
      ~
      ~ usage: rev command [arguments]
      ~
      ~ The commands are:
      ~
      ~    run         run a Revel application
      ~    new         create a skeleton Revel application
      ~
      ~ Use "rev help [command]" for more information.

It would be nice if the 'quick start' would just work.

First impressions you know ... :-)

<comment><USER7>
      Template Compilation Error (in errors/404.html:10): function "include" not defined

Hey Rob, how about reposting this when things are in better shape? I've been waiting for a good excuse to play with Go and your web framework looks like something I could use for some real experiments, but it needs to be a little more finished first I think.

<comment><USER2> AGREED!

Will certainly repost when it gets a little further along.

</comment></comment></comment><comment><USER9> I started playing around with Go on GAE just yesterday. I will probably try out a side project on Revel and see how it goes.

</comment><comment><USER10> I have been researching other GO web frameworks last two days and this one is undeniably the best looking yet. But, I really wished they had integrated an ORM from the start. Also, I wish could know "why" they chose play framework as an architecture reference.

<comment><USER2> I am definitely looking to develop a good story for ORM. However, I don't think it has to be in the very core of the framework -- allowing people to plug a different one (or not use one at all) is important.

I chose Play! (1.x) because it is by far the most productive development environment I have ever used ( _especially_ for boring business admin pages). (Out of Django, JSP, Lift, GSE/GXP, Jetty, etc).

</comment></comment><comment><USER11> I really wish it worked on Google App Engine. It would be cool to have abstraction layer, so there's no vendor lock-in with GAE.

<comment><USER12> Not trying to be awkward or anything, but why would you use GAE without using all the technologies that lock you in to it?

If you write a "vanilla" application which can run on GAE and other platforms without significant work, then I don't see how you'd get much benefit from GAE itself, but I might be missing something.

</comment></comment><comment><USER13> I like the routing syntax. Enough to make me give it a try.</comment>


Make Yourself a Standing Desk This Weekend - <AUTHOR> http://lifehacker.com/5929765/make-yourself-a-standing-desk-this-weekend <comment><USER2> But first read this and decide if the health risks are worth it: <http://ergo.human.cornell.edu/CUESitStand.html>

<comment><USER3> Also _try_ it first! I tried it for 3 weeks. First week hurt like buggery, 2nd week felt great, 3rd week I really started to ache in my legs bad.

It really takes it out of you. I'm now looking for a solution that allows me to alternate regularly between standing and sitting.

<comment><USER4> It took me about three months to really adapt to a standing workspace. What I found interesting during the adaptation period was that when I needed a break, I would walk away from the desk and sit down, and that it was easier to continue to be productive during these breaks than it had been when my workspace was seated.

</comment></comment></comment><comment><USER5> I tried it for three days by simply taking a rigid plastic utility table with the legs still folded up and putting it on a couple of milk crates that I put on my desk. I then used bungee cords to tie the folding table through the crates to my desk. It was nice and stable and allowed me to put all 3 of my 24" monitors on it.

I'm glad I spent no money on it because after 3 days my feet and back were killing me. I tried barefoot, with running shoes and even with an anti-fatigue mat that was in the basement workshop when I bought my house.

<comment><USER6> Note that you can buy drafting chairs which can be the right height for standing desks. Then you can alternate between standing and sitting. [http://www.amazon.com/b?ie=UTF8&node=1069142](http://www.amazon.com/b?ie=UTF8&node=1069142)

</comment></comment><comment><USER7> I started looking into standing desks a few weeks ago, but not having one have recently started using my ironing board. It's not an ideal height for me, but it's pretty good. My goals are to use the ironing board 3 days a week, sitting the other two and alternate between over the working week.

When I'm standing I make sure I have two sit down breaks of 5-15 minutes (at least 5-10 minutes in the morning around 11am and 15 minutes around 3pm). This means that the longest I stand continuously is about 2 hours.

When I'm sitting I take a 5 minute break every hour and a 15 minute break in the afternoon.

I also try to do some Yoga 3 times a week which is working with mixed results at the moment.

The main thing I've noticed is that while normally I get fairly sleepy between 2 and 4pm and my productivity tends to drop, when I'm standing my productivity is fine and I don't get tired in the afternoon. I've also noticed my posture has improved as I'm no longer hunched over a keyboard all the time, and I no longer slouch.

The other thing I've noticed when standing is that I'm much likely to go and refill my water during the day just to get away from the screen for a minute or two when I need to. Sitting down I'll forget I have water (or at least run out) and it'll be another hour or two before I get some. I'm not quite sure why this is the case.

</comment><comment><USER6> Any idea which Ikea parts the section "The Wide, Height-Adjustable Standing Desk" is referring to? "Vika" seems to be right.

I did find a leg ("VIKA BYSKE") which is a suitable height for me (just below my belly button at 107cm - most others are 70cm high which is way too low). But it would be $120 for four legs, they don't sell them in my local store or online, and in any event the desk has to be wall mounted.

The Frederik is almost a decent height for the desk, but then has two shelfs above positioned in the middle of the desk slap bang where my monitors would be. It is also just barely wide enough for my dual monitors.

</comment><comment><USER8> I believe in full-time standing just as little as I believe in full-time sitting. I want a desk that I can move up and down, with everything on it, in less than a minute. Doesn't that exist? I haven't been able to find one yet.

<comment><USER9> Or the cheapest version buy a fixed standing desk, and when you want to sit use a stool, or a very tall chair.

<comment><USER10> Alternatively, put a chair (even your own chair!) on your current desk and your stuff on the chair when you want to stand.

</comment></comment></comment><comment><USER11> A couple of years ago I spent a weekend making this: <http://imgur.com/a/Kp35g>

I don't claim to be brilliant with carpentry so it was a mixed success, but you can adjust between a sit down and stand up desk, it cost about £50 all in. I'm not sure it would work on a larger scale, I had a very small room and just needed something to put my laptop on.

Apologies for the photo quality, first generation iPhone.

</comment><comment><USER12> I think there is a much simpler solution. Just stand up and walk around while you think!

</comment><comment><USER13> Make yourself a standing desk step 1: get a taller desk step 2: stand in front of it.

</comment><comment><USER14> There's one thing I don't think I've seen mentioned when this subject is brought up. If you walked into an office comprising 100% standing desks, would the environment seem a tad more unfriendly than others? Would it be intimidating enough to discourage people from dropping in for a friendly chat? It would be interesting to measure productivity pre- and post- the introduction.

<comment><USER15> It's more friendly as a visitor coming in is already standing and so is whoever greets him when he comes in.</comment></comment>


David Goodall: Scientist, 104, begins trip to end his life - happy-go-lucky http://www.bbc.com/news/world-australia-43957874 <comment><AUTHOR> I knew about euthanasia being legal in many countries, but I was surprised that 'assisted suicide' is legal in a few as well. He's going for 'assisted suicide' to Switzerland.</comment>


Using Pytesseract to Convert Images into a HTML Site - <AUTHOR> https://armaizadenwala.com/blog/pytesseract-images-to-html/ <comment><USER2> First of all, great work, and thank you for sharing.

The video only shows this working with an image of a text-only page. What happens when there are photos embedded in the image?

<comment><AUTHOR> Hi! Thank you!

Tesseract is trained to only recognize text from images. I haven't looked into image detection yet though.

This project fits the situation where you need to digitize a bunch of physical copies / scans of documents. Sometimes these documents have images like company logos which would be useful to include in the final html page.

I'll try to take a look into it, it is a wonderful idea for a 2nd part. This current post is geared towards helping others transition into the world of data science with OCR by describing every step of the way.

</comment></comment><comment><USER3> nice. But why are you attributing tesseract solely to google when it was initially developed by HP ? Does it help marketing nowadays?

<comment><USER4> I'd argue that one can refer to Tesseract as Google product without being deceptive, as it's been developed by Google since 2006 [1].

[1] [https://github.com/tesseract-ocr/tesseract#brief- history](https://github.com/tesseract-ocr/tesseract#brief-history)</comment></comment>


Instagram update completely changes how users scroll through feed - <AUTHOR> https://www.independent.co.uk/life-style/gadgets-and-tech/news/instagram-update-new-scroll-left-right-sideways-feature-explained-a8700786.html <comment><USER2> I had it for all of five minutes and during those few minutes I found it very bizarre.

My first instinct was to scroll vertically, but doing so resulted in a behaviour akin to scroll-jacking on the web that is oft met with disdain. It first tried to get me to scroll horizontally (fine, on the first run, in order to teach me the new behaviour), but then it broke down the vertical scrolling into different subsections –photo, comments, more comments– that was highly unnatural.

Further, the horizontal scrolling didn't facilitate the fast-scrolling that I'm used to on the feed, which is helpful in finding a particular post, or when trying to quickly skip over posts I found uninteresting. Instead, it restricted scrolling to one-post-at-a-time.

I feel it was a big mistake to replace the smooth, natural vertical scrolling that comes for free on mobile devices.

</comment><comment><USER3> Thread: [https://twitter.com/mosseri/status/1078321786586951680](https://twitter.com/mosseri/status/1078321786586951680)

"Sorry about that, this was supposed to be a very small test but we went broader than we anticipated."

</comment><comment><USER4> Sounds like it was already rolled back. It seems like an interesting idea, but I'm not sure why they would push a change like this live. Possibly a mistake?

<comment><USER5> I don't have Instagram but it received extremely negative feedback on twitter before they changed it.

</comment></comment><comment><USER6> It is now very tedious to view multiple photos in a single post since it also requires horizontal swiping. I think the trick is to pause for a moment on the multi-photo post before continuing to swipe?

</comment><comment><USER7> it looks interesting as concept, but I found it a little bit strange and slow to use. Edit: it was rolled back on my account</comment>


Startup scene in Dallas? - <AUTHOR>

A couple weeks ago there was a question about the Pittsburgh startup scene on here... What about Dallas, TX?
I am also starting to look for a summer internship and thought it couldn't hurt to ask around here. So I guess my question could be split in to two parts:
1) Is Dallas a good city for startups?
2) Any startups in Dallas taking interns? <comment><USER3> Austin is known to be the best startup city in Texas (as others have pointed out), and frankly, Austin leaves a lot to be desired. I moved from there to the Valley, and while I miss the Texas weather (only two seasons: "hot" and "a little chilly") and plan to eventually go back...it won't be until I've got a successful business or two under my belt. The startup investment climate in Silicon Valley is a world apart from anything else (only two seasons: "hot" and "a little chilly").

</comment><comment><USER4> +1 for dallas

texasstartupblog.com has some info about local startups

the owner of that blog runs the only web 2.0 like small company i know of in dallas, you should give him an email, he might be able to hook you up

are you a designer or do you code too?

</comment><comment><USER5> A lot of big tech and wireless companies in Dallas (Verizon, Texas Instruments, IBM, etc). Some noteworthy game companies are located in Dallas too. I would say Austin has a better investment climate for startups than Dallas, but thats not to say there are not any good startups in Dallas too.

The problem I see with Dallas is the personality of the city is a bit bureaucratic. At least relative to other startup hubs such as SV, Austin, and Seattle, which seem to have more of an outdoor-loving hippie vibe.

Dallas is sufficiently "young" though. Lots of new young talent coming in. I believe Dallas is actually one of the fastest growing cities in the US right now.

</comment><comment><USER6> There are some notable startups, but no real Startup Culture to speak of.

There are some ++s:

\- Cost of living is relatively low \- Modern luxuries, infrastructure, mobility, etc. afforded by a large metropolitan area. \- Central location, with major airports (AA and Southwest are based in the DFW area) \- Strong technical economy (TI, Lockheed Martin, telecom) \- UT Dallas, UT Arlington, SMU \- Mark Cuban?

In my personal experience, I work for a startup in Dallas and we are doing quite well (profitable, growing). We're also hiring for full-time, permanent developers.

<comment><USER7> Which is that? I'm always interested to hear what's going on around here (I didn't realize there'd even be this many people from Dallas here).

<comment><USER6> SiSTeR Technologies, best known for our videocarlot product.

Link: <http://videocarlot.tv>

</comment></comment></comment><comment><USER8> I've lived in Dallas for 9 years and Austin for 4 years. I've been a part of 2 consulting startups and 1 product startup, and most recently raised a Series A for my company. I know of many startup companies in Dallas, but the scene is very different from Seattle and the Valley. VC money is non-existent, with a few exceptions.

While many companies are started in Dallas every year, most of them are focused on non-software industries. On the software side, here are a few current ones I know about: 1) Swarmforce is a content system using swarm AI 2) Roov is a social network for the faith community 3) MileMeter sells auto insurance buy the mile 4) Viewzi provides view-based search

A list of some others can be found at [http://www.texasstartupblog.com/2007/12/17/founders-in- dalla...](http://www.texasstartupblog.com/2007/12/17/founders-in-dallas/)

A good way to get involved in the Dallas software startup community is to visit Refresh Dallas, Dallas BarCamp, and Dallas.rb Reading texasstartupblog occasionally provides insight to a new local company.

</comment><comment><USER9> I'm here in Dallas and there are some startups (some well funded too).

There is a lot of bigger business moving here and dragging a lot of california imports with it, so we're starting to see more of the free spirit vs. the traditional "work for a big company for security" that is standard here.

</comment><comment><USER10> I am from Texas, but now live in NYC. From what I hear, the money is drying up in Dallas. People are having a hard time fundraising; which, doesn't mean anything other than companies are going to move to where the money is. The Angels I have talked to out of Dallas are having a hard time.

</comment><comment><USER11> I just came across this and wanted to add my thoughts and reach out to the other Dallas startups.

 _1) Is Dallas a good city for startups?_ That depends on your involvement/wants/definition. There's a lot of money here and a lot of good MBA schools/programs around. If you had asked, _Is Dallas a good city for hackers?_ , I would've probably said, "Not really since we don't have a quality tech school."

2) My startup, LearnItfirst.com (video training), is hiring both permanent and interns: <http://www.learnitfirst.com/jobs/>

Someone posted a StartUpDrinks.com group: <http://dallas.startupdrinks.com/>

</comment><comment><USER12> I'm an avid HN reader/dreamer/schemer in Dallas, and didn't know anyone else existed....

There are a lot of telecom startups in Dallas, but there are not a lot of Silicon Valley style software startups. You'd have better luck in Austin.

Hopefully, I'll soon be changing that ;)

</comment><comment><USER13> This might interest you: <http://hackrtrackr.com/>

</comment><comment><USER14> I have been living in dallas for the past 8 years. I dont think dallas is the place for web 2.0 type startups. Well, there are couple of telecom startups. I dont see a vibrant VC community here.

</comment><comment><USER15> I moved from Dallas to Seattle and haven't looked back. No comparison - <USER2> better startup scene here.

</comment><comment><USER16> You'll have better chances in Austin...

</comment><comment><USER17> How is Austin?</comment>


Cheaper bandwidth or bust: How Google saved YouTube - <AUTHOR> http://arstechnica.com/gadgets/2015/04/cheaper-bandwidth-or-bust-how-google-saved-youtube/ <comment><USER2> I still remember the loud howls of mockery when Google paid $1.65 billion for YouTube in 2006.

Mark Cuban said: "Only a moron would buy YouTube" (due to the potential legal liability) and "There is a reason they haven't yet gone public, they haven't sold. It's because they are going to be toasted" and "Would Google be crazy to buy Youtube. No doubt about it. Moronic would be an understatement of a lifetime."

[http://blogmaverick.com/2006/10/07/some-thoughts-on- youtube-...](http://blogmaverick.com/2006/10/07/some-thoughts-on-youtube-and- google/)

It was almost universally ridiculed as being far too expensive. Analysis was done in every other article about how Google would never be able to pay for the acquisition with YouTube as a business.

Eight years later, it's more than clear that YouTube was a steal for Google at $1.65 billion. It's worth 10+ times that today.

<comment><USER3> > Eight years later, it's more than clear that YouTube was a steal for Google > at $1.65 billion. It's worth 10+ times that today.

A 10x valuation still puts it at less than WhatsApp. If WhatsApp is worth $19b, then I'd wager that Youtube should be worth significantly more.

EDIT: I'll expand with a few dot points

\- Youtube has an unimaginably huge content library

\- Youtube has a solid monetization strategy

\- Barrier to entry is significantly higher than a messaging app

\- Youtube is even more synonymous with video streaming than WhatsApp is with messaging (anecdotally, my grandparents use Youtube. They don't even have smartphones, let alone WhatsApp).

<comment><USER4> WhatsApp is _not_ worth $19 billion. That was a defense acquisition, not an RoI based acquisition. Facebook was protecting themselves from losing $19 billion or more of business to WhatsApp or WhatsApp in the hands of a competitor (like google).

<comment><USER5> A company is worth exactly what someone is willing to pay for it, nothing less, nothing more. That's the best evaluation that exists.

<comment><USER6> The motivation for thart valuation is still relevant though.

</comment></comment></comment></comment></comment><comment><USER7> The fact that Google buoyed Youtube's sinking boat by plugging the leaks with money does not mean that Youtube shouldn't have collapsed under it's own weight and been allowed to die. Maybe then, we would've gotten a free, open, p2p alternative out of the ashes. Now we have DMCA takedowns, region-locked videos, and unskippable commercials.

The sooner someone disrupts youtube, the better the world will be.

<comment><USER8> > _Maybe then, we would 've gotten a free, open, p2p alternative out of the > ashes._

P2P is not the answer. It may work for the 1% (popular videos), but for the 99% it does not provide a viable alternative for on-demand content... I don't want to wait 5 hours for a 3 year old how-to video to stream from a single seed with limited upload capacity :(.

E.g. Look at torrents. Popular ones are readily available, but obscure or old torrents will be lucky to have a single seed.

<comment><USER9> What percentage of the bandwidth is consumed by popular videos, and what percentage by the long tail? P2P can alleviate a big chunk of the popular content bandwidth. Not sure how much that is, though.

In a P2P world, if you're uploading a long tail video of your cat that only your family will watch, maybe it's up to you to "seed that torrent" \- or more realistically, keep your machine running so that your peer can serve the content to theirs. It's the move from desktops to mobile and laptop devices that run only sporadically that is the real problem for P2P.

</comment></comment></comment><comment><USER10> Pretty interesting stuff. I do wonder how much internal collaboration there is on topics like HTML5 video & WebM. The benefits of owning end-to-end both browser and server for driving media codec development seem enormous.

It makes Google's decision to launch Chrome in 2008 much more of an obvious call.

</comment><comment><USER11> I had a coworker who used to work for a direct competitor of Youtube. He left that competitor (as they were struggling) as Youtube was taking off. His older company had been founded by a Hollywood exec/veteran, meaning he made sure to keep out copyrighted material.

The way he put it, he said Youtube got big Because Youtube initially allowed copyrighted material.

This led Youtube gaining more videos -> more traffic -> more videos -> repeat.

<comment><USER12> Almost every day I watch something on Youtube that breaks copyright law and think that society is better off as a result, so I think this is a positive outcome. I wouldn't sacrifice all the old adverts, rare blues music etc. just so that big corps can have a better bargaining position over their copyrights.

<comment><USER9> This sort of thinking only encourages more breaking of copyright law, the vast majority of which is of content that is neither rare nor in danger of being lost. I don't think society is better off for that, as it simply exacerbates this specific freerider problem. "Big corps" (and small creators) are investing their resources into providing content that you like? What are you giving back in return?

</comment></comment></comment><comment><USER13> Seems a bit whitewashed by not making any mention of all the youtube internal emails turned up in viacom's discovery with youtube staff participating in, aiding the infringement (including, e.g. removing report functionality), and saying the infringement was integral to the success of their business; But it mentioned viacom's not-completely-clean hands. (Though there was nothing unlawful about viacom uploading their own stuff to youtube...)

<comment><USER14> > (Though there was nothing unlawful about viacom uploading their own stuff to > youtube...)

I dunno, sounds kinda like entrapment or framing to me...

</comment></comment><comment><USER15> Defined saved; the site is still losing money.</comment>


Best Selling iPhone Apps Have Relatively Stable Prices  - <AUTHOR> http://bustedloop.com/blog/2009/7/3/best-selling-iphone-apps-have-relatively-stable-prices.html

<comment><USER2> But is that the cause or the effect?

<comment><USER3> I'd like to think that some root cause is responsible for both. Consider this unlikely scenario:

1\. An app is good.

2\. People buy it.

3\. The developers are satisfied with sales; the price remains stable</comment></comment>