UTF-8 Everywhere - <AUTHOR> http://utf8everywhere.org/ <comment><USER3> > In the UNIX world, narrow strings are considered UTF-8 by default almost > everywhere. Because of that, the author of the file copy utility would not > need to care about Unicode

It couldn't be further from the truth. Unix paths don't need to be valid UTF-8 and most programs happily pipe the mess through into text that should be valid. (Windows filenames don't have to be proper UTF-16 either)

Rust is one of the few programming languages that correctly doesn't treat file paths as strings.

<comment><USER4> > Rust is one of the few programming languages that correctly doesn't treat > file paths as strings.

Imagine if languages allowed subtypes of strings which are not directly assignment compatible.

HtmlString

SqlString

String

A String could be converted to HtmlString not by assignment, but through a function call, which escapes characters that the browser would recognize as markup.

Similarly a String would be converted to a SqlString via a function.

It would be difficult to accidentally mix up strings because they would be assignment incompatible without the functions that translate them.

There could be mixed "languages" within a string. Like a JSP or PHP that might contain scripting snippets, and also JavaScript and CSS snippets, each with different syntax rules and escaping conventions.

<comment><USER5> Allowed you to? You could do that in C++ quite happily, it's just not useful enough. To bother implementing, at least.

<comment><USER6> It's absolutely useful enough, it's just that it's awful in C++ due to language limitations as opposed to other languages such as Haskell, where it is standard.

<comment><USER7> How would be awful in c++? It seems trivial to do, basic_string is already templated and distinct instantiations are not mutually compatible by default. In fact wstring, u8string, u16string, u32string exist today in the language simply as distinct instatiantions of basic_string. You can crate your own by picking a new char type. Algorithms can be and are, generic and work on any string type.

</comment></comment></comment></comment></comment><comment><USER8> However, sometimes you're in a layer when ASCII was fine and you should just be explicit about that.

Server Name Indication (in RFC 3546) is flawed in several ways, it's a classic unused extension point for example because it has an entire field for what type of server name you mean, with only a single value for that field ever defined. But one that stands out is it uses UTF-8 encoding rather than insisting on ASCII for the server name.

You can see the reasoning - international domain names are a big deal, we should embrace Unicode. But IDNA already needed to handle all this work, the DNS A-labels are already ASCII even for IDNs.

Essentially choosing UTF-8 here only made things needlessly more complicated in a critical security component. Users, the people who IDNs were for, don't know what SNI is, and don't care how it's encoded.

</comment><comment><USER9> Trying to figure out how to express this without making people mad at me. I think the conflation of Unicode with "plain text" might be a mistake. Don't get me wrong, Unicode serves an important purpose. But bumping the version from plain text 1.0 (ASCII) to plain text 2.0 (Unicode) introduced a ton of complexity, and there are cases where the abstractions start leaking (iterating characters etc).

With things like data archival, if I have a hard drive with the library of congress stored in ASCII, I need half a sheet of paper to understand how to decode it.

Whereas apparently UTF8 requires 7k words just to explain why it's important. And that's not even looking at the spec.

Just to be crystal clear, I'm not advocating to not use Unicode, or even use it less. I'm just saying I think it maybe shouldn't count as plain text, since it looks a lot like a relatively complicated binary format to me.

<comment><USER10> _Unicode_ is complicated because the languages it needs to handle are, alas, complicated. _UTF-8_ is super simple. It's a variable-length encoding for 21-bit unsigned integers. Wikipedia gives a handy table showing how it works:

[https://en.wikipedia.org/wiki/UTF-8#Description](https://en.wikipedia.org/wiki/UTF-8#Description)

<comment><USER11> Yeah, this. I have a pat "Unicode Rant" that boils down to this essentially.

Having a catalog of standard numbers-to-glyphs (or symbols or whatever, little pictures humans use to communicate with) is awesome and useful (and all ASCII ever was) but trying to digitalize all of human language is much much more challenging.

<comment><USER8> But human language doesn't stop being "much much more challenging" if you decide not to engage.

Sometimes (and this can even be an admirable choice) in some specialist applications it's acceptable to decide you won't embrace the complexity of human language. But in a lot of places where that's fine we already did this with the decimal digits such as in telephone numbers, or UPC/EAN product codes, so we don't need ASCII.

In most other places insisting upon ASCII is just an annoying limitation, it's annoying not being able to write your sister's name in the name of the JPEG file, regardless of whether her name is 林鳳嬌 or Jenny Smith, and it jumps out at you if the product you're using is OK with Jenny Smith but not 林鳳嬌.

You might think well, OK, but there weren't problems in ASCII. The complexity is Unicode's fault. Think about Sarah O'Connor? That apostrophe will often break people's software without any help from Unicode.

<comment><USER9> Your sister's name doesn't render in my browser (stable Firefox on Linux 5.6). I'm sure I'm missing a fontpack or something. Again, I'm not saying ASCII is the solution, I'm saying Unicode is much more difficult to get right, and maybe we should call it something other than "plain text", since we already had a generally accepted meaning for that for many years. I'm usually in favor of making a new name for a thing rather than overloading an old name.

<comment><USER8> Firefox does full font fallback. So this means your system just isn't capable of rendering her name (which yes you might be able to fix if you wanted to by installing font packages). If you don't understand Han characters that's an acceptable situation, the dotted boxes (which I assume rendered instead) alert you that there is something here you can't display properly but if you know you can't understand it even if it's displayed there's no need to bother.

It really is just plain text. Human writing systems were always this hard, and "for many years" what you had were separate independent understandings of what "plain text" means in different environments, which makes interoperability impossible. Unicode is mostly about having only one "plain text" rather than dozens.

It is _not_ mandatory that your 80x25 terminal learn how to display Linear B, you can't read Linear B and you probably have no desire to learn how and no interest in any text written in it. But Unicode means your computer agrees with everybody else's computer that it's Linear B, and not a bunch of symbols for drawing Space Invaders, or the manufacturer's logo, if you fix a typo in a document I wrote that has some Linear B in it, your computer doesn't replace the Linear B with question marks, or erase the document, since it knows what that is even if you can't read it and it doesn't know how to display it.

</comment></comment></comment></comment></comment></comment><comment><USER12> What I never see mentioned about Unicode is Han Unification

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

As I understand it, it's impossible to have a txt file that uses Japanese and Chinese characters at the same time. The file will either use the Chinese or Japanese forms of the characters, depending on your font. I would think this is a big gotcha people must run into all the time, but I never hear anyone talk about it.

<comment><USER13> I'm not going to try and minimize the problem, here. Han unification was pushed through by western interests, by my understanding.

However, most Unicode characters are identical or nearly identical in Chinese and Japanese. Characters with "significant" visual differences got encoded as different Unicode characters. The same thing applies to simplified and traditional Chinese characters.

So for a given "Han character", there might be between one and three different Unicode characters, and there might be between one and three different ways of writing it.

Here's an illustration: [https://japanese.stackexchange.com/questions/64590/why- are-j...](https://japanese.stackexchange.com/questions/64590/why-are-japanese- fonts-different-to-chinese)

So the issue does come up when mixing Chinese and Japanese text, but it's not really one that has a big impact on _legibility_ of the text but you would definitely be concerned if you were writing a Japanese textbook for Chinese students, or vice versa.

Beyond that, it is usually fairly trivial to distinguish between Japanese and Chinese text, so you could just lean on simple heuristics to get the work done (Japanese text, with the exception of fairly ancient text or very short fragments, contains kana, but Chinese does not).

<comment><USER14> _Han unification was pushed through by western interests, by my understanding._

Note that as far as I'm aware, the interest in question was the initial 16-bit limit of the character set and later on the non-proliferation of competing standards.

Also note that while Han unification is the most prominent example, there are technically similar cases, which just aren't as charged culturally. For one, Unicode doesn't encode German Fraktur: While some characters are available due to their use in mathematics, it's lacking the corresponding variants of ä, ö, ü, ß, ſ as well as specific ligatures. So if you want to intermix modern with old German writing, you'll also have to go out-of-band.

<comment><USER15> That's not the same thing. Fraktur is just a style of fonts, antiqua and fraktur letters are semantically the same.

<comment><USER8> It's actually exactly the same thing. The Han Unification didn't smash together unrelated squiggles that just happened to look similar, they were semantically the same - scholars of the Han writing system spent a bunch of time deciding what is or is not the same squiggle just drawn differently, like Fraktur, and today people are annoyed because, as you'd expect some of them believed that "style of fonts" was integral to the meaning anyway.

<comment><USER15> Chinese characters represent the Chinese words or parts thereof, Japanese ones represent Japanese words and parts thereof. That is a semantic difference.

<comment><USER8> So what you're saying is that because 'chat' in English and 'chat' in French are quite different words with very different meanings, you believe there should be a separate letter 'c' for English and French to enable us to tell those words apart?

<comment><USER15> The Latin alphabet is not logographic.

<comment><USER16> It is not logographic, but characters still have meaning - <USER2> phonemes. Although this is less clear in English, it is emphasized in other languages.

And this mapping is different between languages. So 'c' in English has different meaning to 'c' in Czech.

<comment><USER15> Not really. Morphemes are considered (defined even) as the smallest unit that has meaning by itself.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Maybe it's time for MySQL to make "utf8" actually mean UTF-8 then ([https://medium.com/@adamhooper/in-mysql-never-use- utf8-use-u...](https://medium.com/@adamhooper/in-mysql-never-use-utf8-use- utf8mb4-11761243e434))

<comment><USER18> They probably couldn't even if they wanted to, by this point there will be too much software out there depending on "utf8" meaning "MySQL's weird proprietary hacked-up version of UTF-8".

The only real solution is to hammer home the message that "utf8mb4" is what you put into MySQL if you want UTF-8.

<comment><USER19> There are acual problems too, when switching from utf8mb3 to utf8mb4, because of maximum varchar length in indices: [https://stackoverflow.com/questions/48500355/mysql- character...](https://stackoverflow.com/questions/48500355/mysql-character- set-utf8mb4-varchar-length)

</comment></comment></comment><comment><USER20> > For instance, 'ch' is two letters in English and Latin, but considered to be > one letter in Czech and Slovak.

Is "ch" really considered one _character_ in Czech and Slovak? I'm Polish and we do have "ch" and consider it one ... sound... represented by two letters? I mean... if you asked anyone to count letters/characters in a word, they would count "ch" as two. So I wonder if that's different in Slovakia or Chech Republic, or is just my definition of "character" wrong.

<comment><USER21> A better example would probably be "ij" in Dutch. That's definitely considered a single letter, as words starting with ij in Dutch are capitalised IJ. Though there are glyphs for IJ /ij already in unicode.

<comment><USER22> "Ij" is also one sounds represented bij two letters, and I think capitalizing just the 'I' is pretty standard. As a Dutch person myself, I didn't even know that there's a glyph for it!

We also have "ei", which sounds the same and was invented to annoy people learning Dutch. Then there's "oe", "eu", "ui". And just to fuck even more with people learning the language, we have "au" and "ou" which also sound the same. Oh, and "ch" and "g".

Hans Brinker, the inventor of the Dutch language, famously would toss a florijn to decide between using ei/ij and au/ou, as he was not fond of foreigners. He's mostly known for saving our country though when he plugged a hole in a dyke with his finger (yes, I know what you're thinking, and no, we do not appreciate your dirty minds making light of this heroic act).

<comment><USER23> Spelling it "dike" helps keep people's minds on the right thing. :)

<comment><USER24> If you spell it "dijk" it's even less racy, because it's no longer a four- letter word.

</comment></comment></comment></comment></comment><comment><USER25> I came to the same conclusion years ago. My app is Win32, but I never defined UNICODE or used the TCHAR abomination. All strings are stored as UTF8 until they are passed to Win32 APIs, whereupon they are converted to UCS-2. I explicitly call the wchar version of functions (ex: TextOutW). This strategy enabled me to transition easily and safely from single-byte ASCII (Windows 3.1) to Unicode.

The database is also UTF8.

<comment><USER26> Calling the "A", instead of "W" functions might be some small perf hit (don't know if it matters), but for some functionality you need to call the "W" functions, for example to break the limit of 256 or was it 260 characters, up to 32768 (or was it 16384).

:)

</comment></comment><comment><USER27> Even Microsoft is finally giving up UTF-16!

They recommend now to use the UTF-8 "code page" in new code.

<comment><USER28> Is java.lang.String still UTF-16? Is there any plan to fix that? Once Windows and Java take care of it, I can't think of any other major UTF-16 uses left. Are there any that I've forgotten about?

Edit: Still looks like UTF-16, according to the Oracle documentation page: [https://docs.oracle.com/en/java/javase/14/docs/api/java.base...](https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/lang/String.html) Edit 2: JavaScript too. See my reply to someone else below.

<comment><USER29> Compact Strings were added in Java 9; [https://openjdk.java.net/jeps/254](https://openjdk.java.net/jeps/254)

So they can now be stored as one byte per character.

<comment><USER30> Only for ASCII text. There is still no UTF-8 support (it's even called out as a non-goal in the JEP: "It is not a goal to use alternate encodings such as UTF-8 in the internal representation of strings.")

</comment></comment></comment></comment><comment><USER31> When I used to do a lot of windows programming in the late 90s, I wish that I had a sensible guide like this for handling strings. TCHAR was always a source of subtle bugs.

I suppose, though, that the underlying problem was that Microsoft was so late to implement a compatibility solution for Windows 9x. Most software of the time ended up implementing on "ANSI" multibyte character set (MBCS) just because otherwise you would need to either deploy 2 executables or do your own thunking. This solution would be a double thunk on 9x because you'd be thunking your UTF-8 to unicode and then thunking that back to MBCS.

</comment><comment><USER32> > _When writing a UTF-8 string to a file, it is the length in bytes which is > important. Counting any other type of 'characters' is, on the other hand, > not very helpful._

So, suppose I have a UTF-8 string of n code units (bytes) length. Unfortunately my data structure only permits strings of length m < n bytes.

How do I correctly truncate the string so it doesn't become invalid UTF-8 and won't show any unexpected gibberish when rendered? (E.g., the truncated string doesn't suddenly contain any glyphs or grapheme clusters that weren't in the original string)

<comment><USER24> Avoiding invalid UTF-8 is easy, almost trivial: just make sure you don't truncate in the middle of a code point.

The latter is fiendishly difficult to get right in all cases, the ugliest case being emoji flags. Being all-or-nothing on both sides of a ZWJ will get you most of the way there, however.

<comment><USER33> It's not though. Replacing invalid byte sequences is not terribly difficult.

[https://golang.org/src/strings/strings.go?s=15854:15900#L627](https://golang.org/src/strings/strings.go?s=15854:15900#L627).

<comment><USER24> We are agreeing, the part I was indicating is difficult is 'displaying gibberish'.

Knowing what constitutes a grapheme cluster is detailed and frequently changes.

</comment></comment></comment></comment><comment><USER34> (2012)

Previous discussions: [https://news.ycombinator.com/from?site=utf8everywhere.org](https://news.ycombinator.com/from?site=utf8everywhere.org)

</comment><comment><USER35> As someone who experienced serious pain with broken strings that I sometimes only discovered, after the original files were gone and new special characters were integrated, I directed quite some anger to the fact, that computer systems are internal mostly operated in english only, so usually nobody notices bugs with wrong character encoding. So I share the sentiment of the article ..

I do not want to think about UTF encoding, when I simply create a 7z or tar file, without even programming. But I learned the hard way, I had to. I never even found out for example, if it was/is a bug with 7z, tar, rsync, scite text editor/ notepad++ .. or just wrong usage/configuration. I just had(and still have even now my workflow is clean) a special first file/codeline with special characters, I checked to be correct, after compressing, rsyncing between different systems. Especially between windows and linux. But it probably helps, that I don't have to do that anymore.

</comment><comment><USER36> > Many third-party libraries for Windows do not support Unicode: they accept > narrow string parameters and pass them to the ANSI API. Sometimes, even for > file names. In the general case, it is impossible to work around this, as a > string may not be representable completely in any ANSI code page (if it > contains characters from a mix of Unicode blocks). What is normally done by > Windows programmers for file names is getting an 8.3 path to the file (if it > already exists) and feeding it into such a library. It is not possible if > the library is supposed to create a non-existing file.

Yikes. That's a fascinating use of 8.3 paths. Sometimes when I look at really old Windows cruft I wonder when it will go away. 8.3 paths seemed like an easy thing to get rid of, but with 8.3 paths used to hack around encoding issues in 3rd party libraries... that's going to stick around...

Anyone know which libraries this is talking about?

</comment><comment><USER37> > _Q: What do you think about Byte Order Marks? A: According to the Unicode > Standard (v6.2, p.30): "Use of a BOM is neither required nor recommended for > UTF-8". [...] Using BOMs would require all existing code to be aware of > them, even in simple scenarios as file concatenation. This is unacceptable._

Then your site "UTF-8 everywhere" is misnamed, because standards-following UTF-8 can have a BOM. It's not required or recommended, but it is possible and allowable, so you might see them and if you follow the standard you have to deal with them. It's not a matter of "this would require all existing code to handle them" \- that is not hypothetical, that is the current world, to be standards-compliant all existing code _does already_ need to be aware of them. It isn't, which means it's broken. Declaring it "unacceptable" is meaningless, except to say you're rejecting the standard and doing something incompatible and broken because it's easier.

Which is a position one can take and defend, but it's not a good position for a site claiming to be pushing for people to follow the standard. What it is, is yet another non-standard ad-hoc variant defined by what some subset of tools the authors use can/can't handle in April 2020.

> " _the UTF-8 BOM exists only to manifest that this is a UTF-8 stream_ "

Throwing the word "only" in there doesn't make it go away. It exists as a standards-compliant way to distinguish UTF-8 from ASCII, not recommended but not forbidden.

> " _A: Are you serious about not supporting all of Unicode in your software > design? And, if you are going to support it anyway, how does the fact that > non-BMP characters are rare practically change anything_ "

Well in the same way, how does the fact that UTF8+BOM is rare practically change anything? At some level you're either pushing for everyone to follow standards even if it's inconvenient because that makes life better for everyone overall, like you are with surrogate pairs and indexing, or you're creating another ad-hoc incompatible variation of UTF-8 which you prefer to the standard and trying to strong-arm everyone else into using it with threats of being incompatible with all the code which already does it wrong.

Being wary of Chesterton's Fence, presumably there's some company or system which got UTF-8+BOM added to the standard because they wanted it, or needed it.

<comment><USER38> 100% agree.

> using BOMs would require all existing code to be aware of them, even in > simple scenarios as file concatenation

Absolutely! Any app that writes UTF-files can (and probably should) avoid writing them. But any program that reads UTF files _must_ handle a BOM. A lot of apps write UTF-8 including the BOM by default, for example Visual Studio.

You can NOT concatenate two UTF-8 streams and expect that the resulting stream is also a valid UTF-8 stream. NO tool should assume that, ever.

<comment><USER39> > You can NOT concatenate two UTF-8 streams and expect that the resulting > stream is also a valid UTF-8 stream.

Actually you can; the ability to concatenate UTF-8 streams is an intentionally part of the design of UTF-8. The BOM is an ordinary Unicode code point and can occur in the middle of a valid UTF-8 stream, where it should be treated as either a zero-width non-breaking space or an unsupported character (which only affects rendering). So concatenating two UTF-8 streams with leading BOMs still results in a valid UTF-8 stream, albeit with an extra zero-width space.

The bigger problem with the BOM is that it breaks transparent compatibility with ASCII. Absent a leading BOM character, a UTF-8 steam containing only codepoints 0-127 is binary-identical to an ASCII-encoded text stream and can be handled with tools that are not UTF-8 aware. This was an explicit design consideration for both Unicode and UTF-8. Add the BOM, however, and your file is no longer plain text, which can lead to syntax errors or other issues that are difficult to diagnose because the BOM is invisible in UTF-8 aware text editors.

I think the BOM was a mistake—along with the variable-length multi-byte encodings it was created to support—but unfortunately at this point we're stuck with it. (Actually the BOM is _prohibited_ in the multi-byte formats with an explicit byte order, like UTF-16BE; it would have been really nice if the same policy had been applied to UTF-8 where byte order is irrelevant.) The best we can do is recommend that new programs omit the BOM when outputting UTF-8 and either skip it at the beginning or convert it to U+2060 WORD JOINER anywhere else when it appears in the input.

<comment><USER38> Interesting, I thought a BOM-in-the-middle was invalid. I know apps are even more likely to choke on that than a leading BOM though.

In any case, you need to handle it in every app that claims to read UTF. The loss of compatibility is indeed the biggest problem and I agree the BOM should be omitted when possible, but that doesn't change that it's part of the spec and millions of UTF files have a BOM.

Even if 100% of all apps stopped using a BOM today you couldn't ignore it in a parser.

</comment></comment></comment></comment><comment><USER40> I would leave this on their facebook page, but fuck facebook so I'm posting it here hoping that someone will find it useful.

We have a zlib-licensed wrapper header for some commonly-used win32 APIs to make them take UTF-8, see:

[https://github.com/justinfrankel/WDL/blob/master/WDL/win32_u...](https://github.com/justinfrankel/WDL/blob/master/WDL/win32_utf8.h)

[https://github.com/justinfrankel/WDL/blob/master/WDL/win32_u...](https://github.com/justinfrankel/WDL/blob/master/WDL/win32_utf8.c)

(This is used in REAPER so it's relatively well tested!)

</comment><comment><USER41> I'd argue for some standard tests for UTF-8 strings:

\- Basic - UTF-8 byte syntax correct.

\- Unambiguous - similar to the rules for Unicode domain names. The rules are complicated, but basically they prohibit homoglyphs, mixing glyphs from different character sets, forwards and backwards modifiers in the same string, no emoji or modifiers, etc. Use where people have to visually compare two things for identity or retype them, such as file names.

\- Unambiguous, light version - as above, but allow emoji and modifiers. Normal form for documents.

</comment><comment><USER26> Still doesn't solve the fact that filesystems across different OS's allow invalid UTF8 sequences in the filenames.

Maybe 99% of apps do not care, but even a simple "cp" tool should care. Filenames (and maybe other named resoureces) should be treated completely differently, and not blindly assumed that they are utf8 compatible.

<comment><USER42> Are you saying that operating systems (i.e. the kernel) should check and enforce encodings in filenames?

1) Why?

2) Bye bye backward compatibility and interoperability

<comment><USER43> > 2) Bye bye backward compatibility and interoperability

It's already not really a thing.

Traditional unices allow arbitrary bytes with the exception of 00 and 2f, NTFS allows arbitrary _utf-16 code units_ (including unpaired surrogates) with the exception of 0000 and 002f, and I think HFS+ requires valid UTF-16 and allows everything (including NUL).

The OS then adds its own limitations e.g. win32 forbids \, :, *, ", ?, <, >, | (as well as a few special names I think) and OSX forbids 0000 and 003a (":"), the latter of which gets converted to and from "/" (and similarly forbidden) by the POSIX compatibility layer.

The latter is really weird to see in action, if you have access to an OSX machine: open a terminal, try to create a file called "/" and it'll fail. Now create one called ":". Switch over to the Finder, and you'll see that that file is now called "/" (and creating a file called ":" fails).

Oh yeah and ZFS doesn't really care but can require that all paths be valid UTF8 (by setting the utf8only flag).

<comment><USER44> > Traditional unices allow arbitrary bytes with the exception of 00 and 2f, > NTFS allows arbitrary utf-16 code units (including unpaired surrogates) with > the exception of 0000 and 002f.

For just Windows -> Linux you can represent everything by mapping WTF-16 to WTF-8.

</comment></comment></comment></comment><comment><USER45> What is this C++ `narrow()/widen()` function mentioned in the Windows section? At the risk of asking to be spoonfed, can someone give the source code of a function that takes a UTF-8 `std::string` and gives a UTF-16 `std::wstring`?

</comment><comment><USER46> > In the UNIX world, narrow strings are considered UTF-8 by default almost > everywhere

I think in unix world, null terminated strings are the default. It doesn't need to be valid UTF-8 even. For display purposes, the shell uses the locale setting

</comment><comment><USER47> I love the typesetting on the page. It is content-first, clean, and simple.

It lacks all the usual noise like modal dialogs, headers and footers, social media icons, colorful sidebars, newsletter sign-ups, cookie warnings, etc.

</comment><comment><USER48> I'd be happy if I could just get consistent encoding. Have to handle way too many files with mixed encoding, even XML files with explicit encoding header.

</comment><comment><USER49> Well, the font on that article is too small and otherwise ugly.

</comment><comment><USER50> I think UTF-8 was a mistake.

It is a pain in the ass to have a variable number of bytes per char.

In Ascii, you could easily know every character personally. No strange surprises.

Also no surprises while reading black on white text and suddenly being confronted with clors [1].

[1] Also no surprises when writing a comment on HN like this one and having some characters stripped. I put in a smiley as the firs "o" in colors, but it was stripped out. Looks like the makers of HN don't like UTF-8 either.

<comment><USER51> > It is a pain in the ass to have a variable number of bytes per char.

Maybe, but nobody can stomach the wasted space you get with UTF-32 in almost every situation. The encoding time tradeoff was considered less objectionable than making most of your text twice or four times larger.

<comment><USER52> And as the article points out, even then you might have more than one code point for a character.

> For example, the only way to represent the abstract character ю́ _cyrillic > small letter yu with acute_ is by the sequence U+044E _cyrillic small letter > yu_ followed by U+0301 _combining acute accent._

</comment></comment></comment><comment><USER53> This pops up every so often, and is wrong on several fronts (UNIX is UTF-8, UTF-8/32 lexicographically sort, etc.) There's not really a good reason to support UTF-8 over UTF-16; you can quibble over byte order (just pick one) and you can try and make an argument about everything being markup (it's not), but the fact is that UTF-16 is a more efficient encoding for the languages a plurality of people use natively.

But more broadly, being able to assume $encoding everywhere is unrealistic. Write your programs/whatevers allowing your users to be aware of and configure encodings. It might not be ideal, but such is life.

<comment><USER54> > There's not really a good reason to support UTF-8 over UTF-16

Two big reasons:

1\. All legal ASCII text is UTF-8. That means upgrading ASCII to UTF-8 to support i18n doesn't require you to convert all your files that were in ASCII.

2\. UTF-16 gives people the mistaken impression that characters are fixed- width instead of variable-width, and this causes things to break horribly on non-BMP data. I've seen amusing examples of this.

> Write your programs/whatevers allowing your users to be aware of and > configure encodings.

Internally, your program should be using UTF-8 (or UTF-16 if you have to for legacy reasons), and you should convert from non-Unicode charsets as soon as possible. But if you're emitting stuff... you should try hard to make sure that UTF-8 is the only output charset you have to support. Letting people select non-UTF-8 charsets for output adds lots of complication (now you have to have error paths for characters that can't be emitted), and you need to have strong justification for why your code needs that complication.

<comment> mark-r Every program that purports to support Unicode should be tested with a bunch of emoticons.

<comment><USER55> Do you mean emoji? I don't see what the issue would be with [{}:();P\\[\\],.<>/~-_+=XD]

<comment> mark-r Yes, that's what I meant. I knew I was using the wrong word but couldn't remember the right one.</comment></comment></comment></comment></comment>


OctaveWealth (YC S12) Is a Full Service 401(k) for SMBs - <AUTHOR> https://blog.ycombinator.com/octavewealth-yc-s12-is-a-full-service-401-k-for-smbs <comment><USER2> I can't tell from that chart what the "behavior gap" is, or how the $50k is invested without "index investing", which I would expect to be the default but is the second largest contributor to the total value that this company apparently provides? I'm not skeptical, just don't understand yet.</comment>


OpenPGP.js - <AUTHOR> http://openpgpjs.org/

<comment><USER2> Those who are unaware of history are doomed to repeat it. I don't see even an _attempt_ at mitigating the security issues inherent to in-browser, JavaScript cryptography: <http://www.matasano.com/articles/javascript-cryptography/> (for the TL;DR crowd: there is no such thing as security when it comes to JavaScript running inside the browser, therefore, the crypto done in JS is not verifiable and not trustworthy, therefore worse than useless)

In other words, this whole idea is completely insecure by design, and actively harmful by providing an _illusion_ of security.</comment>


Facebook appraisal pegs company's value at $3.7 billion - <AUTHOR> http://www.siliconvalley.com/latestheadlines/ci_11687173

<comment><USER2> Already posted:

Here: <http://news.ycombinator.com/item?id=478358>

Here: <http://news.ycombinator.com/item?id=479897>

Here: <http://news.ycombinator.com/item?id=478115>

... and probably more. Do a search for ConnectU and Facebook to see others:

<http://searchyc.com/facebook+connectu?sort=by_date>

<comment><USER3> Would you please stop doing this? It's ok for there to be multiple stories about a topic.

<comment><USER2> OK. I was trying to ensure that discussions remained in one place rather than getting fragmented, but if that's regarded as the lesser evil then I'm happy to stop.

Sorry for the inconvenience.

I've just noticed that you've been down-modded - it wasn't me!</comment></comment></comment>


CEO of porn cryptocurrency disappears with investor money - <AUTHOR> https://nypost.com/2018/01/08/ceo-of-porn-cryptocurrency-disappears-with-investor-money/ <comment><USER2> I consider every ICO to be a scam and that this sort of thing will become par for the course, with basically every speculator in the space losing money - except those who manage to trick main street investors to cash them out.

However, this is weird: "Within hours they refunded me ethereum with a dollar amount equal to what I had contributed in early September, but since the coin has more than tripled in value since then, they kept the rest of my contribution, essentially stealing quite a lot of money from me."

Yeah, that's bullshit. They owe you your money back, they don't owe you the gains that you would have gotten if you had speculated in Ethereum instead.

<comment><USER3> No sorry if you consider ETH to be a currency and payment was made in that currency then repayment is expected in that currency. Let's say you borrow US$1000 from a friend. That $1000 would have bought 1000 candies when you borrowed that money. One year later 1000 of the same candies costs $800 because the USD became stronger. You cannot repay your friend with 1000 candies and say you are good. You took $1000 and your friend wants $1000, not something that was equivalent to $1000 at the time you borrowed the money.

<comment><USER2> I agree conceptually: if both sides consider the transaction to in ethereum- denominated currency, then there is a logical argument to what you said.

But legally, ETH is not a currency. If they take this to court, the court will award the original USD price. They bought an asset worth $x. They are owed $x.

When we get away from this funny money "we're inventing currencies" bullshit, there is a law of the land. An asset was promised, and they are owed the value of that asset when purchased, in USD.

<comment><USER4> > If they take this to court, the court will award the original USD price. > They bought an asset worth $x. They are owed $x.

That's not true at all, outside of very specific asset-classes.

A better analogy: let's say we make a trade where I pay you in _land_ , and you don't give me what I'm owed in that trade. I would expect my _land_ back, not its dollar-value.

We do things this way, in the case of land, precisely _because_ my land might turn out to e.g. have gold under it that might make it worth 100x more. If you conned me out of the land, and then found the gold, guess what? That's rightfully _my gold_.

Refunds aren't legally equivalent to suing for damages. If someone doesn't give you a refund for breaking a contract where you transferred an asset to them, your legal fallback isn't suing for damages; it's _suing to get a court- order to execute a seizure_ in order to reclaim your property, or the things it has in turn been traded for by the contract-breaker. (You know, like repo companies do when you buy stuff on a credit card and then let it go to collections!)

<comment><USER2> Can you explain how you chose land as the equivalent asset class? That doesn't even seem close to the ETH situation.

<comment><USER5> For federal tax purposes, virtual currency is treated as property: [https://www.irs.gov/pub/irs-drop/n-14-21.pdf](https://www.irs.gov/pub/irs- drop/n-14-21.pdf)

<comment><USER6> You seem to be misinterpreting what the IRS means by "property". It is equivalent to "asset", not to "land". It can mean land, but can also mean a stock, bond, capital good, etc. that you own. See [1] for example usage.

[1] [https://www.irs.gov/taxtopics/tc703](https://www.irs.gov/taxtopics/tc703)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> If you went to a Seed fund and tried to pitch them your idea (whitepaper) with no working prototype 99 out of 100 times you wouldn't get any funding. After you have your MVP then they will start asking you for traction. Again 98 out of 100 times not getting any funding.

Here you can raise a tremendous amount of capital, given that the majority of seed rounds are $500k-$3MM, and with an ICO entities are raising tens of millions of dollars to build something that again has no actual working mvp to show usage.

Doesn't really seem like a sound investment ;)

Tokens have already been in use for a long time with chat sites, I suppose if one of them decided to re-create their tokens on the blockchain and offer an ICO they could make more money during this period than actually operating their service.

At least that would have some basis in reality in that there is an existing site that is generating revenue, profit, and visitors.

<comment><USER8> > Doesn't really seem like a sound investment.

You're conflating the economics of currencies with the economics of companies.

<comment><USER9> It seems to me like the whole value proposition of ICOs is getting people to think of a currency as equity in a company.

<comment><USER7> Not necessarily. Companies still need to charge you for a service, so instead of buying something directly you buy tokens from them and then use them.

That has been in use by companies for quite some time, just that the tokens were primarily used to actually work with the companies service, rather than trade them as an independent entity.

<comment><USER9> I could see how that could work in theory (and I'll be excited if that's actually happening!), but aren't most of these ICOs for products that don't exist yet? It seems like the token buyers take on risk as if they are investors in the company without getting a stake in the upside.

<comment><USER7> Any ICO from a newly formed company is entirely at risk. An ICO from Kik or Telegram is different to an extent in that there is already an entity behind it.

Of course if there were no "blockchain" they would simply issue tokens like everyone has in the past, where you exchange money to get a token, that you can use in the app, and that token is locked into that app. So you can't use it elsewhere, but it still has some value as long as the app and users exist since you can sell your tokens to other people if you no longer need them, assuming that transferring of tokens is allowed / acceptable.

But then it wouldn't be block chain, and it wouldn't get any hype =]

Games have been using this for years and years, so there's really no difference here.

One side likes to point out the internet bubble, the other side likes to say well look at the internet now. What's missed though is the massive companies that were built in the middle, that really changed our daily lives. Amazon, Google, Facebook, Apple, etc, these companies changed how we live our lives and then Banks and everyone else realized the benefits of offering connected services directly to a PC or a phone and again there were tremendous benefits to consumers and end users.

At the moment, there is no benefit, outside of a large remittance and some tax avoidance that can be accomplished through cryptocurrency, and certainly there's no functional product company in the crypto space, outside of the exchanges which make money through people simply trading currencies, but returning no real value back to the world.

<comment><USER10> But aren't all these app creating their own coins? Doesn't that mean the tokens are only usable in that app?

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Is this even remotely surprising to anybody?

All these ICOs are pump and dump schemes at best. This guy just seems to have ditched the formalities and simply stolen the money.

<comment><USER12> I used to get downvoted for sharing that thought :)

<comment><USER11> If it's any consolation, I did too.

</comment></comment></comment><comment><USER13> The real tragedy here is that an instant, anonymous, feeless, global cryptocurrency would form the absolute ideal medium of exchange between online sex workers and their patrons. Sites such as ManyVids, et al. probably see on order of $100K per week in transactions. Although the cryptocurrency community may balk at the association. The benefits of decentralization in this particular milleu are self-evident. Its possible it may even become the driver of significant transaction volume growth!

<comment><USER14> It really would make a perfect fit. Then again site owners might face legal challenges as there would be no age verification built into the payment system. I guess there is still space for a player in that market.

</comment></comment><comment><USER15> This is why we are not launching our ICO until after we have a working service. We are raising some money in a pre-ICO (Series A) but given the scams, we felt it was best to deliver before going public.

Of course, we are not a typical ICO. We are selling an unregulated security: equity in our company and we will pay dividends. We are only going this route because we are an extrajurisdictional company and traditional fundraising is incredibly difficult for such a setup.

<comment><USER16> Isn't "extrajurisdictional company" a contradiction in terms? A company is a legal vehicle, which requires laws, which requires jurisdiction.

Without a legal company, it would seem that under the law you are just some individuals conducting business. Is that not the case?

<comment><USER15> A company is a group of people operating together. That is what our company is. We are not incorporated in any jurisdiction.

<comment><USER17> Unless you and the people in your "company" can pay for your food, rent, and bills directly with Bitcoin or Ethereum, I don't see how this works. You have to convert it to fiat somewhere, and that's probably going to be through a bank. Then you're in for a lot of trouble if you get investigated, audited, or whatever.

<comment><USER15> >Then you're in for a lot of trouble if you get investigated, audited, or whatever

Yes that is accurate. This endeavor relies on me getting our opsec right.

</comment></comment></comment></comment></comment><comment><USER18> Can we put the FMtokens cryptocurrency name in the title? This may scare people who invested in other adult entertainment coins such as SpankChain ([https://spankchain.com/](https://spankchain.com/))

<comment><USER19> If you invest in something called "SpankCoin", I think getting occasionally spooked by titles is going to be the least of your worries...

<comment><USER20> You'd be surprised. Bitfinex has added the "SPANK" token of "SpankChain" to its markets[1]

[1] [https://www.bitfinex.com/t/SPK:USD](https://www.bitfinex.com/t/SPK:USD)

</comment></comment></comment><comment><USER21> The number of ICOs I see being advertised all around the internet, all with the familiar marketing gimmicks ("coin for marijuana! celebrity founder!") makes me doubt pretty much every ICO.

I'm yet to see a single real-world use case for crypto. Pretty much everything is hinged on the "promise" of crypto.

BTC itself seems to have zero momentum in actually implementing it for payments. All the stories I see about it are about its price as an asset.

<comment><USER22> I think FileCoin is pretty interesting, and actually based on the economics of scarcity (file storage) thereby providing some concrete value.

</comment></comment><comment><USER23> When I saw the headline, I thought it was satire.

It happens at a disturbing rate these days. Is it just me growing old(er), or is the world really becoming more and more unreal?

<comment><USER24> Some sliver of it, to be sure, but most people don't know what a bitcoin is.

</comment></comment><comment><USER25> Color me shocked (not that shocked).

On its face . . . just the idea . . . how could anyone look at that one, out of all of the ICOs out there, and not think twice before sending in their money?

<comment><USER26> Some people, uhhh, _really_ like porn.

</comment></comment><comment><USER27> I'm not surprised. Two out of five of the top coins by market capitalization right now are fake crypto-currencies. Cardano literally doesn't exist at all yet and is a white paper and Ripple to be considered a crypto-currency requires a serious stretch of the imagination. Neither are mineable. Also we are approaching $2 trillion USDT floating around.

</comment><comment><USER28> I see an analogy with prostitution: prostitutes get away with a lot of cheating, because their customers are embarrassed to report anything (except perhaps in countries where it's fully legal).

Therefore, a good rule of thumb is: the more embarrassing a service is, the more cheaters it will support.

<comment><USER29> Quite the opposite plenty of escorts get fucked around. That's why they developed market solutions such as screening clients and widely used black lists .

<comment><USER28> I don't think this is mutually exclusive. Both parties cheat, because the topic is awkward and not treated seriously, especially in more conservative states.

<comment><USER29> True, I can't edit my comment, but yes it happens both sides. The nature of markets forced to be black. It's not mutually exclusive in any black market, both sides have to have self defensive tactics outside of the state.

</comment></comment></comment></comment><comment><USER30> While economics teaches us that past performance is not an indicator of future performance it concurrently teaches us that history is the only clue we have as to the future so, what follows is a fictional rewrite of a not so distant history; Maybe it's canals, not tulips...

"For each cryptocoin, a unique software protocol and accompanying network was necessary to enable its implementation, and as people saw the high incomes achieved from sales to fiat currency, mining and transaction fees, coin proposals came to be put forward by investors interested in profiting from coins, at least as much as by developers seeking to facilitate egalitarian movement of financial value and flexible independent storage of wealth.

In a further development, there was often out-and-out speculation, in which people would try to buy coins in a newly created coin simply to sell them on for an immediate profit, regardless of whether the network was ever profitable, or even built. During this period of "coin mania", huge sums were invested in coin infrastructure, and although many schemes came to nothing, the coin system rapidly expanded to nearly 4,000 coins in everyday circulation."

Inspired by the original;

[https://en.wikipedia.org/wiki/History_of_the_British_canal_s...](https://en.wikipedia.org/wiki/History_of_the_British_canal_system#18th_century)

For each canal, an Act of Parliament was necessary to authorise construction, and as people saw the high incomes achieved from canal tolls, canal proposals came to be put forward by investors interested in profiting from dividends, at least as much as by people whose businesses would profit from cheaper transport of raw materials and finished goods.

In a further development, there was often out-and-out speculation, in which people would try to buy shares in a newly floated company simply to sell them on for an immediate profit, regardless of whether the canal was ever profitable, or even built. During this period of "canal mania", huge sums were invested in canal building, and although many schemes came to nothing, the canal system rapidly expanded to nearly 4,000 miles (over 6,400 kilometres) in length.[1]

<comment><USER31> A difference being that one can easily make a use case for multiple canals, but I find it harder to see a case for multiple digital currencies.

<comment><USER32> There was a time when it was hard to see a use for more than 5 computers.

<comment><USER30> quite, I recall quite vividly 1994, arguing with my father who was a chemical engineer working for a blue chip in the city that the Internet had anything to offer the business world, 'the fax is fine, no one will ever trust anything that's not on paper', I feel the same about 'blockchain' technology, I've been following cryptographic currencies since it was science fiction, I've survived E-gold and Beenz, Mt-Gox and Butterfly labs and emerged into a new wild west. Winding back the clock not so far, emerging websites were all well and good, yet it was combining them with the power of databases that really drove the expansion of possibilities, I feel the same about distributed ledger technologies, while I would certainly not bet the house on any current implementation, the novel uses that the technology enables are only just being explored.

</comment></comment></comment></comment><comment><USER33> The rampant scam ICOs, nonsensical coins, and other funny business surrounding the cryptocurrency scene is practically begging for regulators to barge in.

<comment><USER34> Yet they haven't, despite the fact that this phenomenon has persisted for over a year. Either 1) regulators see some practical difficulties in enforcing regulation, or 2) there is some counter-incentive / counter-pressures / lobbyists forces out there deterring regulatory action. I wouldn't be surprised if these scams are allowed to go on for another year.

</comment></comment><comment><USER35> Can't there be an ethereum contract that refunds everyone their money after 12 months if they don't receive the token?

<comment><USER36> There could be. How does this help though? He'd send you a worthless token.

</comment></comment><comment><USER37> that's what risk/reward ratio means. no scams = 2%. high scam potential means 20000%. every investor (should) knows that

</comment><comment><USER38> Nobody saw that cumming! >_<</comment>


Washington Versus Silicon Valley - <AUTHOR> http://online.wsj.com/article/SB10001424052970204313604574328621808977640.html

<comment><USER2> While this regulation will clearly be disastrous for America, can you imagine the windfall of campaign contributions and lobbying frenzy that will ensue as a result of this thing passing?

Timothy Geithner or whoever is crafting this proposal is probably licking his/her lips at the thought of a $200bln industry on their knees willing to write a check to anyone who has the power to decide who are the winners and who are the losers in this regulation madness.

Administration: 1, Rest of America: 0

Could it be that the political system in Washington is corrupt beyond belief?

</comment><comment><USER3> OMG, this is the most absurd thing I've heard in a long time.

I think it's really a symptom of a much deeper problem with American government and that is that the "system" is getting so big that no one really knows how to fix it. I see this kind of thing happen with software too. Your IT department buys software or adopts a new platform and builds all these great interconnected applications with messaging busses and information silos and then one day everyone who knows anything about the system is gone and what to do now?

Well, you start building systems on the platforms that are easier to understand and try to work around problems and in the meantime, the people who don't know what to do are trying to keep their jobs by _doing something_ at all which is just making the whole package even worse!

At some point, a company has to make a very tough decision to "rip and replace." It's costly. It takes time. And while you are ripping and replacing you have to try to do the best with what you have working now. But the consequences of _not_ ripping and replacing are just going to continue crippling you and eventually, you are going to be leap frogged by an agile startup who doesn't have the legacy deficit you've run up by not doing things right in the first place!

<comment><USER4> Agreed this is a completely absurd move by the Treasury Department. What brought the financial industry to its knees was too much leverage. Venture capital firms don't use leverage, so they can't be a systemic risk.

<comment><USER5> But the institutions that invest in them do.

<comment><USER6> And many people who have physical dollars also have credit card debt. Should we force dollars to follow the same rules?

Your comparison is absurd. You're making the case for regulating the same amount of leverage twice -- once when it's borrowed, and once when it's invested. That doesn't do anything but make life inconvenient for the folks who _don't_ lever up.

<comment><USER5> The issue is that the investors are overwhelmingly public and corporate pension funds, endowments, fund-of-funds, etc.

<comment><USER4> Then it is the public and corporate pension funds, endowments, fund-of-funds, etc., that should face scrutiny, not the venture capital firms. Figuring out their expected return from their venture capital investments shouldn't be very difficult because of how long the industry has been around, not to mention that venture capital investments on average are only 1-3% of their portfolios (due to venture capital's lack of liquidity), so the amount of money at risk is insignificant compared to the size of the portfolio. If losing 1-3% will collapse an investors fund, then they were over-leveraged to begin with, just like Lehman Brothers.

If the Treasury Department is worried about how much people are putting into venture capital, then they should make a ceiling of 1-3% of the fund's portfolio being able to be invested in venture capital. No regulations are needed on venture capital firms.

</comment></comment></comment></comment></comment></comment><comment><USER7> From the article: _Treasury's position is that if it doesn't drag VC firms into the bureaucratic swamp, then high-rolling hedge funds playing with borrowed money will present themselves as venture funds to avoid regulation._

How does this work? Isn't there a clear distinction between hedge funds and venture funds?

<comment><USER8> I note that the relatively little regulated hedge funds did NOT collapse and need a taxpayer bailout in the current recession.

Folks like to trot out hedge funds as bad guys, but in fact they do a ton of good, and prove that a lightly regulated environment works as well (or much better) than operating with the government's hands all over them.

<comment><USER9> I was under the impression that lack of regulation is what caused many of these mega banks to collapse. Mostly because the regulations preventing banks from merging with investment firms and such were lifted in the 80's or 90's. I'm not necessarily saying that regulation is a good thing, though. Just that there is a balance to be struck.

<comment><USER10> > I was under the impression that lack of regulation is what caused many of > these mega banks to collapse.

You may be under that impression, but it's wrong. (It's being pushed by folks who like regulation.)

They were all regulated to the hilt. AIG especially.

<comment><USER9> Well, obviously mismanagement, greed, and stupidity caused them to collapse, but regulations forbade even the formation of such multi-national investment house+bank combinations in the past. I assume that the hope was that it would prevent banks from taking unnecessary risks with people's money. Which was obviously reversed with a good old, "private industry always comes up with the most efficient model, never fails, never commits fraud, and is always perfect" crap that like to get pushed around in government.

<comment><USER10> > Which was obviously reversed with a good old, "private industry always comes > up with the most efficient model, never fails, never commits fraud, and is > always perfect" crap that like to get pushed around in government.

The only folks who ever say that do so as above, attributing that belief to others in an attempt to cover up their lack of an actual argument.

Govt is subject to exactly the same failings, with one important difference - it gets to tax and coerce folks and there's even less connection to results.

Even the most corrupt company would have problems keeping Barney Frank around, yet he's still a major player in govt, driving housing policy....

</comment></comment></comment></comment></comment></comment><comment><USER11> Politicians, lawyers, and regulators impeding entrepreneurs and investors in the name of protecting against non-existent systematic risks to our economy.

This type of regulation originated many years ago with the broad idea that unsophisticated persons (the "little guy") needed various forms of disclosure to enable them to make informed decisions about their investments. How that rationale can even begin to apply to VCs and their LPs (who are typically large institutional investors) is an absurdity only Washington could possibly begin to fathom.

The article nails it when viewing this development as a further extension of Sarbanes-Oxley and other recent regulatory changes: much more of this and it will be time to put the IPO on the endangered species list.

This will definitely hurt startups in the long run.

<comment><USER12> Non-existent systemic risks???? Did you suddenly forget about the last year. Have you been asleep for the last 18 months? Systemic risks are very much existent.

And if banks and financial institutions are going to cry for federal bailouts every time a "systemic risk" rears its ugly head, the only thing any responsible government official can do is put in regulation to make sure that the systemic risks are controlled.

The financial industry loves to complain about regulation but it is the financial industry that brought this on their own heads by (1) fuckign up, and (2) asking the taxpayer to pay for their fuckup.

As far as the rationale, it is different from what you said. The rationale is that certain parts of the economy are so intertwined that if one financial company craters it can cause a chain reaction disaster for multiple other completely healthy financial institutions. I am not sure I buy this logic, but again the financial industry used this very same logic to say it was not their fault when the economy imploded, so it is only fair that the same thinking should be applied to them now that the feds are starting to regulate them.

Now you could make somewhat of an argument that VCs are not systemic risks, and that may be true if they were mostly owned by wealthy individuals, but that's not the case. VCs are mostly owned by financial institutions that may borrow against their property, so if the value of a VC craters they may cause a sell off spiral in a larger financial institution. Again, I am not I believe the above sentence, but if you buy into the theory of systemic risks, it is pretty obvious that VCs are one.

<comment><USER13> Systemic risk is a risk that can cause the financial industry to collapse. VCs are not a systemic risk they are only $28 billion in size, are positively exposed to extreme market moves and are not leveraged. With a VC investment the most you lose is your initial investment. With any form of leverage you can possible lose more then your actual investment and are negatively exposed to extreme moves in the market. If a VC's principles are leveraged up that still does not change the systemic risk exposure of the VC fund. The institutional investor is the one carrying the systemic risk.

</comment></comment></comment><comment><USER14> I always wonder if the cost of complying with new regulations is contemplated. If I think of how long our family take just to do stupid and inane administrative tasks (VAT, Union payments, tax, unemployment insurance, etc…). All this administration is really hampering small businesses.

Why aren't these regulations simplified? Why aren't employees paid on a cost to company" basis and are responsible for their own administration (i.e. own union payments, own unemployment insurance, own health insurance, etc…).

Maybe it is just because I hate admin – but I doubt that admin should take up 40% of a small business owner's time.

</comment><comment><USER15> Suits go out and owe money all over town and the government pees on our rug?

</comment><comment><USER16> Oh, the other Washington.

<comment><USER17> Misleading title. I assumed this article was about if Seattle or the Bay was better.

Please make it more clear, since this is a great article that everyone should read.

</comment></comment><comment><USER18> "As part of their regulatory redesign, Team Obama and Congress still don't have a plan for reforming the giant taxpayer-backed institutions like Fannie that caused the credit crisis. Yet they're moving to rewrite the rules for investing in tiny technology companies that had nothing to do with the meltdown. Under the proposed rules, venture firms will be declared systemic risks until they can prove themselves innocent."

</comment><comment><USER5> That's quite rich. Don't VC's receive most of their money from institutional investors, like, uhm, public pension funds, corporate pension funds, insurance companies, endowments, foundations, fund-of-funds, etc.?</comment>


Show HN: KITR – a customizable UI kit that exports your components to code - <AUTHOR> http://kitr.io/ <comment><AUTHOR> Hey! OP here. We are creating KITR because we are tired of writing the same UI components time and again for different projects with minute variations.

Our intention is to create a library of solid and modern UI components that you can customize before exporting and including them in your projects.

While we at the moment support export to HTML and CSS, we plan to support exporting the CSS to SCSS, and the HTML - and potential JS - <USER2> react/angular/vue components. Which components would you like to see?</comment>


Secret businesses aimed to exploit vaccine fears, British Medical Journal finds - <AUTHOR> http://www.sciencedaily.com/releases/2011/01/110111184129.htm <comment><USER2> The BMJ article is open access and written for a general audience: <http://www.bmj.com/content/342/bmj.c5258.full>

</comment><comment><USER3> And the Award for the downright most evil person on the planet 2010 goes to: Andrew Wakefield!

<comment><USER4> Yet Jenny McCarthy continues to parrot his agenda, even in the last few days.

<comment><USER5> I'm afraid to say that I don't think that's even surprising, even people you would presume to be more sensible than her (a certain few HN commenters for example) continue to spew this nonsense. If you think about it, these are people who have been _deep_ in conspiracy theory territory for quite some time, and have invested a good deal of mental effort into eradicating any doubt in their own minds. They have preformed enough mental gymnastics that in their minds, any proof presented _against_ their delusion is actually proof _in support of it_. Accusations of fraud only strengthen their resolve.

Anyone how has objectively been following this issue for the past few years should have caught on quite some time ago, why should they only wisen up _now_?

</comment></comment></comment><comment><USER6> An interesting anti-vaccine argument is that of chiropractors. They often believe chiropractic is a viable alternative that poses less risk than vaccines do (which they will acknowledge is still quite small, but why risk it?). I'm mentioning this because it's the side I heard about long before Wakefield's finding was published, and people seem to think there was no anti- vaccine argument before 1998.

Unfortunately this is impossible to prove, but it's interesting nonetheless. Do the research and pick a side yourself.

<comment><USER7> The _original_ theory of chiropractic made spinal misalignment out to be the cause of _all_ disease. Over time, chiropractic has become less virulent as it adapted to the host organism, and in fact in many cases can be considered symbiotic.

</comment></comment><comment><USER8> "Wakefield met with medical school managers to discuss a joint business even while the first child to be fully investigated in his research was still in the hospital"

So the heads of several medical schools knew or had strong reason to suspect the data was being cooked, and said nothing. But of course this didn't happen because the scientific establishment is corrupt, it's Hollywood's fault.

Science as usual.

<comment><USER9> The medical establishment has long been known to be corrupt or at least suspect - Elsevier was paid to make an entire fake journal so some company could publish their "article".

<comment><USER10> Quick, a multiple choice exam!

Elsevier is best known as being:

a) A publishing company who are in the business of selling ink on paper, whose success is evaluated by their shareholders on the basis of their profitability

b) A medical research organization who are in the business of pushing back the frontier of human knowledge, whose success is evaluated by their peers on the basis of their replicable research findings

Answer: [ a ]

(Meta: the point I'm trying to make is that the publishing houses who produce the scholarly journals are not themselves engaged in scientific research. They hold a vital position within the research community, but their actual goal is commercial success. Consequently their goals sometimes become disastrously misaligned with those of their host sector.)

<comment><USER11> And, to take this a step farther, note that one of the most powerful forces contesting the bad influence of for-profit journals has been the research establishment itself.

For instance, most of the board of Kluwer's journal Machine Learning resigned to make an open journal (JMLR, [http://en.wikipedia.org/wiki/Journal_of_Machine_Learning_Res...](http://en.wikipedia.org/wiki/Journal_of_Machine_Learning_Research)). And NIH now requires free distribution of articles produced under NIH grants, after an embargo period (<http://publicaccess.nih.gov/>)</comment></comment></comment></comment>


Ask HN: How can I quit smoking? - <AUTHOR> I have a fairly stressful life and when I come home in the evening I like to have a few cigarettes which helps me to relax. I don't smoke during the day at all, but those few cigarettes in the evening are the highlight of my day. I'd like to quit smoking, but what could I do instead? I mean drinking is out of question, need to be in perfect shape the next day. What do you do to relax after the whole day? <comment><USER2> I quit smoking after reading Easy Way to Stop Smoking by Allen Carr. [http://www.amazon.com/Allen-Carrs-Easy-Stop- Smoking/dp/06154...](http://www.amazon.com/Allen-Carrs-Easy-Stop- Smoking/dp/0615482155/ref=sr_1_1?ie=UTF8&qid=1403292838&sr=8-1&keywords=easyway+to+stop+smoking)

The main idea behind book is that smoking is easy to quit. It is not addictive like alcohol, or other drugs, where withdrawal symptoms are intense. Quitting smoking is a big business like weight loss and there is a reason why they make it sound like a tough thing to do on your own.

As for relaxing, I haven't found a perfect replacement for cigarettes yet. I listen to music or read in my patio in the evening. Play video games. I also tried healthy stuff like running, working out, hot bath, or meditation. But nothing is perfect or I guess I am still not fully recovered from smoking.

</comment><comment><USER3> Have you considered that your nicotine cravings are actually _adding_ to your stress throughout the day, and the relaxation you get in the evening is simply from satisfying those cravings? Once a body is acclimated to a given cigarette use, the good effects diminish almost entirely but you feel bad when you don't get what you're craving. This is the same as a lot of drugs, including caffeine.

</comment><comment><USER4> Be aware that you stink, your clothes stink, and your house stinks.

Someone pointed that out to me. Somehow the fact that people thought that I stank was worse than all of the publicized health issues (to me).

I quit 4 years ago. Now I realize when I come across smoker how much they truly stink. As a smoker you haven't got a clue how much you smell.

</comment><comment><USER5> Smoking doesn't make you relax. Doesn't relax your muscles or anything. I could go on and analyze (from a pharmaceutical perspective) what happens in your body when you inhale, but I guess you know the resume anyway: it's awful.

My father stopped smoking when I was a little child. He just took the decision to never do it again. After about 6 years he couldn't stand the smell of a cigarette. I know that this isn't a widely used _strategy_ but I've seen it work fine.

Anyway, even if you can't stop entirely, I'd say try to limit smoking as much as possible.

Why don't you try some Yoga to relax? (not joking).

</comment><comment><USER6> I was able to quit after switching to an e-cig for a few months. Several of my coworkers have done the same. I think it's because I was more drawn to the act of smoking than that nicotine kick.

With an e-cig, you still get the feeling of smoking (and nicotine), but it's still not really the same, and after only doing that for a while, I feel I mostly broke the habit of smoking, at which point giving up nicotine wasn't difficult at all.

I realize that doesn't totally address the "What could I do instead" part of the question, but it might help in the process of quitting. Best of luck to you.

</comment><comment><USER7> I agree with most here... As long as your world revolves around that fix at the end of the day, it's going to be almost impossible.

But from my personal perspective, I didn't "quit" until I really wanted to. I also give myself the opportunity to make mistakes.

I don't buy cigarettes anymore. I rarely even want one. But if I'm in a situation where it sounds nice, I'll let myself indulge.

Basically, don't "quit". Just tone it down, find things to keep yourself busy, and eventually it will lose its power. If you have to have one, do it, but don't let the thought of it consume you.

</comment><comment><USER8> Three years back I quit after 10 years of smoking (cold turkey). My notion of smoking was associated with break from work. So I replaced it with green tea and red tea(rooibos). You can probably give that a try.

Another thing that helped was sports, I started playing squash. I tried to be in better cardiovascular health to play squash, another motivation. Maybe you can pickup something (gym, any sport or anything physical)if you are not already doing that.

</comment><comment><USER9> I quit cold turkey, but it took me a couple of tries to stick to it. I never thought about replacing it with anything. I just kept thinking about how I couldn't climb 2 flights of stairs without going out of breath, how my hair, clothes and fingers always stank, how smoking has taken over my life. I think it was the control thing that made me quit for good. I didn't want the cigarette to control my life.

</comment><comment><USER10> If you have access to legal recreational marijuana, try it if you think it may help relieving your stress.

</comment><comment><AUTHOR> Thank you all for your valuable comments and advice. I decided to tone it down a little, I'll have diet coke (my other craving) instead in the evening. But I don't exclude smoking occasionally at parties. Don't want to make resolutions I can not keep.

</comment><comment><USER11> I never smoked, ever. But, it seems to me you need some pleasant event to unwind in the evening. So, how about a nice piece of cheese. Or a movie.

</comment><comment><USER12> [http://www.reddit.com/r/stopsmoking](http://www.reddit.com/r/stopsmoking)

</comment><comment><USER13> Exercise? Gym / jogging / Wii Fit / whatever.

<comment><USER14> This- but if exercise isn't your thing, find SOMETHING to do. I was a pack-a- day smoker from age 13 to 23, and the thing that kept me going back to it was idleness. Once I started finding ways to stay busy ALL THE TIME, I was able to quit. For me that busy-all-the-time threshold was crossed by working split shifts and doing martial arts. You have to find your own way, but just stay busy!

<comment><USER15> I don't smoke, but one thing I noticed from being around people who smoke and have tried to quit is it doesn't work to hang out with smokers. I've seen 2 people take it back up after quitting, and another who has been trying to quit but he interacts with a group of 6-8 guys who all smoke. While they're cool with him trying to quit, it's probably very hard for him to actually keep from lighting up when all of them are standing around talking, and almost all of them are actively smoking.

</comment></comment></comment><comment><USER16> Smoke weed.

<comment><USER17> take this advice

<comment><AUTHOR> Where I live, if get caught, I would get a suspended prison sentence for that. Not worth it in my case.

</comment></comment></comment><comment><USER18> _" How do I quit smoking?"..."highlight of my day"..."helps me relax"..._

Do you see what you're doing here? Smoking is at the center of your universe. There is NO WAY you will quit an addiction like smoking until you refuse to even acknowledge its existence.

Get rid of your thinking first, then you'll easily get rid of the addiction.

FYI: I smoked for 10 years before I quit. That was 10 years ago.</comment>


How many bytes do you need for one single pixel? - <AUTHOR> http://cloudinary.com/blog/one_pixel_is_worth_three_thousand_words <comment><USER2> I had a lot of fun writing this one! Especially part two (to appear soon), which is about huge single-color images...</comment>


Use Google Chrome's Profiles for Distraction Free Working Environment - <AUTHOR> http://robti.me/use-google-chromes-profiles-for-distraction-free-working-environment/

<comment><AUTHOR> The article didn't include this information, but you set it up under _Preferences > Personal stuff > Add new user_.</comment>


Today is Y Combinator's 10-th Birthday - <AUTHOR> http://old.ycombinator.com/start.html?decade

<comment><USER2> Today's the 10th. Tomorrow is YC's 10th anniversary.

I first read about YC the year Weebly was involved, which must have been their third class. I was 12 years old at the time. It's crazy to think that seven years later, I still follow YC, and I still have the same basic life goals.</comment>