skysight-inc/HackerNews huggingface dataset:
Being someone who is still struggling with these concepts, I like this tutorial because at least it doesn't use the common list/maybe/state to illustrate the concepts. Somehow I feel these concepts are so abstract - unless one is well versed in category theory, maybe only a data approach can prevent people from overfitting these concepts to specific examples.

I would really hope to see a tutorial that have a diverse set of examples and just fmap each example with a light explanation of say, what is a monad in this code and what is not, and because it's a monad we can do this.

Essentially the tutorial can just train a classifier in one's head, and with a nice set of examples maybe the brain can learn a general representation of concepts for the classifier ...
Services at Uber are pretty much all stateless Go or Java executables, running on a central shared Mesos cluster per zone, exposing and consuming Thrift interfaces. There is one service mesh, one IDL registry, one way to do routing. There is one managed Kafka infrastructure with opinionated client libraries. There are a handful of managed storage solutions. There is one big Hive where all the Kafka topics and datastores are archived, one big Airflow (fork) operating the many thousands of pipelines computing derived tables. Almost all Java services now live in a monorepo with a unified build system. Go services are on their way into one. Stdout and stderr go to a single log aggregation system.

At the business/application level, it's definitely a bazaar rather than a cathedral, and the full graph of RPC and messaging interactions is certainly too big and chaotic for any one person to understand. But services are not that different from each other, and run on pretty homogeneous infrastructure. It takes pretty strong justification to take a nonstandard dependency, like operating your RDBMS instance or directly using an AWS service, although it does happen when the standard in-house stuff is insufficient. Even within most services you will find a pretty consistent set of layers: handlers, controllers, gateways, repositories.
Perhaps someone will benefit from a more detailed explanation:

To be more specific, some CPUs will increase or decrease the accuracy of floats in some situations.

Different CPU instructions will do different things. For instance a "multiply and add" instruction might store a high resolution float, where a different approach would suffer an expected rounding error.

If two computers get different answers in the maths, their simulation of the world drifts apart over time. Then they start to disagree on what is happening.

When you change compiler settings, platforms (32/64/windows/mac/linux) the compiler is likely to make different choices about which instructions to use where.
How does this architecture perform in terms of FLOPs per Watt, compared with traditional register based architectures?
Kevin mitnick's business card has a popout lockpick in it. He came to give us a talk, and gave out cards afterward. Later, I learned we all committed crime that day.
I guess.

Those restrictions you describe are classic hallmarks of a toxic workplace IMHO, and somewhere I would leave as soon as I had the chance. I guess I'm lucky to have that choice.
No, it's not a lie.

>I am skeptical of the claim that voluntarily pedophilia harms children.

Then, later,

> “There is little evidence to justify the widespread assumption that willing participation in pedophilia hurts children. Granted, children may not dare say no to an older relative, or may not realise they could say no; in that case, even if they do not overtly object, the relationship may still feel imposed to them. That’s not willing participation, it’s imposed participation, a different issue.”

Look at what he says here. Words like "willing" and "voluntary". This is a normalisation of child sexual abuse.

About Minsky:

> The injustice is in the word “assaulting”. The term “sexual assault” is so vague and slippery that it facilitates accusation inflation: taking claims that someone did X and leading people to think of it as Y, which is much worse than X.

