skysight-inc/HackerNews huggingface dataset:
If you understand cgroups, then namespacing of processes makes perfect sense. If you don't, chances are it's too early to produce conclusions about containers.

Also, docker is not the only solution for Linux containers; rkt is also developing, and Intel had its own interesting approach.
I started to type a rather pessimistic reply about how horrible it is to set up py3 + qt, but actually pip3 install pyqt5 works well now!
There are strong technical reasons why writing a monad abstraction in Rust is particularly hard[1], and to my knowledge nobody has found a way to do so whilst preserving fairly basic properties like being able to use loops or avoid allocations.

Using "?" with appropriate traits is much simpler (important for understandability), more globally applicable (important to be general) and preserves ease of important reasoning (eg. of performance). It is certainly not out of ignorance of monads.

[1] For example, https://m4rw3r.github.io/rust-and-monad-trait
I watched this year's Fosdem talk on Cockpit[0] and was seriously impressed. It looks like there is a contender for an easy-to-use Linux web admin.

[0] https://www.youtube.com/watch?v=Oq6Vbwl-HqM
Glucose being harmless is the understatement of the year. In the end fructose and every other carb is split up to glucose. And glucose (the simple monosaccharide sugar) is one of the most powerful medicines and drugs, stronger, cheaper and better than cocaine, and responsible for many severe illnesses:

* Retinal damage to the eye
* Arterial blockage
* Oxidative stress
* Increased inflammation
* Endothelial dysfunction
* Reduced coronary blood flow
* Increased cancer risk

Let me just point to http://www.lifeextension.com/magazine/2011/1/glucose-the-sil... or https://www.atkins.com/how-it-works/library/articles/10-ways...

This is all very well known and ignored by the US sugar industry which rather blames other factors. If you feed americans large amounts of glucose (they do), they will get obese and die early. You cannot argue with the numbers, because it's mostly only affecting americans who do consume sugar levels above the health risk. Blaming fructose and the liver alone is dangerous. It's the end product, glucose, and the fat reserves, not the carb. metabolism.
How Is Bitcoin Changing the Face of Non-Profits
Crypto Exchanges Real-Time Monitor
Yep. If you want to be really broad, even golong's (val, err) is a sum type even tho tuples are more literally product types. Since it's generally one or the other that has meaningful value, not both.

But it sure as hell isn't easy since there is no do syntax or flatMap/selectMany/whatever to handle them nicely.
Discussed in more depth in "Code Inflation" in IEEE Software at https://www.computer.org/cms/Computer.org/ComputingNow/issue... . Links to that article are posted to HN about every 6-9 months. https://hn.algolia.com/?query=code%20inflation&sort=byPopula...

See also http://trillian.mit.edu/~jc/humor/ATT_Copyright_true.html , with about 80 HN comments https://hn.algolia.com/?query=%2Fbin%2Ftrue%20command&sort=b... .
The top comment on that article:

"This site is way better than Perezhilton.com"

Cracked me up.
Good luck getting into UW's CSE program as an American with a non-perfect GPA. Nearly always you'll get rejected and end up getting a Business or Geography degree (as either will accept you), neither of which are worth the paper they're written on.

UW's main campus is not a school worth going to, the programs that are worth taking have so many people applying that if you don't have connections or cash to burn, you won't get in.
In Finland there is a period of time, before the election day, during which you can vote at all sorts of locations that have been set up in libraries, supermarkets and other locations people often visit. Pretty much the only reason not to vote is that you could not be bothered to, and I doubt online voting would help much with that.
I don't get your point.

Let's say I have this program (which was goformatted):

package main

import (
"fmt"
)

// commenting...
// commenting...

func main() {
fmt.Println("hello", "world")
fmt.Println(
"hello",
"world",
)
}

And I had log.Print("test") at the end of main():

package main

import (
"fmt"
)

// commenting...
// commenting...

