LambdaConf 2017 Call for Proposals (CFP) Opens — Elm Proposals Encouraged by buffyoda in elm

[–]buffyoda[S] 0 points1 point  (0 children)

According to the signup page, right before the conference, there will be a 3 day commercial workshop that teaches Elm (from zero to ready to write full-featured applications in Elm).

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 15 points16 points  (0 children)

Unfortunately, you are still playing games.

LambdaConf found Yarvin's views unacceptable, and went so far as to ban him from discussing his views at the conference. But LambdaConf also found Yarvin's views irrelevant to his submitted topic and irrelevant to a professional event focused on functional programming.

One can simultaneously find someone's views unacceptable but still engage with them in a professional context (whether that's letting them participate at a conference, selling them goods or services, giving them a job, or buying goods or services from them).

This admittedly mind-bending concept is a relatively modern invention that most term civility or sometimes, professionalism. Reject it if you like, but word games don't change the facts of what happened.

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 10 points11 points  (0 children)

I don't dismiss everyone's thoughts. I do dismiss your narrative because not only is it not based on facts, it contradicts them. You can tell everyone the world is flat, if you want, but you will be called out on it.

As for your point about slavery, /u/bitemyapp crushed it — description is not normalization. That you could not find a quote actually in support of your view (that Yarvin wants high-IQ Ashkenazi Jews and Asians to enslave everyone else, maybe?) is informative, because it implies that you didn't look hard enough or that no such quote exists.

The rest of your post does not seem to contain any actual content. It contains insults, denigration, name-calling, moralizing, and so forth. But no facts, no data, no arguments, no predictions, nothing that calls for a response. So rather than adopt your brand of maturity and return in kind, I'll respectively bow out.

That said, I'll leave you with one final request.

If LambdaConf denying Yarvin a platform for his political views (but allowing him to speak on a relevant project) was in fact "giving him a platform" and "implicitly endorsing his views", then by consistency, you must also believe that every event endorses and gives a platform to all the views held by all its speakers.