> The accusation quoted is a clear example of inflation. The reference reports the claim that Minsky had sex with one of Epstein’s harem. (See https://www.theverge.com/2019/8/9/20798900/marvin-minsky-jef...)

> Let’s presume that was true (I see no reason to disbelieve it). The word “assaulting” presumes that he applied force or violence, in some unspecified way, but the article itself says no such thing. Only that they had sex.

Here he is clearly saying that "assault" requires use of force, and using this misinterpretation of the word to defend Minsky's actions.

He's wrong about the word assault. It does not require force or violence.

You can find your own Stallman quotes about child sexual abuse and bestiality.
I’ve also noticed a small uptick in my circle of friends abandoning chrome for firefox lately. I personally also switched back to firefox this year after years of using only chrome.
> * Keeps getting better (some commercial software seems to bloat beyond repair)

Adobe's video editing suite of latest versions is actually well known to be buggy in terms of regular crashes and hangings. It took me many months to realize that the problem was not inferior CPU or drivers or other software or virtual machines or little memory, but that their software is straight up buggy. That's a company that charges hundreds of dollars for their suite and also a company that had a perfectly good software before and have also basically owned the market before. Now it is buggy and crashes. What other software even crashes these days? I have to think back several years when I remember office suites crashing or other complicated software. It is really a disgrace on Adobe's part. This is not a single user experience either, there is a general consensus now among video editors that this is the case with Premiere and After Effects.
This is great news. Really a gem of an open-source/ free SVG editor that can produce high quality images.

Do they have "flatten-layers" and export as a single file (similar to Illustrator) functionality yet?

I checked the release notes, but could not find anything around it.

This can sometimes be an issue, in the way the image is rendered especially by different browsers. You end up with some unintended image output than you developed in the tool because of the interaction between different layers and opacities. Even a .png export did not help in one instance.
I think there is distinction between documentation in development progress and documentation afterwards. IMHO article is about the first.
After something is done, you can write thorough documentation of product with UML diagrams and whatnot.
Because UML is generally about defining processes, and it is easy to accidently try to poorly "code" parts of the system in UML, processes that might be easier represented in code. If there is distinct process that is complex/important enough to be architected, by all means use UML.

Normally, at a high level, where people are architecting, what is more important is flow of information and containment of responsibilities. UML is not really designed for describing these situations, and trying to wedge this type of information into a UML diagram can get confusing and can encourage architects to focus on the wrong things.

When people say "box and arrow diagrams", I think that to mean boxes=infomation+responsibilities arrows=information flow.
It was a bit like a Stack Exchange blog, wasn't it. They weren't keeping up with inflation. That's not even a price increase in real terms - they should probably do what (UK, at least) mobile networks do and just increase the prices by the official rate of inflation each April - that would let them defer actual price increases for longer.
I get a 404 for the github page linked on the video? (to read the presentation slides)

https://github.com/CppCon/CppCon2019
> After numerous attempts to stop the constitutional violations of the NSA from within

When did Snowden try to stop phone metadata collection from within?
> When ICANN does issue new TLDs, they’ll only allow at most 500 new TLDs per year. The likelihood of conflict is low even though conflicts can technically happen.

Oh, "only" 500? Out of which a substantial fraction will be common words and therefore likely to be squatted on if Handshake is even remotely popular? I wondered if Handshake was at least trying to reserve English words, but apparently not, judging by this:

Names which were added _after_ the final snapshot:

- `charity` - A new gTLD added on ICANN's system.
- `inc` - A new gTLD added on ICANN's system.

- https://github.com/handshake-org/hs-names/blob/master/README...

Please tell me there's something I'm missing...
> Snowden repeatedly attempted to follow internal processes and was stonewalled.

There is no evidence of this.
An excellent summary of a highly complex situation.
I just bought it a few days ago. Gah!
We're not talking about Minsky; we're talking about a hit piece on Richard Stallman, which brings up his opinion on the morality of sleeping with 17-year-olds as a reason to revile him.

The age of consent in Finland is apparently 16. Should we ask Linus Torvalds what his opinions on the matter are, and force him to step down if he disagrees? The age of consent in Italy is apparently 14 (!). I know a number of Italians prominently involved in the kernel community; shall we ask them what their opinions are?

It's important that we distinguish exactly what it is that we're accusing someone of, and make sure that each individual element is true, for two reasons.

One is just plain justice sake: it's not right to railroad someone and force them to step down from the organization they founded based on bad logic and twisted facts.

The second is, Stallman is not the only target here: everyone else is looking at this and deciding how they need to act in response. If what the average guy sees is "he expressed a minority viewpoint and he was lynched", then they'll learn to simply not express minority viewpoints; they won't see what was really problematic about either the current behavior, or Stallman's history.

His "but is it really assault" defense of Minsky is definitely problematic given his position and the situation. And apparently he's had a long history of "creepy" behavior, along with a long history of people telling him he needs to change. Those are good reasons to ask him to step down.

But it is not true that Richard Stallman said the girl was "entirely willing"; that is just a lie, and covers up the real problems Stallman had. And regarding his question about whether a 17-year-old can give consent -- be consistent: either drop this issue, or take it up with every European in our community.
FWIW I wouldn't be OK with them breaking the rules, but I'd appreciate the character trait that leads to someone who when challenged will look for a workaround.

In this situation the rule had been fulfilled, the meal was finished, and so finding a way to get back online was perfectly "lawful".

I'm pretty legalistic in a rational way with domestic rules for my kids - they can't flout the rules but they can provide a logical challenge and change the rules.

This situation was poor time management on my child's behalf.
Putting a link to the "Lykov Family" Wikipedia page in the middle of this article is just plain evil; I'm trying to get some work done here!
See my response to gabeweaver above. I provided feedback on our support experience on multiple occasions both privately and publically, I have nothing more to add. Gitlab is important, but not central part of my day to day duties as a DevOps lead of a small (30 Gitlab seats) start-up , I did what I can to get heard.

TLDR; support team is great for customers coming to Gitlab, but not so great once initial onboarding is done
Nice to see a Django app on here :)
Put in some generic marketing waffle. I wasn't surprised at all that the model (GPT-2) was pretty decent at filling whole paragraphs with even more generic marketing waffle.

