skysight-inc/HackerNews huggingface dataset:
> In both UTF-8 and UTF-16 encodings, code points may take up to 4 bytes.

Wrong: up to 4 bytes UTF16, and up to 6 bytes UTF8.

> Cyrillic, Hebrew and several other popular Unicode blocks are 2 bytes both in UTF-16 and UTF-8.

Cyrillic, Hebrew and several other languages still have spaces and punctuation, that take a single byte in UTF8. Now it’s 2016, RAM and storage are cheap and declining, but CPU branch misprediction cost is same 20 cycles and not going to decline.

> plain Windows edit control (until Vista)

Windows XP is 14 years old, and now in 2016 it’s market share is less then 3%. Who cares what was before Vista?

> In C++, there is no way to return Unicode from std::exception::what() other than using UTF-8.

The exception that are part of STL don’t return Unicode at all, they are in English.

If you throw your custom exceptions, return non-English messages in exception::what() in utf-8, catch std::exception and call what() — you’ll get English error messages for STL-thrown exceptions, and non-English error messages for your custom exceptions.

I’m not sure mixing GUI languages in a single app is always a right thing.

> First, the application must be compiled as Unicode-aware

The oldest visual studio I have installed is 2008 (because I sometimes develop for WinCE). I’ve just created a new C++ console application project, and by default it already Unicode-aware.

So, for anyone using Microsoft IDE, this requirement is not a problem.
I know that some of the finger muscles run down past the wrist, but I don't think you could get precise tracking of fingertip locations with the wrist alone.
The article has a link to another article that's more focused on the notion of a "drug court" [1] itself. I hadn't heard of the term either, but from the sound of it, the drug court runs / oversees a highly-structured program that's focused on addicts and that takes place outside of a prison. So it sounds like it's more than just "go to a sober living house, and let them enforce rules" and more of a probation-like situation.

[1] http://www.theatlantic.com/politics/archive/2016/06/helping-...
It seems less productive for longer typing sessions and too slow to "install" it on your hand for shorter ones. I wonder in which use cases would this excel. Truthfully, if I am to forego tactile feedback, I'd much rather prefer a wireless leap motion that I can place on a table.
I'm so glad I dropped gotomypc and went with rdp gateway. Their customer service is subpar. I tried reporting bugs and no one ever got back to me. I contact them on Twitter and email. Chirps! One day I had it enough and completely cancelled the service. There are better alternatives out there.
That site also attributes obesity to "the contamination of the food supply with biodiesel" so... it seems more than a bit suspect.

Extraordinary claims, extraordinary proof, and all that.
Yeah, this would be good to share with the team if you have it documented.
No good. Even Debian puts restrictions on how you can use its trademark... https://www.debian.org/trademark
I found the recent Ford/Chevy "comparison" ad interesting in this regard. In it, they never mentioned the word "Ford", they just had "a competitor's truck", with clearly visible logos. More than most ads I have seen, they very intentionally avoided mentioning what everyone could clearly see. I wonder if this was done so they could sell the ad internationally: https://youtu.be/BTm2F4ysQrE

As an aside, I think it's a little absurd that they're trying to sell their old-tech steel truck as superior to Ford's new aluminum setup. I wonder how they will pivot their pitch in coming years when they can no longer compete with Ford and Dodge aluminum trucks that don't rust, are faster, lighter, and more fuel efficient...
Hackathons are competitions though. People compete to write the best code in the shortest amount of time. If certain groups of people are uncomfortable competing, then they miss out.

Should we do more to encourage women to compete? Seems reasonable enough.
But if the suggestion is we disallow competition completely, that I can't agree with.
Why is this still the case? UTF8 is dominant now, wouldn't it make more sense to assume UTF8?
Yes, I was very interested when I learnt what Urbit did, as I think it ticks a lot of the right boxes. The only weakness for me is how it handles distribution of identity, but that's not a fundamental issue, it can be changed whilst still keeping what makes Urbit promising as a home server platform.
I imagine this is a corollary of the phrase, "you manage what you measure."