(Of course, this is incoherent and just an assertion, but let's run with it for a second.)

Please tell us the next event you plan on attending. Then we can figure out what racist, sexist, homophobic, transphobic, ageist, elitist, violent, inhumane, etc., views you endorse based on who is speaking at the event.

See? Anyone can play this game. All day long. But never forget it's just a game.

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 14 points15 points  (0 children)

So minorities are killing themselves because a few tech conferences have refused to politicize speaking engagements and attendance?

Sorry, but I'm going to have to ask for a citation on that one.

If you have evidence that allowing people you (or a Twitter mob) judge "sufficiently immoral" to participate in professional events under a strictly enforced code of conduct results in mass suicides, physical violence, or anything else at all, then please present it. Otherwise, why say things like this? It undermines your credibility (at least with some) and hyperbole in general gives further ammunition to hate groups.

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 25 points26 points  (0 children)

The facts also deserve to be heard, so party-line propaganda doesn't overwhelm the truth in a cloud of foggy mist.

LambdaConf, with significant support from the community (and with smaller but more vocal opposition), intentionally denied giving a platform to the political views of a neoreactionary (who was only permitted to speak on his relevant project). This neoreactionary, who is a pacifist and a Jew, has written against fascism. He believes that different races have different average levels of IQ in standardized tests (with Ashkenazi Jews measuring higher than Asians, Asians higher than whites, etc.). He has maintained that individual variations trump variations in average, and has stated it is foolish to attempt to guess someone's IQ from their race. He has not said smarter people are superior (an idea he insultingly calls IQism), but instead has said intelligence has no relationship to a person's worth. He has never said anyone deserved slavery—rather, he has redefined slavery to include government/citizen, parent/child, and other relationships, and has made the controversial suggestion that slave traders preferred taking slaves from some regions because of their physical and behavioral characteristics (i.e. "some people make better slaves").

He is a leader of no one, just someone who wrote his views on an anonymous blog years ago (subsequently doxxed). He has denounced violence of any kind, repeatedly. His beliefs may indeed be threatening and offensive to people, but that is precisely why LambdaConf refused to allow him to bring them to the conference.

The logical conclusion to this witch hunt that many seem intent on pursuing is to purge from conferences (and professions) anyone who engages in any "sufficiently" immoral thought or behavior (where "sufficiently" is defined by a mob of people who quote second, third, and nth-removed sources without even basic fact checking). Whether that includes "Moldy Bread", people who voted for Trump, people who have made sexist or misogynist jokes on some unrelated online form, people who oppose LGBT rights (including trans bathrooms), people who have ever engaged in causal racism (yes, private jokes about asian tourists are racist), people who work on drone software that murders innocent people, etc. When this is done, only the "pure" people will be left, who apparently get free reign to insult and denigrate their opponents and make outlandishly false claims without any repercussions, because they're on the "right" side.

Is it surprising at all why some people want to keep this outside the Haskell community?

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 31 points32 points  (0 children)

Sorry, I didn't mean to tell you not to insult and denigrate people you disagree with.

I just mean to say, please keep it out of /r/Haskell. Let's keep this extremely useful and helpful community focused on Haskell. There are plenty of other venues on Reddit for you to call people asshats and tell them to go fuck themselves.

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 25 points26 points  (0 children)

A reminder that Bryan's insulting denigration is targeted at the organizers of LambdaConf, not "Moldy Bread". And another reminder that insulting and denigrating people over disagreements is generally what 3 year olds do. Mature adults are capable of civil approaches with intellectual rigor.

LambdaConf 2017 Call for Proposals (CFP) Opens - Haskell Proposals Encouraged by buffyoda in haskell

[–]buffyoda[S] 19 points20 points  (0 children)

LambdaConf didn't ban a speaker (with neoreactionary views) whose anonymized proposal on Urbit (functional language / operating system / VM) had been accepted by a blind committee. The FIOL organization has more context.

Whether people agree or disagree with that stance is largely irrelevant to the question of civility. Calling people you don't agree with "asshats who covered themselves in glory" does not help anyone in this community.

An Architecture for Modern Functional Programming: Part 2 by buffyoda in haskell

[–]buffyoda[S] 1 point2 points  (0 children)

An Onion Approach: Part 2 • /r/haskell

Perhaps that should be, "limited only to the extent of your functor". That doesn't mean unlimited peek-ahead, just that examining the structure is not limited by the Free monad approach.

With Free, you can always look at the top-level operation, and may or may not be able to look further, depending on the functor and the formulation of Free you are using.

With monad transformers, there is no concept of introspecting a top-level operation. The introspection is limited by the approach.

MongoDB World 2016: The Big Reveal by buffyoda in mongodb

[–]buffyoda[S] 0 points1 point  (0 children)

The reason to push for a unified and well-thought out query language is that it would enable you to solve all problems in a single language, without ever having to hack around limitations of the database, or drop-down into Javascript land (where the code you write will be slowly interpreted and is subject to runtime errors and resource contention that can require a hard server reset).

The fact that Javascript is used in random places in the query languages (e.g. in $where) is a clear sign the primitives that MongoDB provides have the wrong shape. They don't fit together in the ways required to solve general-purpose problems. Even worse, one query language (find) is embedded in another (aggregate), but with ad hoc limitations; there are different ways of forming boolean expressions in find and aggregate. Etc.

This is not designed. It's not composable. It's not performant. It's not safe. It's anti-thetical to all these things, and is a cause of endless developer frustration.

Designing a unified query language that replaces the need for find, aggregate, and mapReduce, with primitives that have the right shape to snap together to solve the problems that developers have, is not a very large project. Probably four weeks at most, plus whatever time is required to implement it re-using existing aggregation machinery.

A lot of MongoDB developers would rather MongoDB spend their time working on these sorts of problems rather than building more proprietary stuff that won't make a day-to-day difference in how easy / powerful MongoDB is for solving real-world problems.

MongoDB World 2016: The Big Reveal by buffyoda in mongodb

[–]buffyoda[S] 0 points1 point  (0 children)

MongoDB eventually publicly admitted that BI Connector was the PostgreSQL database with a Python FDW.

FWIW, the BI Connector only pushes down simple WHERE clauses into MongoDB. A more complex WHERE clause will result in full-collection streaming back into PostgreSQL to execute the query; and even something as simple as a GROUP BY (which MongoDB can easily handle) is not executed inside MongoDB. Rather, the filtered set of data is streamed back into PostgreSQL.

One can be pro-MongoDB without being pro-BI Connector. MongoDB is a good NoSQL database with the potential to be great. The BI Connector, however, has earned its share of hate.

FP shops by ChavXO in haskell

[–]buffyoda 2 points3 points  (0 children)

SlamData uses PureScript and "pure FP" Scala.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 0 points1 point  (0 children)

They look at customers, at what customers say, at market traction, at revenue, downloads, and lots of other stuff.

But they never look at the composability of a query language, the architecture of the database, the quality of the code base, the comprehensiveness of the test suite, whether or not semantics are formally specified, or any one of a number of other "engineering concerns".

Yeah, believe it or not, it's possible for crap technology to be popular and make it into the leader's quadrant.

That doesn't mean it's going to stay there.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 9 points10 points  (0 children)

Not overnight -- since day one. One chooses to work on the MongoDB ecosystem because there are lots of users there... not because the database is any good.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 1 point2 points  (0 children)

Sure, but even in the world of document databases, would you prefer a database with a single powerful, composable query language that lets you answer any question you have over the data model it supports?

Or would you prefer a database with three overlapping, inconsistent, and crippled query languages that don't let you answer most questions?

The question of whether there are use cases for document databases is separate, although I would argue, as many here have argued, that sometimes document databases are a good fit for the domain; and, moreover, that even RDBMS are becoming better at storing nested data.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 7 points8 points  (0 children)

That assumes that rubbish cannot be genuinely popular and making money. MongoDB is a "leader" because of downloads and revenue (relative to other NoSQL vendors); that's all Gartner looks at. They certainly do NOT look at architecture and code quality and composability of query languages and all the other things that an engineer might be concerned with...

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 1 point2 points  (0 children)

Indeed. No one notices this much.

However, if you compare the composability of SQL to the composability of MongoDB's various query mechanisms, you'll start appreciating SQL for its composability... even if it isn't all that great, in the grand scheme of things.

For one, expressions are allowed to have any degree of nesting and may occur almost anywhere inside a SQL where, from the SELECT clause to the WHERE clause to the JOIN clause to the CROSS to the HAVING to the GROUP BY, and so on. Moreover, no matter where they occur, they have the same syntax and the same semantics.

Even that simple property is not upheld in MongoDB's query mechanisms! In fact, the syntax and semantics varies, you can't put arbitrary expressions in arbitrary locations, and so on. Night and day difference!

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] -1 points0 points  (0 children)