It would be interesting to compare it to a model specifically trained on a long copy advertising corpus for spouting generic business rah-ha power marketing.
I get a scary-looking warning in Firefox when I click that link. It says:

"Someone could be trying to impersonate the site and you should not continue.

Websites prove their identity via certificates. Firefox does not trust danielvaughn.github.io because its certificate issuer is unknown, the certificate is self-signed, or the server is not sending the correct intermediate certificates.

Error code: SEC_ERROR_UNKNOWN_ISSUER"

To continue to your site, I'd have to click the button "Accept the Risk and Continue", which not everyone will do. I just want you to know in case you want to look into it.
Wow, this is just far beyond terrible web design. On a 1920x1080 monitor I have to scroll down four and a half entire screen heights before I get to the text of the article. The headline alone takes up about half the screen...
The Novix was crazy fast when it landed. I had access to one of the first samples and we had to sign all kinds of stuff to get our hands on one. Rumor had it that it was part of what went into the Tomahawk, but I've never been able to substantiate that. I used it for image processing.

The later versions of the same software ran on regular x86 hardware, which caught up pretty quickly with custom processors. I had a DSP032 which also ended up in the drawer because of the speed with which regular processors improved.

Interesting that now, a good 30 years later we are again using co-processors.
They will abuse it, and then when it doesn’t perform the way they want it to they will email you demanding support.
Inkscape is that one Open Source app where the UI isn't utter nonsense. Could be better but it's alright. Great to see it reaching 1.0.
For banking systems in reality, monetary values in databases are immutable and only ever appended to. Banking is often used as a reason for strong consistency but it actually is almost always eventually consistent.
VanEck, SolidX Withdraw Bitcoin ETF Proposal Before SEC’s Final Decision
Facebook to train AI by handing out bodycams to police
Boxy SVG desktop app does not and will not require recurring payments. You pay for it once and after that you will be receiving updates for free as long as I'm in charge of the project (i.e. I won't get hit by a bus or something along those lines).
This comes down to the question whether you should do change "from within".

