skysight-inc/HackerNews huggingface dataset:
Incidentally, I am learning Haskell right now. And fwiw don't have a CS degree.

I think the difficulty of Haskell is overrated. It's just different. The crowd who complain about Haskell being hard despite x years experience are the same people who speak English and think Mandarin is hard.

And yet 1.7+ billion people speak Mandarin, and most linguists agree that English is actually the harder language owing to its more branched roots.

Haskell is what happens when you go full lambda calculus, and the dedication to referential transparency really forces you down some interesting paths/abstractions. It's also worth noting that other functional languages like OCaml and lisp do not force purity so the idioms are not as extreme.

The impedance mismatch essentially boils down to Turing Machine vs Lambda Calculus and as such you don't find many familiar friends when switching camp (to begin with, at least!)
The Haskell idioms are very different and the consequences of referential transparency ripple throughout the way you need to think about computation.

It's also worth noting that Haskell is a language laid bare - much of the features and abstractions are plain-old functions which means you can "just" duck into them, implement them for yourself or read them as libraries. But what we often forget is all the abstractions we needed to learn when grokking "programming" (which was probably imperative style programming) the first time round. Most people have moved on from the time when trying to conceptualise what an object is or how methods work or even working with mutable state. When you get to design patterns - some of the implementations are quite complex the first time round. Eg the visitor pattern/double dispatch is not particularly simple when you sit down and manually expand the execution of those calls and yet when you use it, it's quite simple.

When we program with objects, most of us don't stop to think about vtables anymore* we just use the object to solve our immediate problem.

The more I see of Haskell, the more confident I am that it just uses a very different set of abstractions that you can just use and forget about except you get the benefit of a HM type system and referentially transparent code. It's also nice that that itself somewhat forces you towards a more functional-core imperative style architecture where your business logic is pure and mostly happy path code and your boundary is a bunch of monad imperative glue.

I think at the end of the day FP makes the hard things easy and the easy things hard. But as the Turing Machine and Lambda Calculus are equivalent then being adept at both schools is like having twice the arsenal for dealing with a given problem.

*naturally when performance becomes a problem you start to unravel abstractions.
In Korea I believe that people who have tested positive have their smartphones directly tracked by the cellular network with alerts automatically issued if the device leaves the person's home.
I guess we could ask the same question about ourselves. How much of what we say is just a regurgitation of what we hear/read every day?
http://wilkins.law.harvard.edu/projects/2017-08_mediacloud/G...

Under US politics it is clear on the left side. It is not far left, but its not center either.
1. Yes, it basically injects a CSS stylesheet into every page + a JS script that does additional filtering.

2. Yes, in order for this to work, AG will need to access response body.

3. Yes, and in this case we'll need to use JS-based filtering (so-called extended CSS rules or scriptlets).

And here's an answer to the question you didn't ask: yes, this would be slower than doing the same with a browser extension. To make it faster, a different approach to filter rules is required - fewer generic cosmetic rules, more HTML filtering and removing elements from the page content.

The end goal is to completely get rid of any app or extension. Ideally, I'd like to see all the filtering moved to a server-side application like AdGuard Home.
We should remind ourselves that white supremacy is the belief that white people are superior to people of other races, and that white people should thus be dominant over them.

In academics, white supremacy is a term to denote a system of structural racism which privileges white people over others, whether or not there's racial hatred.

You do not have to be white to be a white supremacist.

We can then critically evaluate what the current presidency and their network of advisers and influencers say and do. Some of the rhetoric and actions fall along lines other than white supremacy (e.g. xenophobia, nationalism, etc.), while others are less veiled.

