skysight-inc/HackerNews huggingface dataset:
I find it interesting that a few of the patterns showed here can (should) be prevented by the compiler

Pattern: A < B, B > A

Can be prevented by using a compare/compareTo function. Even better if the data type returned by it is not an Int, but rather an enumeration/sum of LessThan | Equal | GreatherThan (which is pretty common in ML-family languages).

Such a data type will automatically give you warnings if you forget one of the comparison cases (or if you mistakenly go over the same case multiple times)

Pattern: a Member of the Class is Compared with itself

All of the examples are about writing a definition of compare/compareTo for the specific class.

This can be prevented by having the compiler automatically generating the implementation, as in Haskell:

https://www.haskell.org/onlinereport/derived.html

Pattern: Incorrect Check of Null References

This is handled by the usual Maybe/Optional types

Pattern: Incorrect Loops

This is quite interesting, I think it's fine to have a `,` operator that ignores the result on the left. What is not fine is to have such an operator for a side-effects-free context. Or, put another way, C-style `for` loops are too clever for their own good. If a for loop syntax is:

for( initialization; test; mutation)

obviously you want to have some sort of side effect for `initialization` and `mutation`. But most often you don't want/can do without side effects for the `test`, and disallowing `,` in tests would prevent these issues.

Similarly, for while loops, even if it's a common idiom/shortcut to have `++value` or `--value` in the test expression, it's not without shortcomings.

Ultimately, a for-each loop, (or better, a map) is less error-prone. That would also prevent the other issues listed under the same pattern (in which an unsigned int had been used for a decreasing counter).

Pattern: Sloppy Copying of the Code

The Compiler::RefCntCmp example ought to be prevented by factoring out more the code into reusable functions.

MySql's rr_cmp unfortunately is an example of, even when your tool has safer way to do things, you might miss out, in the (often misguided?) attempt to optimize it further.

Just like your code might not use the appropriate data types, and thus be unable to rely on safety guarantees provided by the compiler. Plenty of projects don't use static analyzers, and thus miss out on all the checks mentioned in the article.

I'd avoid writing new projects in C family languages, but given that there's plenty of code written in those languages already out there, I'm glad that tools like the one described in the article exist.
It was a real contender to Windows, an actual OS rather than a bunch of cobbled together APIs pretending to be an OS. It was also super stable. And it got killed in the marketplace.
Made a "who's hiring" post a few years ago, looking for a presumably short-term contract worker. Met the co-founder of my next company. Win!
> If not, why disparage men who lift by calling them "bros" but women who keep fit "women"? If the writer called women "babes" or some "bro" equivalent, people would take him to task.

Babe is not a bro equivalent, and here you can see plenty of men who lift using the term:

https://www.google.com/search?q=bro+site%3Abodybuilding.com
Let's go on with answering the actual questions I posed - what you mean by equality, and how you propose to end systems of oppression.

So far you've proposed laws - which are a system of oppression, and your laws have nothing to do with equality either.

Going by your logic of who has controlled political and economic power - why not break it down by hair color and propose policies that make sure there is equality by hair color. Also eye color, and width of neck equality, very important.

I'm not sure how you're going to harmonize eye color equality with hair color equality, maybe we need machine learning to make it 'equal'?

I hope this example shows the lunacy of taking one trait and saying we now want to balance it out with another.

Let's have policy for equality of beautiful and ugly people too. If a beautiful woman gets to marry into more money/power than an ugly woman, we have to have equality there too.

I can go on and on, I hope I've shown how moronic the equality stance is. Ending systems of oppression is equally idiotic and I can devote another post to it someday.
Oh, I'm fine with anecdotes responding to anecdotes. I was just wondering what happened next.
I have a more thorough pinboard.in collection.

I discovered attrs here, which really has been very useful.
Haskell does not quite implement it automatically, but does support auto-generating it. Assuming all of of a type's component types support structural equality, a new type can support it by adding "deriving (Eq)" to the type declaration.