func main() {
fmt.Println("hello", "world")
fmt.Println(
"hello",
"world",
)
log.Print("test")
}

Then I run goimports to automatically update the import directive (goimports parses the source to build an AST, then modifies the AST, then reconverts it to source code):

package main

import (
"fmt"
"log"
)

// commenting...
// commenting...

func main() {
fmt.Println("hello", "world")
fmt.Println(
"hello",
"world",
)
log.Print("test")
}

Everything is kept exactly as-is, except the added line "log" in the import directive. This round-trip mechanism is the main benefit of gofmt.
sortition > voting, at least for choosing representatives
Don't you think that by limiting foreign companies' products the local companies would operate less efficiently since there is no competition? I think I was taught about this in my econ 101 class. Why does it work differently this time?
Exactly this, Personalised content is actually promoting the thoughts irrespective if they are right or wrong.

And people increasingly tend to believe that what they are thinking is indeed right. Because they see/read the articles on the internet which act as a validation for their thoughts.
10 dogs with strange marks in her body (will not believe it)
At this point this is hearsay.

Sure, Hong kong submitted financial documents are opaque (to be generous) on a regular basis.

There could be massive falsehood underlying a lot of China's numbers.

But at the same time, they also are producing vast amounts of goods.

If their numbers are fake, those fake numbers are good enough for them to bully their neighbors, set up billion dollar ports, give billion dollar loans, and create the massive OBOR project.

And no, in the intervening years many of the claims of democracy proponents have failed to come true. China thrived because of its opaque crack down on free speech, the people who rose up did not survive if they rose up at all.

It is also quite likely that China is immune to the kind of issues of foreign funded news articles that western firms are open to.

And China has objectively uplifted one of the largest chunks of human population to a better life than what they had before.

It a life many people would not countenance in the west, but its better than what the options were before.

Unless someone has hard facts, to indicate exactly how deep the rot is - its speculation.

The facts and actions of China which are observable tend to hold more weight
Polymer is indeed ridiculous. But there's a reason it's not used that often.

My relatively standard project (using React) needs just Yarn and Webpack. It's got quite some dependencies, but I've never run into those being insufficient.
I've had more social interaction thrust upon me living in a rural community than I have ever been subject to while living in a city. You can't avoid it out in the country due to the fact your neighbours will incessantly invite you to events they are hosting, drop by to see how things are going, ask if you need a hand the second they see you working on something outside, etc.

Given a smaller total number of people, the number you have meaningful interactions with on a day to day basis actually winds up being higher since each person isn't just another 2 - 5 minute encounter but someone that you see regularly, who likely lives nearby, who knows other people that you've met, and frequents the same locations. It's a tighter knit.

You also don't have the luxury of choosing the people that you establish a rapport with, whereas living in a large centre I could easily pick and choose the people I associate with based on how much they agree with my views and opinions. I may not agree with the people I know now 100% of the time but we make it work, being polite and reasonable seems to come with the territory.
Definitely a really neat set of examples. As someone not familiar with Haskell, I have two questions though:

1) What would the method signatures look like in these examples? I.e on the list example, I'm assuming getData would be () -> list(A). And then is getMoreData (A) -> (B) [which gets lifted to list(A) -> list(B)]?

2) How would you combine multiple of these approaches at once? E.g. using both a state monad and a list monad? Would you have to use nested do blocks? Or would you typically define your own custom monad that is a combination of state and list, writing your own lift method, etc.?
I wish we had troll armies going around demanding sources everywhere. That would greatly elevate the level of discussion on most forums. If you don't have unbiased scientific sources to backup your claim, I don't see how you will convince me your ideas have merit.
Brilliant article. The best way to explain a strange feature like a monad is to list out programming situations to which monads are a good solution.

In the same vein, I finally understood what Lisp macros are for, from a similar article explaining in what programmatic situation you can benefit from writing a macro: [1]