Let's open our eyes, turn a mirror, and ask ourselves some hard questions: do I believe white people are superior? Do I benefit from a system that does and do I think anything should be done about it?
To be fair it wouldn't surprise me - this sort of thing was pretty common back then. You'd create high def 3D models and then render 2D sprites etc from them.
Asking out of curiosity: why did you choose Riverbank’s python binding instead of Qt’s?
There's a lot of mixed metaphors here, but just to attack one I immediately recognize: the 1940 Scientific American article "Don't worry, it can't happen" is not (as Gwern appears to be implying?) stating that nuclear explosions are impossible. Instead, the article explains why nuclear chain reactions eventually stop, and do not continue to explode all available matter. S.A. is not saying Trinity Test would not explode, merely that it would not turn Earth into a new sun, and you can get some sleep about it.
The only thing that somewhat makes sense is that during exploration TDD may not always be the most practical. It immediately starts to be extremely practical once the exploratory phase is over.

I kind of feel you live in some kind of alternate universe. None of these sound true to me, at all. The most important misunderstanding that seems to be going on here is the assumption that in TDD it is a given that one is testing single classes and/or methods. This is not the case. In fact, in most cases it is much more beneficial to test a set of classes/methods at the same time in a way that is representative of something that the customer values.

Honestly, I have seen TDD work so well in so many different circumstances that I have started to consider people who do not do not write test for most possible scenarios as being on the not-so-very professional side of things.
"Apple fanboys never learn. Sigh."

Just to be clear, you (and several others running the same playbook) are attacking Apple's entrant from every possible dimension, cherry picking specific micro-traits from various other systems (even if they aren't SoCs and have a tiny fraction of the functionality -- hey, if you can tease a dumb argument out of it...) and turning that into some sort of Voltron combined creation to claim..."victory"? And people impressed with Apple's progress based upon actual reality are the "fanboys"?

Again about cache. To repeat what has already been said, the A12Z doesn't have an L3 cache. The L2 cache is an L3 cache given that it isn't per core.

The A12Z has 8MB of this L2+L3 cache. The 855 has 7.8MB of L2+L3 cache. The 4800U has 12MB of L2+L3 cache. The 3700X has 36MB of L2+L3 cache. So tell me again how the A12Z is somehow hacking the system or cheating? This is an outrageously dumb argument that the, I guess, "AMD fanboys" have all fed each other to run around trying to shit on Apple, and it betrays a complete lack of knowledge -- just copy/pasting some bullshit.

Enough about the stupid cache nonsense because it has no basis in reality.

"Also, Apple fanboys are the new Intel fanboys when stressing single thread performance."

It is the single most important facet of a single-user performance system, or we'd all be using shitty MediaTek NNN-core designs.

And, I mean, the A12Z annihilates the 4800U at single thread performance, and equals it at multithread performance...for a little tablet chip, and despite that 4800U having that mega, super, giant hack of die size cache, and despite it boosting that single core to 4Ghz, versus "just" 2.49Ghz for the A12Z.

Oh, and that Apple core has a 5TFlop neural engine aside from the GPU. Separate hardware encoders/decoders (not as a facet of the GPU). Camera controllers. And on and fucking on.

What Apple has done is very impressive, and I imagine on their desktop/laptop chips they'll be a lot less conservative, likely with all "Big" cores. Maybe they'll even put dedicated L2 cache!

sidenote - you talked about the AMD chip being a "couple of months" old. The A12Z we are talking about is over two years old. You understand that we don't know what Apple is going to drop in their actual production designs, and we are talking about the A12Z because they happened to be confident enough to demo their systems on it.
Pro log is literally ‘logic programming’. It’s right in the name.
White women are the largest demographic in the US, but the US is only a small fraction of the world population. There are more Asian women in the world than there are men & women in the US and Europe combined, but this software fails miserably on Asian women as shown in the article.
They said "It would make it very difficult for Blizzard to do a Diablo 2 remaster because all the assets we used are pretty much gone. They'd have to make them from scratch."