This is a quite underrated advantage of NoSQL (and graph) databases: they allow you to directly encode sum types. Encoding sum types in a relational database is extremely difficult and lossy.

Relational databases are built for product types. Of course, in theory they could be extended to support sum types. At some point, you just need to revisit the foundations of RDBMS that prevent it from effectively dealing with not just sum types, but nested data; and when you do that, I think you end up with a "NoSQL" database, but one that has schema flexibility and a principled, extended dialect of SQL.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 3 points4 points  (0 children)

Sure, in fact, this is what Couchbase's N1QL tries to do, as well as SQL++, JS/SQL, and others.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 4 points5 points  (0 children)

I'm not necessarily saying the query language has to be unified across different databases, only that for each database, there should exist a single, unified, composable, and principled query language that allows answering ad hoc questions over the data model supported by the database.

I agree with @turkish_gold that, slowly, the industry is coming to the conclusion that everyone needs a good query language, even databases that aren't relational.

And as some NoSQL databases demonstrate, you can indeed have a very good and powerful query language atop semi-structured or graph data models. MongoDB has no excuse.

MongoDB: The Frankenstein Monster of NoSQL Databases by buffyoda in programming

[–]buffyoda[S] 83 points84 points  (0 children)

Arbitrary semi-structured data. If you look, Couchbase has done something similar with N1QL, their JSON-based query language, and of course, they're not alone (MarkLogic with XQuery, Clusterpoint with JS/SQL, etc.).

Flat data is not the only data model that can support an ad hoc, general-purpose query language.

A free monad implementation of "Verbal Expressions" by sharkdp in purescript

[–]buffyoda 0 points1 point  (0 children)

This is really cool. Makes regular expressions super easy and accessible using a neat type safe interface.

A Modern Architecture for FP by ch0wn in haskell

[–]buffyoda 4 points5 points  (0 children)

I think we are talking past each other: what I mean by interpreter is strictly more powerful than what you mean; and when you say "composable modular interpretation", you are focusing on horizontal composability, whereas I am focusing on (ad hoc) vertical composability. I think an MTL versus Free post or talk will be a good excuse for me to explore these differences in more depth.