Ocaml has both structural and referential equality tests automatically. Unfortunately (for C-style programmers), structural equality uses "=", while referential equality uses "==".

From the Ocaml doc:

>On mutable types such as references, arrays, byte sequences, records with mutable fields and objects with mutable instance variables, e1 == e2 is true if and only if physical modification of e1 also affects e2. On non-mutable types, the behavior of ( == ) is implementation-dependent; however, it is guaranteed that e1 == e2 implies compare e1 e2 = 0.
You don’t actually need the phone nearby with the previous watches either, they will connect directly to WiFi if they need to - they just prefer to use the phone for battery saving.

I was kinda surprised the first time I got an iMessage on my series 2 when my phone was in airplane mode!
>I'm hesitant to share anecdotes so I'll keep them fuzzy, but a few things I've seen are along the lines of places removing a comedic joke item because it /might/ give a newcomer the impression that the place "normalizes fascism" (rationale was fear someone wouldn't understand it's a joke and thus let's err on the side of keeping the space sterile), and hiring/comp policies designed around explicitly not paying men more than woman for the same role (everyone's the same role when your company doesn't have roles...) regardless of experience, performance, market, etc. at the expense of acquiring or retaining outstanding talent. And look what happened at Google...

You know your situation better than I do, but based on your descriptions I'm with your company on these. You haven't painted a very sympathetic picture of whatever this joke item is, and as for comp, I mean, it seems pretty logical that men and women should be paid the same for the same role, no? That doesn't mean you can't hire/retain talent, you just implement a leveling system like every other company and promote high performers to higher levels.

As for Google, are we talking about the guy who was a dick and caused a massive PR problem and got fired for it? And if your claim is that companies are making bad business decisions and you're pointing at Google, doesn't their 750B market cap undermine the point?
Your local HAM radio group isn't being infiltrated by social justice activists. Tech orgs don't need a CoC and have functioned mostly fine since the beginning without them. CoCs are pure entryism (the most famous example being Opalgate).

Consider this line from the CoC:

>Comments that reinforce systemic oppression related to gender, gender identity and expression, sexual orientation, disability, mental illness, neurodiversity, physical appearance, body size, age, race, or religion.

Why even include the line 'reinforce systemic oppression' ? I guarantee that the CoC won't be enforced against someone saying stuff like "Kill all men" or "white men are garbage". They're a tool for expelling anyone who doesn't kowtow to social justice ideology.

One of the most widely used CoCs - Open Code of Conduct -specifically has a section about not accepting complaints regarding ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’
I think if I demystify it a bit for you, you will be able to appreciate it without the Haskell syntax. As the OP stated, you will need to understand what a monad is, though.

In the first section of code, the author is showing some Haskell operations and showing equivalent operations in the shell. The most important ones are return, >>=, and >>. You can think of return as a kind of constructor for the monad (It also has the name "unit" and I think the cool kids are calling it "pure" these days). If you have a value, x, "return x" basically gives you x contained in the monad. >>= (also called "bind") is the "monadic operator". It just means to run a function with the contents of the monad as the parameter. The function has to return a monad containing the return value (usually by running "return", which is why it was called "return"). The monadic operator is useful for chaining functions. It basically is used when you want to run a series of functions, using the output from one as the input for the next (basically the same as the shell pipe). >> is similar to >>=, but you don't use the output from the previous function as the input to the next function. Hopefully with that explanation, you can see how it matches up.

In the next code section the author is stating the three monadic laws. They are writing the laws in Haskell and the laws in shell commands. You can ignore the Haskell unless you just want to compare it to the Wikipedia article on monads. The shell commands are the interesting bits.

After that, there's no Haskell at all. It's quite an interesting observation, but it's not nearly as complicated as it might seem.
Mainly, early exposure to a wide variety of languages, libraries, and even more obscure projects that I wouldn't have heard of, or not as early. Also, a somewhat wider vocabulary for talking about many aspects of software.
That interpretation didn't occur to me, but it seems even less likely than internal migration within the US.