I can't think of any other way of interpreting it.
Machine Learning Tools That You Can’t Go Without
Don't know, maybe because C# follows up on Assembly, Pascal, C and C++ as the next language being widely adopted by the games industry?
Why would you call it, hypocritically herd immunity then? It should be called sacrifice of weak, that woul be honest. Anyways, Sweden did not fare economically any better than Austria, Norway or New Zealand.
> At what point we should stop designing for future use cases?

Guessing the future and engineering to cope with it is a risky, error-prone business. Good engineering practice should always seek to minimise reliance on unreliable (prediction) data to create future-proof designs.

So I'd go with stopping as soon as it meets current use cases AND then shift gears to make it easy for someone else to pick-up in the future, e.g. write whatever tests are necessary and document thinking.

If it's easy to extend now, it will still be so in the future. Plus, there will be whatever learning has occurred since to make an even better job of it.

> How far should we go in making things generic?

Only if:
0) It's not only about guessing future needs.
1) The maintainers are over 90% certain it will make it easier for them to maintain and test now.

> Are there good resources for this?

There's a mountain of media on "Agile" software development, and it's different flavours. It's not particularly Software Engineering focused, but I enjoyed the "The Lean Startup" by Eric Ries.

Good luck and have fun.
With Chromium based browsers you should be able to set every website to be muted at first. You'll only see a mute symbol on the tab when the tab tries to play sound.

If there is no sound at all, there shouldn't be an icon.
I agree with everything you said and I don't feel like our comments are in dispute- I don't think cops are killing people because we have so much murder and suicide, I think that we have a violent and gun obsessed country, and that shows itself through high levels of police violence, murder, and suicide.

Edit: as such, I would remove the "because of" part of the last sentence of my previous comment, and leave the "strongly related to". My bad.
==The average tenure of a software engineer at a big tech company is less than that; is it fair to say they don't have jobs?==

I don’t follow, after a software engineer leaves the big tech firm, the job still exists. They hire someone else to do it. In this instance the job doesn’t exist after 2 years. It’s also probably not 2 full years for those jobs as they are typically brought in with teams to perform their function (dig, foundation, build, framing, electrical/water/gas, finishing) then move on.
There are stuff that converts yaml to dot, like https://gist.github.com/rchrd2/247d1f1e86fa3749429791cf45705...

but honestly just write dot, it's a simple format

see also https://codefreezr.github.io/awesome-graphviz/
Try simulating it using headless chrome (directly accessing the page), works fast
You can avoid “bugs introduced by the merge” by requiring a fast forward/semi-linear merge (ie, the source branch must be a superset of the destination branch). Any testing or validation of the source branch is therefore valid for the result branch, as the contents of the source and result are identical.
...then a judge who is assigned the case evaluates the claim and then issues a subpoena if the request meets the standards of the law.
You are assuming that a compiler for a dynamic language would produce small, fast binaries. There is so much that can't be assumed in a simplistic compiler for a dynamic language that the resultant binary would mainly consist of calls to support code written in C, which is pretty much what we have now in cpython minus the small interpretation overhead.

Even pypy[0], which isn't a simple compiler by any means, is only 4.4 times faster than cpython by their own measurements.

In short, languages like cpython aren't slow because they are interpreted, they are slow because they are dynamic.
There's a lot happening "under the hood".

[0] https://www.pypy.org/
I’m on the other side of a Nordic relationship and some times I have similar thoughts coming from a third world country. My partner’s mentality seem like utopia to me. I would love to understand it a bit better, do you have any references or reading material that discuss this psyche?
You are lucky. Years ago, I made a mistake of buying domain on GoDaddy and my inbox was full of spam everyday. There was lot of questionable spam and I ended up deleting the email address.
> the current phase of thinking someone has to be of a group to understand the group is wrong.

> Or maybe men and women are even more similar than I'm accounting for and a young woman's journey is just that similar to a man's

You're almost there; the point is not that you have to be in a group to understand a group, but that because of the power structure some are much more visible and celebrated than others. A female writer is more likely to be able to see what the male journey is like (due to thousands of examples) than a male writer, who is in turn more likely to project his own prejudices than actually find out what it might be like.