There are probably cases where there's a reasonable case to do such a thing, e.g. if you have an electricity company that has a somewhat balanced mixture of fossil and renewable energy.

However I don't think this is a sensible approach if we talk about pure or almost pure fossil companies. There's no way Chevron can be "part of the solution". It's either these companies disappear or the planet will become uninhabitable, there's no middle ground on that. The idea that they can reform themselve has been a lie the oil industry has been peddling for a while. More than a decade ago BP said that now stands for "Beyond Petroleum". We can see how well that went.
The end result of any successful action to curb fossil fuel consumption will be (at least at the beginning) an increase in the price of products depending on them. So why don't people ask directly for more taxes on those products, to drive the demand towards better alternatives?

It seems to me that the people don't want to take their share of responsibility and accept that the they'll have to bear the costs of the solution; and instead crave for some sort of empty vengeance on the companies whose products they keep buying.
Crazy amount of hate on KeePass in this thread ... I really don't get why it's not a more common solution on HN, it's free and open source and leaves the syncing to you, and doesn't live inside a browser extension ... it literally ticks all the boxes that a good password manager should have.

I don't know if the iOS client is that bad, but the Android one is just fine.
Softbank’s MO seems to be making big bets on lots of competing companies and letting the chips fall where they may. I’m guessing (pure speculation) that they have a stake in some, if not all, of the Asian companies that will operate in WeWork’s vacuum.
Ridiculous. HN censoring important news... I guess the best time is over for this site and it's time for something new.
GoCardless launches US debit payments solution
link to the beta download page:

https://inkscape.org/release/inkscape-1.0/?latest=1
Cassandra is designed for eventual consistency across multiple independent regions.
Ask HN: Do you use CI/CD for mobile apps
As a growing company we've recently been hiring new people and I've been involved in hiring a frontend lead who will be responsible for mobile and web apps. Up until now, the engineering team consisted of three developers and we've mostly focused on backend and devops, where we've aimed to automate everything we could. We've also created a prototype-ish mobile app (using React Native), where we've been using Fastlane to automate building and releasing. It took some time to set it up, but it felt normal to me to do it, because of my experience using CI/CD for everything else.

Now, back to hiring the frontend lead. What struck me as a surprise was that vast majority of candidates (most of them quite experienced) haven't setup or used automation for the mobile apps they've been working on. In essence, there was a single person in the team that did the releases using XCode/Android studio. One candidate said that she had tried to setup Fastlane, but gave up somewhere in the middle due to signing/certificate issues. Then went back to using XCode where it just works.

So, my question is: is using the XCode/Android studio for builds and releasing the norm in the industry? Do people avoid automation for mobile due to it being too hard/clunky?
I guess the main problem for this is the required land space. Another idea that I have was to grow plants on facades of buildings in cities.
> Germany has already forgotten that it seems.

No, Germany hasn't forgotten. The US trying to listen Merkel's phone and vice versa is expected.

https://www.spiegel.de/international/germany/german-intellig...
We are talking about Minsky, because it's Stallman's comments about Minsky that are the problem.

> The age of consent in Finland is apparently 16.

1) Not for Americans visiting Finland.

2) Not for prostitutes in Finland.

> But it is not true that Richard Stallman said the girl was "entirely willing";

I haven't said this. I'm focussing on the things that Stallman actually said. You yourself agree that these are enough to ask Stallman to step down.

> he second is, Stallman is not the only target here: everyone else is looking at this and deciding how they need to act in response. If what the average guy sees is "he expressed a minority viewpoint and he was lynched", then they'll learn to simply not express minority viewpoints; they won't see what was really problematic about either the current behavior, or Stallman's history.

Yes, this is entirely the point. We don't want powerful men to make public comments saying that fucking children is fine so long as those children have been brutalised into looking willing. We don't want powerful men saying that "voluntary" child sexual abuse isn't harmful for those children.
How can it be more stable than a build that passes CI? If they have some extra tests to run to check it’s stable why aren’t those in CI?
Even though people are questioning the purpose of this project, I think it could be useful for those who are prototyping things and don't want to tie themselves down to a specific database like MongoDB... not that there's anything wrong with Mongo. My favorite feature about Jsonbox is the querying by fields in the JSON data.