The rest of the world has 22 times the population of the US. It would take an enormous amount of immigration to the US by engineers to affect the collective brain power of the home countries to the extent suggested by the parent.
I would personally never host anything in the UK with their bizarre dragnet laws.
In mine, an elder would ask someone to finish it up and he would appoint someone to eat it, if he refuses, then to the next
> Who are you to clap for their achievements?

He's a skilled techie with a developed bullshit radar. That already puts him above an average layperson.

Over the last 20 years, there's been untold amount of hype from different sources, each wave of which wanted the public to believe that this time it's different.
It's because an observer collapses the wavefunction. Everybody thinks that Schrödinger was being metaphorical -- but no, he was actually talking about cats.
It competed with Windows 3.1, but had preemptive multitasking vs Window's cooperative. Often ran Windows programs faster/better than Windows. And pretty good MSDOS compatibility. For other reasons, it failed. It was the OS of choice for a lot of bank ATMs though.
This is dumb and "obvious" but the advantage of the layers of abstraction is that a lot of people share layers of abstraction. So the issues need to only be found once, so to speak

Of course you lose specialization and you end in "the image decoder supports some weird format which allows RPC " territory but most software can barely handle the high level bugs.

It's pretty crazy how something like Django exists, powers thousands and thousands of websites, but has perhaps less than a thousand contributors overall? Less than one person per project. Now that's an amazing payoff!
This is a nice bundle of things to install, however what is the end result here?

It seems to be an app that initializes web3 and saves a contract... a contract to do what?

We also have a decentralized tool, and people are building stuff like:

- Testing character-by-character realtime updates on a social networking dApp in a P2P mesh-network of devices: https://www.youtube.com/watch?v=C3akdQJs55E

- A 3D multiplayer VR game in the browser: https://www.youtube.com/watch?v=s_m16-w6bBI

And more! Note, this is not using Ethereum, but our decentralized tool: https://github.com/amark/gun , and here is a 4 minute and 40 LOC interactive coding tutorial that shows you how to get started: https://scrimba.com/c/c2gBgt4

So far CryptoKitties is the most interesting actual dApp I've seen with Ethereum. Does the op/parent github repo help enable building real dApps like above? I hope so.
Church Speaks: A Conversation with George Church
Agreed. The wide spread of experts who come out and give first hand accounts of the event/product being discussed adds a tremendous amount of value to the discussion on the site.

Discussion on this site is by no means perfect but it is miles ahead of the alternatives out there.
I think it could be useful to distinguish systems which are required to automatically explain every decision they recommend as a matter of routine, versus systems which are not, but still are required to support post-mortem investigation of serious failures.
Lectured at for over 2 years that I knew why I was rate limited. Got told for 2 years that I made “low quality” posts. It gave me a sense on injustice. You be the judge.
Or how about a pro affirmative-action person in deeply conservative areas? Plenty of people would say that it's a bigoted view. Not to mention, affirmative action is explicitly treating people better or worse based on their race, sex, or other aspect of their identity which is the literal definition of prejudice. [1] Some may say that careful application of prejudice is acceptable to account for past injustices (and I do, for example), but that does not change the fact that it is an example of prejudice.