Usually the metrics we measure are an indirect substitute for what we actually want to measure, e.g., lines of code as a measure of programmer productivity. What inevitably happens is that behaviour is optimised for the metric, and not what the metric was intending to measure. It's really just gaming the system.
I actually tried this. It doesn't work. id still seem to be running fingerd though...
> - Definitely check out CW (morse code). It's amazing that it's still in use but it's lots of fun.

Morse is one of those "unreasonably effective" technologies.

* Short of very advanced (and likewise constrained) digital methods, it's the king of long distance.

* You can whack together a radio out of $10 of scrap bits.

* You can't buy it. It's not a circuit or a thing. It's a skill that you need to learn and it takes way more than just learning the alphabet.
Marking their ratings down is your job. Write a review about your complaints. Read reviews before you book. The rating system is what make Airbnb works. I've never had a problem booking any place with a long list of positive reviews.
I had a similar experience. I was put to sleep with general anesthetic for a minor operation. When I woke up I immediately thought that the surgeon must have used loud equipment during the procedure, because my ears were ringing. Turns out it was the anesthetic. I haven't heard true silence for 2 years now.
Pretty much. Or rather, if you can't just take it or leave it, you're an addict. I was addicted to nicotine for decades. I had very little willpower about not having another cigarette. It took years to really stop, to stop relapsing.
In a way I'm glad they got hacked. They'll learn the lesson by losing customers and $$$$. I'm guessing there was someone who said they should invest in security but management decided to save money.
Good friends of mine died from walking into a relapse, I don't take it lightly at all. Relapses are so common it's dangerous to tell people all is lost if they use just one more time.

Personally I've been clean for years, but what saved me was getting back into work so that I had something to occupy my time. It's easier to drop the tin foil when you have work and responsibilities in the morning.
> I never stop being impressed at how often people will jump to odd, unsupportable, conclusions like, "using MySQL will make this thing faster".

That is a good opportunity to ask questions and learn about the person, their knowledge and their use case.

Yeah sometimes the answer is they don't know how stuff works underneath and are just following a blog post or a trend or heard someone talk about it at meetup.

Programmers love programming tools / frameworks / languages. There are so many new shiny things out there. New ones pop up every month. New language, new build system, new db, new UI library, new message queue etc. Interstingly over the years, lots of those have had great performance improvements. Maybe they took advantage of new kernel API or some new algorithm and so on. That feeds the hype -- put new shiny things in and performance doubles.

So people have been trained to expect all the new things to just magically be better. But like said, you have to probe and find out the reason they propose the change, only then you can only see if it is justified or not (one of the resonable responses could be "I've actually measured with a production load and it does look better"),
Some browsers can use Open Source libraries, some simply cannot , for whatever reasons. Yet formally we need at least two independent implementations of the same thing in order the spec to get Recommendation status.

So each UA (a.k.a. browser) has to implement any SQL spec from scratch adding its own SQL flavor.

In fact I am pretty sure that it is possible to add some basic SQL features by JS on top of IndexedDB. It should be such things already I think.
I wish he still wrote these.
Ubuntu: €1-2/month from tweet

RHEL: £19.99/month (€25.64) from OVH UK page

People don't seem to complain that RHEL asks for money.
Not everything is a web request or response that have a “content-encoding” header transmitted somewhere out of band.

The BOM allows to distinguish a byte stream between non-Unicode, UTF8, UTF16 and UTF32.

Like it or not, but it's part of the standard:

http://unicode.org/faq/utf_bom.html#BOM
Integration Testing with Docker Compose
Yup planning on going to college so not interested in any full time job offers (though I have received them...).
Take a look at Urbit, that's more what I had in mind.

http://urbit.org/

Also, if the idea takes off, I'd expect to see the functionality being built-in to home routers. However, that's not necessary for the popularity of home servers to grow.
Stackoverflow current objective is to answer precise technical questions related to programming. Open ended questions are generally frowned upon because they tend to be argumentative and generate debate, which SO is not well equipped to deal with. In the very beginnings of stackoverflow, the goals weren't as clearly defined and because of the overwhelming need for such a place, it quickly became flooded with any question related to computers. This is why serverfault and superuser were created along clearer rules regarding their respective content.