(In turn, there have been a number of literary fights lately about white female authors doing terribly bad racial stereotypes of their nonwhite characters...)
I wish to get just one pence in whatever currency for every time one writes Golang instead of Go.
Do we know that humans do reasoning? People talk much much faster than they could work out anything like what people consider to be logical reasoning.

Remember that logic had to be invented by Aristotle. It was a mechanical system meant to approximate how humans make decisions naturally.
Sorry, actually meant 1st. But 2nd applies, too.
IDK, I'd say people calling everyone they don't like a Nazi seem like a party which doesn't get it.
"coloured lights for each line – except the Northern, which sticks with white lamps."

What, nobody's invented a black LED yet?
And Devilution is more of an infringement, as it represents a direct recreation of Blizzard's source code for Diablo 1. OpenDiablo2, on the other hand, is more of a reimplementation (albeit not a clean-room approach).
The examples in the docs were also usually the bare minimum to show that the function existed, and usually full of memory leaks and bad behavior. Guessing what errors might arise was always fun. And then, the OS started inserting proxies on your interfaces whenever it wanted without telling you it might happen. Fun times all around.

Favorite “COM-ism”: IClassFactory, the basic interface to a class. Why not call it IClass? Or IFactory since a class is essentially a Factory pattern? IClassFactory makes it sound like a Factory for Classes, not objects.
My immediate thought is use the birthdays as seeds for the random number generator, and then whatever you do has the birth dates as the nucleus of the generated art.

You can also generate a shape or a path for every family member modifying a parameter with each member's birthday.
Unit tests are too. What the comment you are replying to is referencing is Integration tests, the type that instead of working on a “this class returns this” instead works on “component A calls Component B to do something, are the two still speaking the same language and expectations?”
Whether humans have a genetic language facility is not yet known.
> It's not a AI bias problem, it's a dataset problem

I would argue that it's beside the point. The argument is that the ML systems we generate now and are looking to use for real world systems have biases in them. For example, you do not want a lender auditing system used by banks to incorporate features that end up being proxies for race because the data you used to generate it was biased [1].

[1] https://news.cornell.edu/stories/2019/01/study-ai-may-mask-r...
I also wonder how much is invented, and how much is simply copied. I saw this one by GPT3

https://read-the-samples.netlify.app/sample_2007

and compare it to e.g.

https://www.bbc.com/news/world-europe-35869985

GPT-3 has quite a lot of correct facts, manages to mix fouad belkacem and Sharia4Belgium into it, etc... I suspect this is what happens when there is not enough training data: You get a lookalike, not something new.

To be clear: It's impressive what GPT-3 is capable of, and it's very probable something better is comming in the near future.

(It's also quite amusing how a lot of these terrorists get first killed by the police and then thrown into jail for 20 years. That'll teach their corpses! )
We read some of these papers in school as assignments and there are many cited in software engineering texts like Sommerville and Pressman, so I am not sure no one is teaching it.
You cannot moralize against people for being human.

Find a way to work with us as we are rather than condemn us for not being as you can imagine.
Love the document format and how hovering on links presents enough detail inline (example Bitter Lessons, Sutton). I appreciate not being taken to another page/tab. Wonder if a CSS style sheet is easily available.

Had never heard of MuZero before. Its impressive that it can reach AlphaZero levels in Go without knowing the rules.
Yes, there are typically a lot more trains active than stations, so many of the lights would be lit up nearly all the time if you tried to represent each individual train. Some lines (Victoria) actually have more trains in service than there are platforms during peak times.
I found "octave" is a direct connection of matlab using @anvaka's very cool tool: https://anvaka.github.io/vs/?query=matlab%20
Agreed that there's risk in overuse which can lead to numbness for the real thing.