[1] http://www.defmacro.org/ramblings/lisp.html
100% agree with this post. I get these spam messages all the time and the worst part is it generates a push notification on my mobile. I see the fix to turn it off, but I rely on the functionality of events being added from my other genuine contacts in my Gmail. It should totally be from contacts on your contact list only.
Excellent! It used to be that the tech community was the most vocal against any scheme to increase the use of tech in voting. That consensus seems to have weakened.

So to all the blockchain-proponents etc: remember that it’s not enough for elections to just be safe. They also need to be safe in a way that is obvious to non-cryptographers.

Many countries run elections on paper ballots and with public ally-observeable counting of votes. They do so in rural communities as well as cities with millions of voters. They rarely see voters waiting in line for more than a few minutes. And the costs are neglible in the grand scheme of things.

That is the gold standard for elections, and it’s actually damn easy to achieve.
Its pretty, usable, friendly, however No one is going to use this to manage more then a few systems.
Because those two things are in the opposite ends of the privacy scale. Online banking works because there's a requirement that your every action is tracked, traceable and directly linkable to you as an individual. Voting require that you're confidant that your vote is counted, but in no way traceable back to you.

The hard bit of online voting is eliminating traceability of individual votes.
I've got different kind of annecdote that I need to share now that the thing got retired.

I missed the entire wave thing. Don't know how or why. But I just missed it. And I never ever miss these kind of things. My job at the time was consulting and advising startups and I just looked silly when "wave" came up in a meeting and I had no idea what it was.

I remember the CEO saying "You didn't see the video of the developers cheering with their laptops above their head?" ... which I did not.

It's one of those things that comes back to haunt me when I can't sleep. You know, one of those awkward social interactions that nobody but yourself remembers.

So good bye Wave. Bane of my existence.
The Best UPS for Your iMac (2015)
Well, I just opened the script in firefox and checked the network tab in the dev console. It's 26KB gzip and 31KB after decompression.

Which, IMO isn't too bad, I keep my pages under 100KB. If I throw out a picture for an older project, I can easily get back those 30KB to stay under 100KB.
IMHO callback hell is only called hell because of the syntax. So the solution admired here is mostly the do notation, not monads themselves. (But it’s a great feature that the do notation can be used for a general class of problems represented by monads, not a particular one as await, for example.)
Wow thanks for the reference! I got burned by such people several times. Although I must admit that faaaar milder than written here!

In any case Pieter Hintjens is genius!
So take the picture, dispose of the ballot and get a new one from the election officials. Fill the new one with your own choice, get it stamped and put it into the ballot box. A bit of a hassle to be sure, but it does not exactly derail democracy.
That can also be seen as a disadvantage. There is value to having different things look different.
Closer relative to their size? Cars often travel in packs closer together than unit size.
Fortunately none of that can't be done in a decentralized fashion. :) I think there's one big advantage for "people" in it too - being able to use your favorite client, whatever it is.