I am not sure why this question made it through, but "what do they have in common" generates a finite set of answers while "what are their differences" does not. The "real" place to ask such questions should be programmers.stackexchange.com. Unfortunately, it has 30 times less users and frankly, no one really cares about it. Moderators should use "Migrate question to [...]" instead of simply closing it.

I think everyone will agree that a question with 500 upvotes and 150k page views is interesting. The full problem is that SO has not managed to fit it anywhere.
The older the site, the less likely it is that it will have been updated. Therefore, it's reasonable to assume that newer sites will either declare UTF-8, or can be modified to declare UTF-8, while old sites stay the way they always were, pre-UTF-8.

Keeping the backwards-compatibility heuristic the same makes sense.
Linux filesystems are not encoding aware. Paths are just treated as opaque byte strings. However, there is ongoing work add configurable safe filenames to Linux: https://lwn.net/Articles/686789/

But it won't allow you to force ISO-8859-1 in this form. However you could filter out non-ASCII characters.
While I do have a bit of experience with it, I still try to remain casual about it. Not by any means the only thing I do (Heading out hiking on the appalachian trail tomorrow!) so I try not to take it seriously. Thanks though!

Also if anyone has any questions, let me know!
If Coca-Cola's recipe were given away for free, with the explicit requirement that users who modified the recipe, then sold the product as Coca-Cola pay a fee, then yes... But in general no, not like "when ice and lemon is added to Coca-Cola."
Probably wouldn't make a difference. The guard searching the other one, would probably be in on it.
Thanks, happy to work out any kinks you hit with the api experience.
This is great news. It makes me want to summarize the article. From 1990 to 2010, death rates have been cut in half, roughly, all over the world. There's no single factor, but these stand out:

* access to health care, especially early in life (in the US, helped by policy)

* fewer environmental toxins -- especially less smoking & less second-hand smoke

And in 2010, developing nations are where wealthy nations were in 1990. The health gap between rich and poor is shrinking everywhere.

The consequence is that better health means better lives & positive contribution to society. Positive feedback loop.

---

My own theory: Internet access has helped too, by disseminating knowledge about health & disease.
I am constantly amazed at how crappy Kickstarter is. Almost everything is vaporware, and the things that do actually launch usually turn out to be garbage.
Maybe the AI will send them an email telling them their brake light is out, so you wouldn't have to put yourself in that position.
PV is down to around 5 cents/kwh. I seem to remember a new plant recently that was 2-3 cents, but can't find it.

The only problem with PV is its variability. When there's cloud cover, in the evening, etc.. power drops. Which means you need some kind of storage to even it out and probably a gas plant for the evening/night time.

In comparison, CSP has a steady output, which lets them make adjustments easier.
In software engineering, programs are usually not constructed to prove anything; this claim is just the consequence of an equivalence between logic and static typing (Curry-Howard). Programming languages do not make very good logic systems in spite of the isomorphism. They are not designed to be expressive that way. The logic system exhibited by the type system is geared toward proving trivialities about the program: mainly that its run-time translation won't misuse data. Plus it supports certain devices like polymporphism and pattern matching and whatnot.

Now instead of writing a useful program, we can exploit the type system for doing logic in a separate domain, detached from the program. The proof occurs as a byproduct when we compile the program.

Somehow we encode, for instance, the "all men are mortal; Socrates is a man; therefore Socrates is mortal" argument into types and write the corresponding code. Then when the code compiles, it verifies: yes, the argument is valid. At that point, we throw the program away. What (if anything) that program does is irrelevant; its types have proven the modus ponens as it passed through the compiler, thus quod erat demonstrandum.

That is supposedly what type is all about in a very narrow, myopic branch of computer science.
Yeah exactly. I certainly was in it for more than the money and would have happily worked on it even if there were no bounties.
Unless You're Oprah, 'Be Yourself' Is Terrible Advice
I have had friends on "birth control" for acne, polycystic ovarian syndrome, migraines, endometriosis and a host of other non-child related issues.
At risk of spoilers, The Ouroboros Wave also qualifies: http://www.goodreads.com/book/show/7326882-the-ouroboros-wav...
Modern UTF-8 is limited by 4 bytes (not 6).
http://stackoverflow.com/questions/9533258/what-is-the-maxim...