In some ways, I'd argue we should then be even more vigilant because white supremacist rhetoric / apologist sentiment and actions are having an easier time to hide behind the veils of fuzziness.

One comment though: you do not have to be white to be a white supremacist. White supremacy is the belief that white people are superior to people of other races, and should thus dominate them.

We see this pattern in other arenas too, e.g. gays and homophobia or women and gender bias.
> Have you ever noticed how sluggish Macs feel compared to Apple’s mobile devices?

Not really. In a courtroom, this would be considered a leading question. It's going to be interesting to see how pundits try to explain the advantage of Apple Silicon to the general public, most of whom couldn't care less.
Wow there’s so much negativity here.

I just want to say congratulations. I think the sponsorware concept is very cool and could be good for the community. I’m glad someone has found a way to make money in open source.
But you don't have a choice. Either it's Facebook, which is relatively transparent and can be sued, regulated and criticized in the media. Or it's another social network that you have absolutely no recourse against.
> I think we have an unhealthy obsession with trying to achieve 100% original thoughts and ideas

This is pretty much forced on people by the nature of the intellectual property system. If it's ""derivative"" of something written in living memory, you have to pay.
Probably a combination of factors not a single one. In addition to the ones you mentioned: GPT is also much smaller than a brain (fewer parameters), so it can't form higher-level concepts that might help it to organize things better. And the human brain has priors about the world baked in through evolution something that GPT sort of avoids by working on arbitrary token sequences.
You would be surprised, in some jurisdictions apparently sending a Fax is more legal binding than an email with the same scanned data, so...
Are you really forced to enter correct personal information for all domains, regardless of TLD and registrar?
Sounds like my children. For a long time my now-four year old counted like this: “one, two, three, so many!”
It is nice that the author recognizes the possibility of a hash collision. Time and time again I see UUID's or other hashes used in systems with the assumption that a collision is impossible.
I think you'll have a deeper appreciation of the issues when you make an honest attempt at a python-to-C compiler yourself. The result you will get will be full of compromises and trade-offs.

Other attempts like Cython already exist. Perhaps you believe they missed something obvious? This is an excellent way to advance the state-of-the-art when you finish your compiler.
I don't know much about these kinds of neural nets but this is the thing I've wondered about - with billions of parameters and enormous training sets, it seems more than likely that it's squirreled away fair chunks of text inside itself that it can regurgitate.

Edit: I pasted the random sample above into Grammarly's plagiarism detector and it says it "detected plagiarism" but I'm not paying to sign up just to find out what it said (also they make you sign up with your email address before mentioning that it costs money... rude!) Maybe someone with a Grammarly subscription can try it?

Edit 2: Getting off-topic but wow, Grammarly is a nest of dark patterns. Doesn't tell you you need to create an account until you've pasted your text in. Doesn't tell you you need to pay a subscription until you've created an account. Sends you a follow-up email a few minutes later if you don't subscribe. Puts the account deletion link in a different colour and location to the rest of the account settings so it looks like a footer. Swaps the styling for the 'delete account' and 'keep account' links when you do find the delete button to try and steer you away from deleting your account. After that lot I'm never giving them a cent.
A relevant discussion from 2019 https://news.ycombinator.com/item?id=19276113
> So I would absolutely consider using this font, which I think also looks very nice, in apps I build.

Unless that wasn't clear enough from my comment, you're not allowed to.
Warp drive.

ICE is dead. It's a welcome piece of fun at weekends, at the track, and when we drive our classic cars. But, I'm afraid, thats it.
This is a common question and the authors answer this in their paper by checking the training set when evaluating it on particular tasks. E.g. for the addition task they search for existing samples of addition in the training data and find that not all are represented.
Oh boy, do I have bad news for you: Wikipedia lists ten overloaded acronyms starting with "AA" alone!
How is gnulib at all a module system? It's just a library from what I can tell.
Nice!

Since it's written in C++, does it compile to WebAssembly?