But I think the major hurdle in this situation is (as usual?) not about an well organized colorful emoji library, but offering something that is clearly better than what we have now in order to disrupt the status quo. :(
Yes, just tried it from a 2015 MacBook attached through HDMI dongle to a Denon AVR. Playback of Dolby test videos and the receiver shows 7.1 audio with correct perceived sound position. Tested with VLC, Quicktime and Elmedia player. It's possible the audio stack is remixing on the way through, because I tried a 5.1 AC3 file as well and receiver was still showing 7.1 except with Elmedia player configured for audio pass-through, upon which it showed 5.1 audio (and issued a noticeable click when the change of format occurred)
Human rights are not US-norms, there are many pitfalls that have been detected in last couple of centuries in the US and in representative democracies all over the world. Supressing freedom of speach, basic economic freedoms, due process... lead invariably to disaster, being it dictatorships, coups, generalized corruption, etc.

There is nothing special with Chinese people that makes dictatorship good for them while it's bad for us.
Signal also requires biometrics to be shared with the govt for 1/6th of the world's population (India) by insisting on a phone number for registration.
> It depends where. In France you are completely stuck when someone dies not pay. It can take over a year to finally kick someone out.

But then how do you kick them out? By doing something! Which was my point. Saying "nothing whatsoever to do about it" is a lie by the OP.

I'm not saying all the rules are sane. But it's better to protect the weak that need roof over their heads, than the persons renting out a house they don't need.

One could even argue the French law is good. If it deters people from buying properties for renting to others by making it not as lucrative, it keeps the prices down and makes housing affordable for many.

Owning multiple properties and renting them out isn't a right. Having a house to live in should be.
> Pretty much the only reason not to vote is that you could not be bothered to

I think some people have a principled stance against voting. You may not agree with that but it is another reason why people may still not vote.
`bind` is usually written as `>>=` in Haskell.

Haskell also lets you write simply

print

instead of

\d -> print d

I wouldn't consider this part syntactic sugar – if one did, I suppose one would have to say that

f(g())

in Python is sugar for

(lambda i: f(i))((lambda: g())())

Here's how the desugared version looks in more idiomatic Haskell:

getData
>>= \a -> getMoreData a
>>= getMoreData
>>= getEvenMoreData a
>>= print

(where I kept the lambda around the first getMoreData since `a` was used in getEvenMoreData)
You're offering nothing but lame excuses. You have not provided a single reason why China could not be a more democratic country with more than one party, less corruption, and more reasonable laws that are applied with due process and not selectively. The idea that more freedom and less corruptions inevitably leads to unrest is a non-sequitur. It has worked out quite well for those former East Bloc countries that are now in the EU.

You're also deviating from the topic. It is quite obviously and ostensively possible to have all these benefits for your citizens without oppressing other countries or waging unjust wars, in fact the majority of countries with a high degree of freedom, a multi-party system, and a high degree of due process are currently not waging any wars at all.
My website for learning calligraphy in AR is nomenee on Awwwards
First thing I thought of when I read the title!
Yes, or a bunch of coins in your pocket. Not so utopic, but they don't require data access and require no electricity.
Show HN: HTML Posts
> I'd like to point out that do-notation in Haskell is a syntax sugar for something nasty. [..] Which is exactly the callback hell criticized in the article.

What's even worse - the resulting code gets compiled to machine code. That's usually very ugly, there is a limited number of variables (registers), and you have to juggle them around. So, obviously, it's no better than writing the machine code by hand.

See, that's the purpose of compilers - to take readable abstractions and to turn them into unreadable, but efficient, mess that is actually executed.
The whole point is that do syntax is a generic solution to an entire class of problems, while async/await is a one off solution to a single problem.
Hey HN,
I created this free tool based on an article I saw on Hacker News, ‘How to Read Mathematics’. The simplicity and brutalism of that page was lovely. No frills, no fuss, and no distractions. I got to thinking, why not try to bring back the joys of writing in HTML?

With this tool, as you write your code, you will be able to view your creation in real-time. This tool was meant to reflect an artistic perspective while also being educational and informative when writing HTML.
Second link is dead. So is the fourth.
Elephant Chart
If do-notation is the solution, does that mean that adding syntax sugar for nested functions / promises in JS would solve the problem of callback hell as well? I somehow doubt that.
You have to then combine multiple monads though, which isn't quite as easy iirc.
Hackers selling legitimate code-signing certificates to evade malware detection
That is certainly true. I considered mentioning it, but decided to sort of include it in the "not bothering" category, as I think it might be better to cast an empty (or otherwise invalid) vote to make sure your message is interpreted as such. A mistake, in hindsight.
you and i have a very different definition of 'investment' then.

if i go to las vegas, put everything i own on red (because surely, red must be the future!) and win - have i made a great investment?

your other 'tremendous' use will disappear anyway in the traditional banking sector, as they did in Europe with SEPA (see comments below).

and don't forget that some of those fees buy you (legal) stability, low volatility and a system that's pretty robust in general. of course it could be leaner and faster but evolution is sometimes healthier than revolution if a lot is at stake (i.e. everyone's wealth)
Dana Airlines release statement on why their plane skidded off runway
SEO Backlinks – 25 Types of Links That Are Safe to Get for SEO
I'd say that too if I'd already made my billions and paid taxes on it.
Fair enough. And I did see your wink. :) I do think the trend is increasingly towards literary sci-fi, though, especially in print (less so in film and TV where it's become almost synonymous with action).
The concept is sounds from a technical level. But having dealt with the industry Compliance is going to have a fit. After all you have bits of a patients data flying around a network that not easily trackable. Also in Step 3 - If the off network system is requesting the data from secure URL why block chain it all?
Maybe China is innovative, but regarding Xiaomi, i'm not so sure they have a unique production model, or rather they are willing to sustain low profits, or are even be subsidized by China - because controlling people's phones is a really valuable thing.
Snap loses $1.3B as reality TVstar Kylie Jenner says she no longer uses Snapchat
This question is one of several that come up reliably in every discussion about electronic voting. The short answer is, the incentives and requirements for banking are very different.

Would you consider taking a few minutes to read this? http://zesty.ca/pubs/yee-phd-ch1to3.pdf

I put a bunch of effort into explaining these issues as well as I could, and that's the result. I'm pretty happy with it and sometimes wish that it were required reading for people participating in discussions about electronic voting.
How fast can a bird search a tree?
The difference is given by the code context (which is unfortunately entirely missing from the article). What’s shown here are the things all these patterns have in common. The whole point of abstraction is to have different, but related, things look the same.

Haskell (and these examples) certainly raise the level of abstraction to extremes (compared to other languages). But as long as the context (explicit type annotations, if necessary) make it clear what the code does, I don’t see this (even conceivably) as a disadvantage.
cockpit has cluster support for kubernetes

http://cockpit-project.org/guide/133/feature-kubernetes.html
https://www.youtube.com/watch?v=Fcfsu22RssU
Ask HN: Any customizable contract document generation tool?
My wife's startup is looking for a tool that can autogenerate contract documents with text varying based on answering some questions/making selections on a form. In googling, she found players focused on automating the signing process flow but nothing simple to customize. I'm sure I can whip up something with either VBA in Word or Google Forms but thought this is surely an area where an an easy to use product might already exists. Any suggestions?
1) I would asusme `getData :: [a]`, `getMoreData :: a -> [a]` and `getEvenMoreData :: a -> a -> [b]`

Notice the type of bind: `(>>=) :: Monad m => m a -> (a -> m b) -> m b`, in our case `m` is list, so the instantiation becomes `(>>=) :: [a] -> (a -> [b]) -> [b]`. (In our case we can also deduce that `a = b`, since the output of `getMoreData` is passed back into `getMoreData`, but that's less important.)

A simple example:

Prelude> a = \x -> [x,x]
Prelude> [1,2] >>= a
[1,1,2,2]

2) There is something called Monad Transformers, which does this https://en.wikibooks.org/wiki/Haskell/Monad_transformers It's not quite as easy as just working with one Monad though, iirc.
Okay, why would the world still 'support' the U.S.? Given the U.S. and her other allies starting wars in middle east, so many innocent lives were taken. And the U.S. got away easily even no WMD found in Iraq.

Many things are partially ordered.

Normal people in Xinjiang would prefer a stable Xinjiang not some groups' idealized usually chaotic one.

Speaking of human right, raising living standards is the most pressing issue in China, and there are still many poor people in China need the help from the gov't. When they got richer, there will be more middle-class buy things from the West and the rest of the world.

Some countries can still bash China on many issues whereas making bigger deals with China at the same time.

China is still an entry level player on that.

The world cannot leave the U.S. and China and any countries on this planet even though I guess quite a few folks hate each other. Because they buy things from each other.

Money talks, if you will.