I haven't checked your other claims but this stands out:

> The exception that are part of STL don’t return Unicode at all, they are in English.

Do you mean they return the text as bytes using some (likely ASCII) character encoding and all the text characters are in ASCII range?

There Ain't No Such Thing As Plain Text. (2003) http://www.joelonsoftware.com/articles/Unicode.html
I just went looking at different Z80s and it seems as if there was at least one Z80 made to support a fairly high clock frequency.

The highest I've found that I can order is clocked at 20MHz [0]

[0] - http://www.digikey.com/product-search/en?mpart=Z84C0020VEG&v...
Can a state override a president proclamation for flying the flag?
Anonymous feedback breeds a culture of distrust
Adding an IP lock to a token can only increase security - it cannot decrease security. And if you wish to be secure, then you wouldn't use public wifi.
Note that you can't take some subset of Debian, add some modifications, and call the result Debian. In general you can't pay for that privilege either - either it's Debian - Free and open source, or it's something else, that's derived from Debian. There has been some recent discussions on the cloud-devel list about this, for what can be labelled as a "Debian" cloud/vm-image (eg: Amazon AMI etc). Eg:

"Re: Debian images on Microsoft Azure cloud"
https://lists.debian.org/debian-cloud/2015/11/msg00099.html

Disclaimer: I am not a lawyer, and I'm not affiliated with Debian (other than being a long-time user).

See also:

https://wiki.debian.org/Teams/DPL/OfficialImages
https://wiki.debian.org/Cloud

and more generally:

https://wiki.debian.org/Teams/DPL/Trademark