I've been working on a similar project, although not optimized specifically for JSON, but rather a generic key-value store with a focus on server-side scripting: https://kvdb.io

It seems like a lot of these storage as a service offerings have been popping up over the past few years because there's something about Mongo/Dynamo/etc. that could be simplified even further. I don't quite know what it is, but it feels like developer ergonomics (i.e., API) and ease of deployment (i.e., nothing to manage) are the big ones.
OCaml (Reason) was my entry point into Typed FP (after a few failed attempts at learning Haskell). The best thing about OCaml is that it allows side-effects, so one can go a long way without having to touch advanced FP.

It is only recently that I've started getting comfortable with concepts cogently explained in this post, so to me it is quite valuable.

As an aside, I think OCaml/Reason/Elm should become the de-facto Typed FP entrypoint for programmers instead of Haskell. That'll help drive more adoption for the paradigm because the ecosystem is a lot more approachable and one wouldn't feel overwhelmed to even begin.
I don't know if they'll be able to get GTK 3 into 1.0, but that would be awesome. The fact that the new builds don't need a X server kind of make it awesome already!
Mainstream OSs are slow to evolve. While I agree that embedded DNS resolvers in browsers and the like should have an off switch, I think embedding in widely adopted software is the only solution to push adoption of these new privacy-focused protocols.

Pushing updates to ever-green browsers is the key to change how millions of people use their computer - since browsing the web is almost all they do!
Wednesday: Peacemaking
I started writing this the other day - https://codersteve.dev/post/refactoring-to-monads/

It's just a start, but maybe it could help.
Do you have a link for us?
On a 1366x768 laptop it is three screen lengths for me. But this seems to be the common format for news/blog articles these days, there is nothing particularly egregious about this site...
there's an equivalent definition of Applicative that may be a bit less intimidating:

class Functor f => Applicative f where
unit :: f ()
(**) :: f a -> f b -> f (a,b)

[source - a bit CT heavy](https://stackoverflow.com/a/35013667/5534735)

(i'll be writing the second operation as `××` in some places because of HN asterisk weirdness)

this gives us:

- `unit`, a "template" container with a hole we can fill (by doing `fmap (const myValue) unit`, equivalent to `pure myValue`)

- `fa ×× fb`, to "compose" two Applicative values. this shows how, unlike with Monads, the two computations must be "independent". for example, if IO were only an Applicative, you could do

print "hello" ** print "world"

but not

getLine >>= \s ->
print ("hello, " ++ s)

(where the second computation depends on the string we got in the first one)

it also nicely shows the two ways lists can be an Applicative - `fa ×× fb` can be either the Cartesian product `[(a,b) | a <- fa, b <- fb]` or `zip a b` (ZipList).

(also, it's kind of like a Monoid, which is neat!)
AWS CDK Part 1: How to Create a Custom VPC
It is because they are being "Canada Nice" :-) "fucking Batshit Insane " is what they should have said.
GOMC is good working in the first cold email. I agree with you that BLUF is better, but if the recipient knows you.
Central, top-down architecture is extremely political. You have to fight with bigwigs who don't know your problem domain and don't live in your codebase to make it reasonable, or even possible, to solve the business problems on your plate when they inevitably don't fit the 10,000 foot 5-year plan.

Pushing down architecture responsibilities into the hands of senior engineers with specific problems to solve / features to build eliminates that form of politics. They are not disguised architects, because designing the architecture is only phase of the project. They also have to live with the architecture. This is a great thing.
yeah, indeed, strange.. I always use Gimp in those situations.
I'm fairly fluent in Inkscape and cropping images is not something I would use it for.