Again, the fact that the majority of people would call a given viewpoint bigoted is just as much a statement about the environment that calls the view bigoted as it is about the view itself. Plenty of mainstream liberal views would be considered bigoted in other developed democracies (e.g. a lot of European countries don't practice affirmative action). Conversely, plenty of mainstream conservative views would be considered bigoted by liberals (I'm going to go out on a limb and guess that I don't need to give an example).

[1] "Prejudice is an affective feeling towards a person or group member based solely on their group membership. The word is often used to refer to preconceived, usually unfavorable, feelings towards people or a person because of their sex, gender, beliefs, values, social class, age, disability, religion, sexuality, race/ethnicity, language, nationality, beauty, occupation, education, criminality, sport team affiliation or other personal characteristics. In this case, it refers to a positive or negative evaluation of another person based on their perceived group membership" https://en.wikipedia.org/wiki/Prejudice
Looks interesting but they don’t seem to be targeting a non German speaking market?
Most responses here days by these companies is that this was a bug and we will fix it after being caught
I rather not try to dig up the best specific opportunity or lesson learned from my nine years here. HN promotes the positive and entrepreneurial mindset necessary to have an impact on the world, however small that impact might be.

Paul Graham set excellent example early on. Upward mobility from curious, resourceful, and already successful people deciding to help one another.
True 32-bit protected mode preemptive multi-tasking was the primary advantage over comtemporary windows at the time.

People were using Desqview in MS-DOS to achieve this level of multi-tasking in lieu of OS/2. OS/2 did it better. Windows 3.1 was cooperative multi-tasking, not even protected mode if memory serves.

Windows NT would be where MS tech caught up with IBM, OS/2 was out in the wild for quite some time already.

But the general public didn't embrace OS/2, Windows 95 effectively killed it.
Is it that bad? I hope Austin is something different.
OP is clearly talking about people he personally knows. I have to say I concur with OP, but that’s just anecdote.

Looking at 2016 voting habits in the Bay Area, Donald Trump got double digit election returns in every county. That’s not even factoring "never Trump" conservatives who voted 3rd party or stayed home. So there are a fair amount of conservatives here. For comparison there are more Trump voters in San Francisco than African Americans.
I think with a sufficiently advanced compiler pretty much any page of Go code would compile to a few lines of APL albeit in a different style. I have no source for this view though I can't imagine something in Go being more terse.
Historically, observation and even usage precede understanding. Like planetary motion.

NNs (don't call it "AI", it's just one approach) are simply in a pre-scientific phase.

As are our own brains.
I feel like a lot of people that aren't masculine men grew up seeing, both in their lives and as depicted in popular media, masculine men as bullies. As such a huge portion of society - women and men who aren't masculine - grows up with a negative opinion of masculinity.

This bias against masculinity has spread as women and femininity have become more prominent and powerful in society.

The feminine attitude is opposite the masculine in many respects, so it's natural that the two would dislike one another and come into conflict.

As our society shifts to one in which the feminine is embraced rather than rejected, and the masculine continues to be seen as a menace to society, it's considered more acceptable to mock "bros" than a female or feminine equivalent.

Edit: both the feminine and masculine aspects of personality have their strengths and weaknesses. Neither is really better than the other in some objective sense. Different situations call for different attitudes.
I'm not sure companies will forgo websites entirely, but "dumb" websites is a trend I think will continue. I doubt many people do anything on the Snapchat website, for instance.

I expect media to continue to move to TVs and dedicated apps, and the reasons outlined by the author for commerce to move away from the open web are somewhat convincing, as well. Looking at my own behavior, I usually search Amazon before Google when I want to buy something - take that trend further and searching the web, vs searching an app store, becomes less and less important for business.

In the happy version of this scenario, the web returns to being a great place for text and knowledge storage. There will be ads as long as there are eyeballs, but if the number of eyeballs drops again, does the reason to create clickbait and other purely-ad/eyeball-driven "content" drop too?

But compared to the author, I think it has a lot more to do with phones and devices, and the needs to create experiences aimed at them, than Google. Who wants to sit on the couch with a laptop instead of an iPad? Who wants to use a mobile website instead of a dedicated app? Even what looks like a super-thin wrapper (the Amazon app) is still a nicer experience than using amazon.com on a tablet or phone.
> Even better if it is open source, in contrast to GOOG/AMZN/MSFT offerings!

Most of the Azure Functions codebase is actually open source under the MIT License: https://github.com/Azure/Azure-Functions
Damore wasn't fired because he is a conservative. He was fired because he thinks women are inferior wrt tech and was very vocal about it.
It's not exclusive to Silicon Valley. Just go to any coworking space anywhere in the world, and you'll find a group of "serial entrepreneurs".
Thank you, will check it out. It did not come up during my (rather quick) search for alternatives.
Mainstream recommendation is to pull investments out of the stock market and move them into less volatile instruments as retirement approaches. Luck (in investmenrs ar least) should become less of a factor as retirement age approaches.
EndQuote.net – Audio Transcription based on neural network
When ever I hear about NYC subway i instantly picture the photos on imgur.
Tmate is life, I couldn't live without it. Such a fantastic piece of software.
On the web everyone is treated bad. I was referring to away from keyboard, more real life.
This seems like it may be appropriate: http://www.paulgraham.com/say.html
Forgot to mention some related project which falls into the 'clusters of VMs' running actors idea and might be interesting: https://dotnet.github.io/orleans/ and https://github.com/SpaceTime-IoT/erleans
How did you finally get a correct diagnosis? I am in the same boat, and in my 20s. I have been to some reputed doctors/institutions but none of them seem to be in the least interested in my records or medical history or symptoms beyond 5 minutes, more in veiled accusations of being either a hypochondriac or an uncooperative patient.
Not buying it from this guy.

He says things are going to move to conversational commerce? Alexa at best can re-order something that I've bought before. If I need a new product, the amount of information and comparison that I do (as well as checking reviews) doesn't lead well to a conversational model.

It's not like we walk into a B&M store and just talk to a salesperson. We examine the products, the packaging, the information presented about those products, we look around near by and see what else in a similar category is in the store.

Conversational commerce moves to an even lower bandwidth information transfer. With websites we can absorb way more info than we can with a chat bot. At best it will augment current experiences.

Maybe I'm wrong, and there are some products that are well suited to this model, but I'm failing to come up with any.
That's what gets me. In SF you have a huge liberal majority and is a wealthy city. This is in a state with a liberal majority.

Yet the social problems in SF are probably some of the worst in the US.

It's pretty shocking.
I've been through a lot of web communities. HN is easily the most intellectual, respectful, and diverse. The simple reason is that we like to be here!

In the same way that it takes a village to raise a child, your understanding of the world around you is drastically deepened by various points of view. I don't expect to find a better village anytime soon.
Re drug discovery, often times in “rational” drug design, medicinal chemists try to make small molecules that bind snuggly into a binding pocket on the protein. Having the structure of the protein aids greatly in that process.
I have a hypothesis: perhaps we should interpret "would anyone like the last pork chop?" as "Does anyone need the last pork-chop?".

Scenario A: the Provider offers the last piece to the group. If everyone is sufficiently satisfied and grateful for what they've already eaten, it allows them to express that gratitude and the Provider gets to enjoy being magnanimous; a small-fee to pay for the meal you've just enjoyed!

Scenario B: the Provider offers the last piece to the group, and one who may be in need is allowed to 'save face' by not having to say "I need it, I'm starving!". If this need is genuine (it would likely already be known to the group), the Provider would probably have no problem with this, and it causes the minimum amount of discomfort to the person in need.

Scenario X: You offer the final piece, and some opportunistic vulture swoops in with his fork and says "Thanks bro!". You have now learned to never, ever invite him to eat again.

Edit: offering to split the last chop is slightly beneficial in the short-term (yummy pork), but no one really gets to reap the non-tangible rewards described above to the greatest effect.
I get to feel very stupid, but in a comforting, always learning way. I have a PhD in HPC and HN always humbles me with the depth of knowledge contained by the community.
I totally agree, Black Book of Communism numbers aside. I think that having someone who's aligned themselves (again, tacitly) with those who explicitly make calls for and white supremacy makes it hard for people to distinguish.

> Arguably, this could just as easily be applied to mainstream liberal views on the danger (or lack thereof) of nuclear power, GMOs, etc.

Yeah, it's obnoxious and dangerous there, too.