[ed: As for the "upcomming policy" mentioned in the email linked, I think this is still an ongoing process, but it more or less boils down to the wiki-pages linked. IIRC one of the issues with the initial Azure effort was that the scripts generating the images needed to run on Azure - so couldn't readily be re-created by just anyone.]
I figured I'd share it here because I don't think most men have any idea what many of those visits involve. They are not so fun to talk about.
Even if you have a GP, it's smart to take someone along as an advocate to help you make more informed decisions.

For example, if you think you have skin cancer and go to a dermatologist in the USA, there's a good chance the receptionist will tell you their patient list is closed and you should call back in 6 months. By then you will have died twice over from a melanoma, so it's helpful to have a second person insist on staying and forcing an appointment.
The article you linked has an interesting line: "Unfortunately, most consumer-grade mass storage devices lie about syncing." That's the kind of problem I was talking about.
Who else thinks that this whole mess around trying to implement ES modules demonstrates that they were a bad idea to begin with?
My sister has a very bad drug problem. At this point we want her to go to jail, as it might help her want to get better. Sadly, as this guy said, it is very easy to get high in jail.
Done. Thank you.
World's first 1,000-processor microchip is here
Jaron Lanier also talks about a mythical 20th century that was good for middle-class artists and musicians, completely in contrast to evidence from reality.

He's 100% right that hollowing out of the middle class is a serious problem for a free society. His prescriptions about IP are mostly nonsense.
External hard drives / SSDs that are using APFS? I thought that would be a pretty obvious use case.
It's impossible to get corrupted strings if you use wide characters. This is better than hard not to.
_Unicode_ adoption increased to 87%.
At the cost of non-Unicode encodings.

UTF16 isn’t good enough for web: even for a content in Ukrainian or Hebrew languages, UTF8 saves a sizeable bandwidth because spaces, punctuation marks, newlines, digits, English-inspired HTML tags — in UTF8 they all encode in 1 byte per character, and for the web, bandwidth matters.
Consider Imagga.

http://imagga.com/
It's possible, but it was a very simple database layout. Pretty hard to screw up. Then again, I screw up simple things all the time. But whatever I screwed up would likely have been duplicated on the postgres side since the sqlite and postgres setups were nearly identical. Postgres performed fine compared to sqlite. It was a bit behind leveldb, but I figure the overhead of flushing the data to a socket has an added cost. Leveldb has the advantage of being in the same process.

If I remember right: Querying for leveldb was iteration from [20-byte-hash][lo-utxo-id] to [20-byte-hash][hi-utxo-id] and subsequent lookups on the keys containing the actual data. The sql table setup was `id` as a char primary key and `address` as a char with an index. The query was a simple `select data from utxos where address = ?`. The actual `data` blob was on average maybe 60 bytes in size.

Maybe there was something I could have done better there. I'm not sure. This was just my experience. This is all beside the point anyway. My point was whatever database was better, it was worth testing each one, and I don't consider it to be premature optimization.
Navigating a UTF-8 string on codepoint level is a fairly simple algorithm, since UTF-8 is self-synchronizing. This means it can easily be done without relying on external libraries or data files. It's also stable with respect to Unicode version--it always produces the same result independent of what version of the Unicode tables you use.

Moving to grapheme cluster boundaries means that the algorithm may work incorrectly if you input a string of Unicode N+1 to an implementation that only supports Unicode N. It also makes the "increment character" function very complicated. In the UTF-8 version, this looks roughly like:

char *advance(char *str) {
uint8_t c = (uint8_t)*str;
/* Count the number of leading 1's */
int num1s = __builtin_clz(~c) - 24;
if (num1s == 0) return str + 1;
return str + num1s;
}

Grapheme-based indexing looks like this:

char *advance_grapheme(char *str) {
while (true) {
uint32_t codepoint = read_codepoint(str);
str = advance(str);
uint32_t nextCodepoint = read_codepoint(str);
/* This is typically something like table[table2[codepoint >> 4] * 16 + codepoint & 15]; */
GraphemeClusterBreak left = lookupProp(codepoint);
GraphemeClusterBreak right = lookupProp(nextCodepoint);
/* Several rules based on left versus right... */
}
return str;
}

See the vast difference in the two implementations? It's a lot of complexity, and it's worth asking if that complexity needs to be built into the main library (strings are a fundamental datatype in any language). It's also important to note that it's questionable whether such a feature implemented by default is going to actually fix naive programmers' code--if you read UTR #29 carefully, you'll notice that something like क्ष will consist of two grapheme clusters (क् and ष), which is arguably incorrect. Internationalization is often tied heavily to GUI and, especially for problems like grapheme clusters, it arguably makes more sense for toolkits to implement and deal with the problems themselves and provide things like "text input widget" primitives to programmers rather than encouraging users to try to implement it themselves.
Same with English, sort of. What is

"difficult"[2]?

Is it 'f'? Or the ligature `ffi`? :)
Solaris, by Stanislaw Lem, also seems to qualify. (The novel, not the movies.) https://en.wikipedia.org/wiki/Solaris_(novel)
The Apple watch has 8 GB of storage and 512 Mb of ram; I don't think that's an unreasonable ratio. Most people discussing zfs memory use have large arrays or deduplication enabled; I'm not sure why dedup would be very useful on a watch. Maybe CPU for checksums is an issue? Apple could probably add acceleration for the checksum algorithm/use an algorithm that was faster/skip the checksums on read + do a sweep when plugged in and fully charged. An 8gb sad only takes minutes to do a complete read, as opposed to a large rotational drive, so you would likely be able to do a full scan in a reasonable amount of time.
> And of course a few of the ideas in Haskell

A few? Don't you feel like you're underselling the impact Haskell had had on other languages?

> he only language that came out of academia in recent times which has serious production usage is Scala,

What are your qualifications for serious production usage? Would ocaml count by your standards? Haskell also has increasing production usage, though I'm sure you don't count it. Swift (if you don't count it now, you will)? Rust?

> It would have been nice if academic research had identified up front the best set of usability tradeoffs for adding optionality into a backwards compatible language,

That's not enough. It would have to be more convenient to use optionals than null or programmers in that language would have to be convinced optionals are better.

In an existing language that uses null pervasively, it would be hard to get a critical mass of legacy code which uses optional.
This attitude is incredibly patronizing and "harm" is very subjective.

I feel like having a child is 100x more harmful to me than never having one, but urologists in the US almost unanimously disagree and refuse to perform vasectomies on the childless.