HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
The Pervert's Guide to Computer Programming Languages - SXSW

Vulk Coop · Youtube · 216 HN points · 12 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Vulk Coop's video "The Pervert's Guide to Computer Programming Languages - SXSW".
Youtube Summary
What is the right programming language for you? Traditionally programming languages are created to concisely model a specific problem, or to maximize expression while solving a broad range of problems. Psychoanalysts have noted that many decisions we make as humans are not based on rational premises, but rather are based on fears and desires that stem from upbringing and our societal ideologies. Watson uses the psychoanalysis of Lacan and Zizek to critique the most popular and trendy programming languages in order to determine if there are ulterior motives for the origins of these languages and how they fit into our everyday libidinal economy.You can find the audio for talk here: http://bit.ly/2o2tWQD
The presentation is here: http://bit.ly/2c6Hfcg
The extended paper with references is here: http://bit.ly/2ndx9si
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
How about a taxonomy by associated sexual pathology?

https://youtu.be/mZyvIHYn2zk

Sep 19, 2022 · m3047 on Java’s Cultural Problem
I haven't programmed in Java in many years, except for making DAGs for Storm and a authorization metalibrary that none of the "real" Java programmers liked. Paradoxically the most sccinct statement of dislike concerned my choice of arraylike class: "THAT'S WRONG!". The Java programmers had source control, just like the rest of us. But their Maven configs weren't under source control, and they wouldn't help the rest of us with ours. I've concluded that I'm indifferent to Java, but not so good with Java programmers.

There's a big ball of puzzling contradictions in the above.

Have you heard of Lacan or Zizek? Well. Poetically speaking, I'll paraphrase Tom Lehrer and opine that "Java programmers must feel like a Christian Scientist with appendicitis". In my opinion: remember that.

They've build a lot of ritual around notions of control and deliberativeness (that array problem). They're Catholic or Orthodox, really. The JVM is supposed to be "safe", and I have to ask: does the communion wine really turn to the blood of Christ?

My father was a psychiatrist. I am well aware that Dr. Tim Leary was a pioneer in personality diagnosis, having found "The Interpersonal Diagnosis of Personality" on my father's bookshelf. I analyzed precinct level voting patterns, and they exist; but the question "is it something in the water, or new car smell?" remains vexing and unsolved.

There is something that happens when people program in different languages with different tools, especially in groups. It's not just languages: how does Docker culture compare to NanoVMs on the Leary radar chart?

But what I have for you is a (hopefully) playful personality diagnosis of some of the major programming languages. Make some popcorn. This is for entertainment purposes, but maybe it'll give you something to think about.

https://www.youtube.com/watch?v=mZyvIHYn2zk

docmechanic
Thank you for the best guffaw of the day.

'Poetically speaking, I'll paraphrase Tom Lehrer and opine that "Java programmers must feel like a Christian Scientist with appendicitis".'

Since the author is open up front about their OCD issues, this talk immediately came to mind. It's a bit of an elaborate tongue-in-cheek joke, but I found it personally helpful for thinking about why a choose a language. Pervert in this context does not mean sexual deviancy. In the Lacanian sense, a pervert is a person who enjoys being a vessel of the rules.

The Pervert's Guide to Computer Programming Languages - SXSW

https://www.youtube.com/watch?v=mZyvIHYn2zk

    The Pervert's Guide to Computer Programming Languages 
    Psychoanalysis and Software 

    What are the issues with selecting a programming language?
        • Which programming language should we choose? 
            - Just saying: 'use the right tool for the job' begs the question
        • Why are there over 1000 programming languages? 
        • How do we critique a programming language? 

    • Why do language designers create new programming languages? 
        • Rational reasons 
            • Maximize expression while modeling: 
                • a specific problem 
                • a broad range of problems 
    • Psychoanalysts: "Many decisions are not rational" 
    • Programming language choice can be rational, non-rational, or a mix 
    • Use Jacques Lacan and Slavoj Zizek's critical theory 
        • Critique non-rational decisions 
        • Discover ulterior motives (ours and others) 
        • Explain the diversity of language options 

    Jacques Lacan 
        • French psychoanalyst and philosopher 
        • Extremely cryptic 
        • Preoccupied with desire and enjoyment 
        • Popularized the mirror image, the Big Other, and the triad of the Imaginary. the Symbolic. and the Real 
        • Believes all humans fall into the three basic mental structures of psychosis, perversion, and neurosis 

    Why the 'Pervert's Guide'? 
        • Based on the Pervert's Guide to Ideology by Slavoj Zizek
        • Pervert is a person who enjoys being a vessel of the rules. 
        • Zizek calls the analyst's method of discourse the pervert's discourse
        • The analyst sits in the position of the object of desire for the subject. 
        • The analysand projects his or her ideals onto the analyst (transference) 
        • When we analyze programming languages we are operating in the analyst's (i.e. pervert's) discourse.
mwattsun
I re-watched it since I am once again thinking about programming languages

17:15 "Slavoj Zizek likes to say that obsessional activity is doing something in order to do nothing" which to me sounds like pursuing a goal without ever wanting to achieve it, liking the pursuit more.

41:10 C++ is an obsessive language

So by this measure, Izzy Muerte developed a effective strategy for themselves, since they are a self-described obsessive working in an obsessive language and says they wasted 10 years of their life on C++ while accomplishing very little. So, success?

I laughed at this point at 34:55 "Closure is what I call the ultimate perversion language" because Rich Hickey comes across to me as a subversive disciplinarian (no offense intended)

Dec 22, 2021 · 2 points, 0 comments · submitted by okareaman
I don’t think masochism is inherently negative and I did not mean to insult. For that I apologize. I was trying to characterize in a humorous fashion a difference between what I perceive to be the stated aims of the language and the experience of actually writing it.

It was also an oblique reference to this talk which is one of my favorites: https://youtu.be/mZyvIHYn2zk

> There are some famous examples

As someone new to the ecosystem of Common Lisp and in general a bit sadist (ref https://www.youtube.com/watch?v=mZyvIHYn2zk), could you share which ones these are so I can enjoy not understanding them at all?

Edit: I see now after I made my comment you added examples, thanks :)

p_l
There's a long story of macros wrapping DEFUN/DEFGENERIC/DEFMETHOD/DEFCLASS. I'll admit I even used some for shortcuts in declaring types and constraints.

But their use isn't that widespread, and in practice you can pretty quickly get used to the rare case that needs you to understand them.

I think the most complex is stuff that requires code-walkers and involved things like macros for CPS transformers of code.

See also 'The Pervert's Guide to Computer Programming Languages', specifically the "Fetishistic Languages" part:

https://youtu.be/mZyvIHYn2zk?t=2179

dnautics
You queued it to a very inauspicious place, because of all of the examples in the talk (many of which are quite good) the elixir example is not accurate for the elixir community (in 2020, anyways)
Hi Kyle: I did know the answer but I just had to ask! ;) Come drop in on the epic Emacs -vs- VI battle going on in the Bill Joy thread. VI can't hold a candle to Emacs when it comes to teledildonics. You testimony might be able to convince a few lost souls to cross over. Emacs is ALWAYS in insert mode.

The way you insightfully psychoanalyzed the personalities of programmers of different languages in your deldo demo suggests to me that you might enjoy W Watson's "The Pervert's Guide to Programming Languages":

https://news.ycombinator.com/item?id=22910702

https://www.youtube.com/watch?v=mZyvIHYn2zk

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

frob
> Emacs is ALWAYS in insert mode.

You, sir, have won the internet today.

May 05, 2020 · qu4ku on A look at modern PHP
If you want to know why-the-hate watch this[1] talk — one of the best and eye-opening talks I've ever heard.

It has nothing to do with the language itself and everything to do with the user of the language.

[1] The Pervert's Guide to Computer Programming Languages https://www.youtube.com/watch?v=mZyvIHYn2zk

May 03, 2020 · DonHopkins on History of Logo
Hey, how about throwing in a perverted, fetishistic, masochistic programming language like FORTH, too? ;)

Where do you think Logo and Snap fit into the three basic mental structures of psychosis, perversion, and neurosis, as W Watson describes in "The Pervert's Guide to Programming Languages"?

https://news.ycombinator.com/item?id=22910702

https://www.youtube.com/watch?v=mZyvIHYn2zk

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

I have hope that Snap! has transcended the self-indulgent Turing Tarpit of Melancholy Languages like Scheme, Lisp (which spawned Scheme during a hysterical event), Smalltalk, and languages that never were, as described on the penultimate page. ;)

Snap! strikes me more as a Hysterical language, frantically pursuing the object of desire, in pursuit of the perfect syntax.

>Hysterical Languages: Hysterical development lends itself to languages that facilitate endless refinements in the code base. The delivered code is never good enough, not merely because of pragmatic reasons but often because of ascetic reasons. The final goal of capturing the elusive domain jargon [59] seems just around the corner, where just one refinement may perfectly represent the domain. Within the hysterical languages there can be two extremes. One extreme is to work towards the capability to easily represent any aesthetic. In this extreme the work and enjoyment are in the development of the language itself [60]. The other extreme is to consciously implement the aesthetic using the language as is [61]. This extreme bends the language to look more aesthetically pleasing. Somewhere in between are refinements to extremely large code bases that must stay available.

>[59] “The overhead cost of all the translation, plus the risk of misunderstanding, is just too high. A project needs a common language that is more robust than the lowest common denominator. With a conscious effort by the team, the domain model can provide the backbone for that common language, while connecting team communication to the software implementation. That language can be ubiquitous in the team’s work.”, Evans, Eric (2003-08-22). Domain-Driven Design: Tackling Complexity in the Heart of Software (Kindle Locations 829-832). Pearson Education. Kindle Edition.

>[60] “Also, I’m a great fan of evolving as opposed to just starting out new. You might fall in love with one particular idea, and then in order to implement it, you go create a brand-new language that’s great at this new thing. Then, by the way, the 90% that every language must have, it kind of sucks at. There’s just so much of that, whereas if you can evolve an existing language — for example, with C# most recently we’ve really evolved it a lot toward functional programming — it’s all gravy at that point, I feel.”, Biancuzzi, Federico; Chromatic (2009-03-21). Masterminds of Programming: Conversations with the Creators of Major Programming Languages (Theory in Practice (O'Reilly)) (Kindle Locations 7017-7021). O'Reilly Media. Kindle Edition.

>[61] “A big part of the modus operandi of the Ruby community is a more fluent approach— trying to make interacting with a library feel like programming in a specialized language. This is a strand of thinking that goes back to one of oldest programming languages, Lisp.”, Fowler, Martin (2010-09-23). Domain-Specific Languages (Addison-Wesley Signature Series (Fowler)) (Kindle Locations 473-475). Pearson Education (USA). Kindle Edition.

toontalk
Regarding hysterical languages and aesthetics there is the school of thought that small yet very expressive kernels are the most aesthetic. I recall a discussion in the early 1980s with Alan Perlis who claimed APL was a diamond and Lisp was a ball of mud. But it is easier to make things out of mud than diamonds. I also recall a discussion with Seymour Papert (circa 2005) about the next generation Logo. He claimed that one first needs to decide if the design should be driven by engineering or mathematical aesthetics. Sadly, there never was much progress designing the next Logo.

People's taste in programming languages is coloured by their first language(s). But Logo was designed to be a first language, so it shouldn't suffer from people's expectations that it do things like other languages.

To its credit, Clojure is also a Sadistic Perversion Language that "Injects itself into the corporate scene, then subverts from within."

https://news.ycombinator.com/item?id=22910702

https://www.youtube.com/watch?v=mZyvIHYn2zk

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

Apr 18, 2020 · 214 points, 123 comments · submitted by commons-tragedy
vesche
From the video...

Psychopath Languages: Javascript, PHP, VBA, and SQL

Masochist Languages: C, Assembly, Ada, Brainfuck, and Factor

Sadist Languages: Perl, Clojure, Erlang, and Regex

Fetishistic Languages: Erlang, Smalltalk, Elixir, and Factor

Obsessional Languages: Java, C++, Haskell, Scala, Go

Hysterical Languages: Python, Ruby, C#, Prolog, Elixir, and Matlib

Depression Languages: COBOL

Melancholy Languages: Lisp, Scheme, Smalltalk

wanda
As someone who has primarily worked with Perl, JavaScript, SQL during their career, and who has a penchant for regular expressions, I'm a sadistic psychopath.

Super.

I mean I've been told I'm pretty unemotional, but sadism would definitely be a new development.

pstuart
> sadism would definitely be a new development

I guess that might depend upon your regexps and how gnarly/undocumented they are :-)

thyrsus
Was it not perl that introduced the documentation feature to regexp (the extended "x" flag)?
raiph
I think Perl got it in 99 or 2000. The only other two possibilities are Ruby or PCRE. But I think they were following Perl rather than leading at that time.

----

Raku's reinvention of regexes threw away the x flag. Instead comments are always supported. And whitespace is insignificant.

----

Except when one explicitly asks for it to implicitly be significant. Imo this simple maneuver is shockingly sweet, the sort of thing I'm glad Larry Wall saw, with his usual piercing clarity, is brain-dead obviously precisely the right thing to do:

    rule declaration { <declarator> <name> '=' <value> }
The above declares a `rule` which is like a regex except it doesn't backtrack between atoms, and, if there's whitespace between atoms, it treats that as a tokenizing boundary. So, for example, whitespace can appear in the input where it appears in the pattern, and tokens corresponding to the atoms (`declarator`, `<name>`, etc.) can't run into each other unless one is comprised of alphanumerics and the other non-alphanumerics. This is precisely how humans expect things to work; `let foo` must have a space between `let` and `foo`, but `let foo=42` is OK because `=` is a non-alphanumeric. Simple. Sweet.
rhizome31
Me too, but I'm also a hysterical fetishist. So the more programming languages you use the more insane you get! Seems pretty accurate ;-)
DonHopkins
Remember, he's using the Lacanian / Zizekian definitions of terms, which are a lot different and more nuanced than their ordinary definitions, so you're probably the "good kind of sadist". ;) Lacan ironically classifies Marquis de Sade as a masochist!

From the extended paper:

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

Pervert, in the Lacanian definition, actually means a person who enjoys being a vessel of the rules. Zizek identifies the method of discourse that the psychoanalyst uses as the pervert’s discourse, because the analyst sits in the position of the object of desire for the hystericized subject. This means that the analysand [the person being analyzed] projects their ideals onto the analyst during a process of questioning known as transference. When we use analysis to determine why we use a programming language, we are operating in the analyst's discourse. It is important to have a basic understanding of Lacan’s terms (such as perversion) in order to understand the cultural critiques of Slavoj Zizek and other Lacanians.

“Thus, in psychoanalysis "perversion" is not a derogatory term, used to stigmatize people for engaging in sexual behaviors different from the "norm."”, Bruce Fink. A Clinical Introduction to Lacanian Psychoanalysis: Theory and Technique (Kindle Locations 2460-2461). Kindle Edition.

“The Other's desire or will is accepted by the masochist instead of the law, in place of the law, in the absence of the law. As Lacan mentions, the Marquis de Sade (better known as a sadist, but in this instance manifesting decidedly masochistic tendencies) pushes his mother-in-law, Madame de Montreuil, to the point where she expresses her will that Sade be punished. It is her desire or will that has to serve Sade as a law. Not the law, but a law.”, Bruce Fink. A Clinical Introduction to Lacanian Psychoanalysis: Theory and Technique (Kindle Locations 2805-2808). Kindle Edition.

bryanrasmussen
Obviously Lisp, Scheme, and Smalltalk are not melancholy languages because you are only melancholy about them when you are not using them.

They are perhaps narcissistic languages, or obsessional.

travisgriggs
Well said. Used to be a die hard Smalltalker (with a strong appreciation for my Lisp (esp CLOS) cousins). Now I get by doing Swift, Kotlin, Python, and a bit of embedded C. Life feels dirtier now.
rfrey
I wonder what moved Clojure from melancholy to sadism? Hickey's glasses, probably.
closeparen
The slide says, "Injects itself into the corporate scene, then subverts from within."
DonHopkins
FORTH is definitely a masochistic language by every definition.
xzel
Matlab should be in the Hysterical, Psychopath, Masochist and Sadist categories. Worst time I've ever had writing something non trivial was in Matlab. I once ran into a bug in their GC that was apparently 5+ years old and had to time line to fix. For context this was about 8 years ago and I was asked to do it in Matlab for a neuroscience lab I was working for. I would have chosen C++ or Python and interfaced with the C++ binaries.

Edit: Misread the above post. He said Matlib not Matlab. Not sure if that was a type or just referring to the plotting library, but my feelings towards Matlab still stand!

wolfgke
Where do Nock and Hoon belong (from Urbit, for those who are out of the loop)?
bitwize
Subjecting Urbit to Lacanian/Žižekian psychoanalysis is like feeding Zippy the Pinhead quotes into ELIZA, just without the computer.
vrotaru
They both out of the chart!
samatman
someone flagged my sincere answer and they should be ashamed of themselves.
tomrod
Delusions of grandeur? /s
invalidOrTaken
Both require either pitiful naivete or admirable courage...wherever those go.
samatman
Hoon is a sadistic language implemented by a hysterical personality.
rhizome31
Not sure why Erlang is in the sadist category, along with Perl and Regexp, since it's one of the most readable language I've encountered. I get the fetishist part as it emphasizes a specific paradigm but sadist seems unfair. It might be because the syntax is slightly unusual but it's in fact quite simple.
wwatson
The sadist (causing anxiety to the other in order to get the other to announce the rules) wants the other to admit their impotence (in the way that the other develops software). The erlang community wants the other to admit that they can't develop software that has nine nines of availability.
TheOtherHobbes
I'd have thought C++ was the poster-perversion for this. The community wants users to admit they can't develop software at all.
DonHopkins
Isn't it sadistic the way Perl and Bash are so ideal for developers gaining control over their employers and ensuring job security by making themselves indispensable (forcing their employers to admit their impotence of firing them) by writing obscure unmaintainable code that only they can understand and modify?

You can do that in any language, of course, but Perl and Bash are are optimized for it.

While the other hand, Java is designed to appeal to management by making software developers fungible easily disposable worker-bees.

b2gills
I've heard about a merger between two companies.

One use Java, the other used Perl.

At some point both teams were told that they had to add a particular feature.

The Perl team was done well before the Java team.

This was a story from one of the Perl trainers. I don't remember enough about the rest of the video in order to find it online.

lizmat
If we're talking about the same thing: this was about merging their databases, so that either could sell the other company's inventory. Both had an XML-interface for affiliates. It took the Perl team about 3 weeks to be able sell the other company's inventory using the XML-interface. The other company at that point hadn't agreed on a date for a initial design meeting yet.

By this, the company of the Perl team almost doubled its turn-over in 3 weeks. The other company ceased to exist a few years later, with most of its staff integrated in the company with the Perl team.

WesternStar
Its interesting to me to reclassify language schisms slash internal wars in this context. The C programmers(masochists) vs the C++99 programmers(Obsessives) vs C++11 programmers(Obssessives who want to move to Hysterical). The Raku vs Perl split as a move toward sociopathic behavior. The resistance in go to generics as an aversion of the masochistic to the hysterical. Its super fun.
jdoege
I view the Raku vs. Perl split as schizophrenic conflict resolution.
WesternStar
Private equity has been making millions selling the parts of a company for more money than the whole. I don't see how that split is any different.
xenihn
Where's Rust and Swift?
travisgriggs
And Kotlin as well?
deepsun
Look how beautiful and yet strict it is, and how other java folks suffer!

Sadistic hysteric it seems.

pron
I'd put Rust in the obsessional camp and Swift in the hysterical. I'd put Haskell in both camps.
jamil7
The way the community talks about doing things the "swifty" way is very reminiscent of the way the python community talks about the "pythonic" way of doing things, I've used both languages extensively so maybe I fall into the hysterical camp. Swift falls a little into the obsessive category too.
ngcc_hk
Miss APL, (or K etc.), Pascal and Fortran and Algol 68 ...
dleslie
Having watched the video, read this post, and written serious amounts of non-trivial code in Javascript, PHP, SQL, C, Assembly, Perl, Regex, Java, C++, Python, C#, Ruby, and Scheme...

I don't disagree.

The "melancholy" hit especially hard.

m3047
I think romantically of MACRO-32 and the VAX silicon it ran on. (I have a CVAX2 chip pressed into a luggage tag somewhere around here...)
pdr2020
I disagree on the Javascript count, specifically modern, statically typed Javascript.

I might choose another language for perf characteristics that JS cannot match, but otherwise Javascript is a truly expressive lang right now.

None
None
chx
Do you mean TypeScript / Flow / Dart or did some version of ECMAScript I am unaware of introduce a type system?
type0
> The "melancholy" hit especially hard.

Romanticism of Lisp: how awesome it could have been if I were writing this on a modern Lisp machine.

dleslie
I use Emacs in no small part because of elisp... Oh dear.
covidacct
This talk is an amusing aside. I think the other posters are bit harsh for a talk that's clearly meant to be taken in that way.

If you're interested in actual psychology of programming languages, there is a small but growing research community at the intersection of programming languages and software engineering. The focus is mostly on usability research a la human-computer interaction, but there's also work on community psychology, etc. applies to programming languages and software engineering. See, for example, https://ieeexplore.ieee.org/document/7503516

joe_the_user
Well, various parts are taken amusingly but I think this is aiming to be a serious inquiry into the psychology of programming language choice, which a bit different from the psychology of actually programming. Language choice is much wrapped up with power and ideology, areas that Zizek etc focus on strongly.
DonHopkins
And letting go of a programming language that you fell in love with, who was ripped away from you or died for whatever reason, can be an emotionally difficult experience. Then there's that period where you're not ready to learn a new programming language, because you don't want to dishonor the memory of the lost language you're still mourning for.

At the end of the talk, he mentioned that Paul Graham writes poetically about Romantic Languages, and classifies Lisp and Scheme as Melancholy Languages, but he would also classify Lisp as a Hysteric Language, and COBOL is a Depression Language. ;O

From the paper:

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

Other Categories of Enjoyment: Based on the subject's relationship with the object of desire, there are various other categories of enjoyment that can be applied to languages. Depression within Lacanian psychoanalysis can be described as the stopping up of circulation around the object of desire. With depression, the object is lost and enjoyment is retrieved from the reminiscing of the loss. With melancholy the very memory of the object is lost (a loss of a loss) so the enjoyment comes from the romantic attitude with respect to the history of the language.

dleslie
My feelings for Turbo Pascal are not unlike my feelings for the first ex who I truly cared about. It's hard to let go of that first love.
wwatson
Psychology vs psychoanalysis is addressed more in the paper:

"Psychoanalyst’s Rhetorical Question

Psychoanalysis can take a pragmatic stance when compared with other stances concerning the ontological status of the mind. A key question psychoanalysis addresses is the reality of the causes and effects of the subconscious. A provocative question here would be: ‘ Is sexual trauma completely free, or must it be compensated for?’ One form of compensation would be what psychoanalysis calls ‘the talking cure’. The implicit argument here is that the unconscious is real if it has real consequences. Computer scientists are concerned with the mind only in so far that it can be modeled, hence the question: ‘ Can the target pass the Turing test?’. Cognitive scientists are preoccupied with the scientific aspect of the mind to the point that the most relevant question to the others in the debate is: ‘Can you repeat your findings?’ Economists, are like the cognitive scientists in that they want repeatable findings but they also want to allow for agents to adjust to their environment including the fact that they are being measured. This means that economists and game theorists pose the question: ‘Can you create a strategy?’, where strategy is defined as those decisions that take other people's decisions into account. Finally, philosophers are preoccupied with the ontological status of the mind itself, and therefore ask the question: ‘C an you locate first person experience?”, while the closely related cultural theorists are more concerned with: ‘Can you create or critique an ideology?’" https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

DonHopkins
Here's the extended paper version of the talk, with all those great mind map diagrams (which were made with Loomio, [I think, but not sure]):

https://s3-us-west-2.amazonaws.com/vulk-blog/ThePervertsGuid...

Loomio:

https://www.loomio.org/

https://en.wikipedia.org/wiki/Loomio

>Loomio is decision-making software designed to assist groups with the collaborative decision-making process. It is a free software[3] web application, where users can initiate discussions and put up proposals.[4][5][6][7] As the discussions progress to initiating a proposal, the group receives feedback through an updatable pie chart.

m3047
I don't see anything about the mind maps. Can you give a pointer to loomio.org or gitub which specifically speaks to that?
DonHopkins
Maybe I misunderstood that the tool he was using was Loomio in this video (that's what it says in the title bar, but maybe that's just the name of the file) -- it could be he's using some other mind mapping tool, but I don't recognize it, and I'd love to know what it is:

Here is a talk by W Watson (the same guy who gave this talk) about Loomio, and its background, history, and purpose, as it relates to asynchronous group decision making!

Austin Software Co-operatives - Video Recap: Economic Update - Enabling Worker Coops

>In May, we will discuss a 60 minute long video from Economic Update on Enabling Worker Coops - https://www.democracyatwork.info/eu_enabling_worker_coops Please watch the video prior to the 7pm call to have some background. We are looking forward to discussing this topic with the group!

>Software co-operatives and meritocracies are more complex than you might think.

>These concepts sit on the intersection of self-organizing groups, capitalism, consultancies, meritocracies, law, and ethics. Help us discover the best way to structure a software co-operative.

https://www.youtube.com/watch?v=8m397EHORPI

https://www.democracyatwork.info/eu_enabling_worker_coops

There have been some HN postings about Loomio:

https://news.ycombinator.com/item?id=12348909

wwatson
The mind maps were both hand drawn and made using simplemind. Loomio is a voting tool :)
throwlaplace
cheers for the most original analysis of a domain (PL) using a farflung framework (psychoanalysis) i've seen in a long time. really good job! have you tried to publish in a journal?

incidentally you might enjoy this paper

https://web.ics.purdue.edu/~plotnits/PDFs/ap%20lacan%20and%2...

wwatson
That paper looks great. No, I haven't published anywhere. If you have any suggestions on journals let me know :)
DonHopkins
Here's something a friend of mine wrote about one of Žižek's movies:

>I don’t usually recommend movies, but I really got a lot out “The perverts guide to ideology“

>Essentially it’s a well presented theory that any particular ideology is a sum of components that can be combined to create a complete undeniable way of living. Nationalism, ethnicity, religion, atheism, capitalism, socialism (and many others) are all components that can be combined in different proportions to create a complete ideology. Like a cooking recipe. The interesting thought is that no matter how one combines the variables, they converge to the same point. Which is, you must think and behave like we do, or you will be cast out. The filmmaker presents societies as swinging between the extremes of pure capitalism to pure communism, with the wealthy always maintaining an advantage. Interesting stuff.

That reminded me of Jonathan Rees' a la carte menu of features or properties of "object oriented programming" ideology (or objectology):

http://www.paulgraham.com/reesoo.html

"Because OO is a moving target, OO zealots will choose some subset of this menu by whim and then use it to try to convince you that you are a loser."

I'd love for Slavoj Žižek to do "The Perverts Guide to Objectology”!

wwatson
You should probably check out the debate between Zizek and Graham Harman (the object oriented ontology guy): https://youtu.be/6GHiV4tuRt8 Although ooo is not directly oo, you can probably pick up on where philosophers are more concerned with the problem of properties ( universals, nominalism, etc) in ontology a lot more than language designers are.
Der_Einzige
I was about to make the comment about the Zizek connection but you beat me to it!

Fun fact, Zizek came in a very close 4th place for President of Solvenia in 1990. I was shocked that he almost became a legitimate president back in the day.

unixhero
To be fair who can out debate him.
iainmerrick
At least three other people?
unixhero
Still at the six sigma of candidates
DonHopkins
I wonder what he has to say about the toilet paper shortages?
joe_the_user
Just started. It's a use of contemporary "continental" psychology (Lacanian and Zizekian psychoanalysis) to consider the irrational choices that go into programming language.

It's kind of out-there but anything that gives a wider view of the choices programmers make might be useful.

Edit: Watching a bit.

I would view the quandary the presenter is discussing thus.

Human being are both power-seeking, ego-gratifying being and "rational", logic-using beings.

Now, human communicate with language. And a given "speech act", is not going to a pure exercise in logic or a pure exercise in power-seeking but some combination. Then, consider that humans interact with discreet "speech acts". A given speech act is going have an overt logical structure (simplify whatever math-y logic you wish) and it's going to involve some degree of power assertion. The power-assertion part by a fairly simple mechanism - identify yourself with a symbol and argue that symbol is "good" (and further associate symbols with each other, other symbols with "bad" and so-forth, all in dynamic process of power assertion). The most common example is a national flag but lots of judgements and colorations come in with this. Moreover, speech is a sequence of "speech acts" and first speech acts in a given context tend to "set the tone" - power is dynamic so the first speech act in a context to set the context the most.

So, with all that, I think it one can find a useful explanation why curly-bracket-semi-colon language and block-structured language have an apparently eternal "holy war".

Also, I think evolutionary game theory is a more coherent context for this. Evolutionary game theory allows the contrast between overt logic and self-seeking to be more clear and not have to call any process "irrational".

im3w1l
The debate as played out within a company may be more about power assertion, but the debate in the wider community and on the internet seem fairly rational.

I do worry that if the idea that it's all about power-seeking gains acceptance that we will throw up our hands in the air and say it doesn't matter either way (because of an unconscious fear of being seen as a simple power asserter) about things that do matter and that we stop trying to improve things.

ncmncm
"if new true friend not protected for explicit private union, break case and try using this"

All C++ keywords (and one operator). Dunno where that properly places C++ in the list.

DantesKite
Lately I’ve been getting into the habit of washing dishes and watching YouTube videos.

It’s lovely. For whatever reason, occupying my brain with my hands makes it easier to relax and focus attentively for an hour. Takes very little willpower.

Occasionally I find a YouTube video here and there, add it to my watch list, and stumble upon it later.

Always thankful when I find something promising.

Thank you.

DonHopkins
https://i.pinimg.com/originals/d3/f8/a7/d3f8a79cbb1aa419558b...

Another job well done! ;)

phendrenad2
This is a really interesting take on the psychological motivations behind language choice. I don't know if they're 100% right, but just the concept that people choose languages based on psychological effects is worth watching the video over, even if you end up disagreeing.
ajxs
More than once I've heard people use the term 'bondage languages' to describe languages that restrict the developer's ability to create footgun programs. As someone who regularly uses the Ada language, I fully endorse the use of this hilarious analogy.
wwatson
If you are using Ada, you might know of Richard Rhiele. That Ada is a bondage and discipline language is a joke that I got from him back in 1993ish.
DonHopkins
Like Ada, Linda was also named after someone else whose last name was Lovelace!

https://en.wikipedia.org/wiki/Linda_(coordination_language)#...

m3047
I thought it was fantastic! But my father was a clinical psychiatrist. When I explain to people how the computer thinks I mostly automatically role play, and when they get indignant I don't care, I just shrug it off. But the psychoanalyst is a pervert, right?
bryanrasmussen
This reminds me of Joe English's definitions of XML Namespace sanity http://www.flightlab.com/~joe/sgml/sanity.txt
gchamonlive
> enjoyment does not mean pleasure or happiness

this is me scratching my Dark Souls itch

Waterluvian
I want to do all my talks sitting all relaxed in a chair.
alricb
It's interesting, but I think the speaker would have done better to concentrate one language for each archetype, with examples.
superflit
I think this video https://youtu.be/D1sXuHnf_lo

Explains what languages correspond to which fetishes better.

You can see the author is very subtle and only say it at 0:55 while discussing some languages.

And plus it is Emacs!

Edit: NSFW

DonHopkins
It's worth pausing the video to read his whole critique of each language's culture, which is spot-on, but flies by really quick.
type0
Where would BASIC fall in this categories?
DonHopkins
Infantilism? Or Masochism?

"Programming in Basic causes brain damage." -Edsger W. Dijkstra

m3047
With or without compiler pragmas?
m3047
I used to use %VAL and %REF in DEC BASIC to do memory management. Most def sadistic. It was simple. It was dangerous. And it failed in the most inscrutable ways, particularly if you were a "normal" BASIC programmer.
dleslie
Basic was the Javascript of its era: a workhorse for people who just wanted to make things, without a care for the specifics.

In this model: psychopathy.

jose_incandenza
Can someone explain me how's that C# and Java are in different categories?
WesternStar
Its not necessarily about how a language is syntactically or semantically it is about how the users and creators of a language talk about it and want it to be seen.
jandrese
So according to this video these psychoanalysts completely redefined a good number of emotionally charged terms when developing their theories?

Or did people hear the words and redefine them later? The wanton disregard for existing structures really bugs me, perhaps more than it should. It's seemingly intentionally misleading, like they're afraid other people will find their conclusions too simplistic so they intentionally obfuscated the language to appear more sophisticated.

closeparen
Google n-grams has "sexual perversion," "neurosis" and "psychosis" all picking up between 1860 and 1900, i.e. as psychoanalysis was picking up steam. Most likely they got there first.

Interestingly, the frequency of "perversion" was steady through that period, so in this case the psychoanalysts did attach a new meaning to an existing word ("the alteration of something from its original course").

DonHopkins
There was a huge spike of "prevert" from 1989 to 1995! What an exciting time that was to be alive.

But I wonder what fun I missed out on during the Great Prevert Spike Of 1807 -- that looks like it was quite a party.

https://books.google.com/ngrams/graph?content=prevert&year_s...

https://www.youtube.com/watch?v=ud9zBKJJQe4

andrewflnr
I don't think it's malicious. I often find that as I think about and re-categorize things, meanings of words shift until I'm thinking and occasionally talking in my own private vocabulary. It's rude at best to let it out in the open, but primarily because it's lazy. Inventing new vocabulary is a lot of work, and also has its own fundamental difficulties.

People who divide the world into different categories are kind of screwed when it comes to communicating their ideas. IMO this is one of the thorniest problems in all of communication.

m3047
The tests comment was meant in good fun. I made it up the corporate ladder as far as Director, but decided I liked programming better. But if I put on my management hat, the question would run somewhat as follows:

I see you're expressing a fair amount of indignation, and I acknowledge that. But are we supposed to gaze upon your indignation, or the indignity you claim to have suffered?

m3047
Can you write tests for that?
atoav
His title is a take on Slavoy Zizek's A perverts guide to ... series. Zizek is a scholar of Lacan, and thus uses the definitions of Lacan. As this talk leans heavily on the works of Zizek in other fields it is safe to assume it uses lacanian definitions as well.
mettamage
Psychoanalysis: psychologists that don't do experiments, according to my university. Because of this they were briefly covered during one lecture and then completely tossed aside.

Psychology != experimental psychology

Yes, experimental psychologists have a field that almost completely crumbled, but at least they (1) admitted it and (2) some of them try to conduct science and succeed at it (most don't succeed unfortunately as virtually nothing is reproduced).

So how to deal with psychoanalists? What I did: see them as entertaining inspiration for philosophical thoughts. But you can also skip to his section "why psychoanalysis" [1]. I wasn't impressed. Also, those bullets are questionable.

So beware: in my opinion, this talk is not precise in terms of scientific accuracy, but it might be fun to use as an inspirational source.

[1] https://youtu.be/mZyvIHYn2zk?t=264

JadeNB
Not to spoil anyone's surprise, but the title of mettamage's linked video is "Deldo - Vibration Control and Teledildonics Mode for Emacs".
anigbrowl
Zizek has a joke that since so many people own sex toys nowadays he wonders why they don't just bring them to each others' homes on dates and let the toys do their thing while the humans discuss philosophy and sip tea, and so on.
m3047
Timothy Leary was a pioneer in group psychotherapy, FWTW.
DonHopkins
And Timothy Leary benefited from a practical application of his own psychological test, the "Leary Interpersonal Behavior Inventory": he used it to break out of jail.

https://en.wikipedia.org/wiki/Timothy_Leary#Legal_troubles

>On January 21, 1970, Leary received a 10-year sentence for his 1968 offense, with a further 10 added later while in custody for a prior arrest in 1965, for a total of 20 years to be served consecutively. On his arrival in prison, he was given psychological tests used to assign inmates to appropriate work details. Having designed some of these tests himself (including the "Leary Interpersonal Behavior Inventory"), Leary answered them in such a way that he seemed to be a very conforming, conventional person with a great interest in forestry and gardening. As a result, he was assigned to work as a gardener in a lower-security prison from which he escaped in September 1970, saying that his non-violent escape was a humorous prank and leaving a challenging note for the authorities to find after he was gone.

joe_the_user
The video does a decent job of explaining the relevance of Lacanian-Zizekian theory. The approach isn't really aiming to be equivalent to experimental psychology. Rather, it's a view of strategy in personal interactions.
Der_Einzige
Zizek is sometimes great but you might as well tune out the moment that he brings up Lacan because every single bit of Lacan is intellectual Charlatanism of the highest order. It's a black stain on Zizek that he continues to see that work as being relevant in the slightest.

No, the mirror stage is not the beginning of psycho-social development. No, Freud and Lacan and Deleuze are not useful scholars to be reading in any era (much less today). No, they do not have anything of value to provide except intellectual masturbation.

I wish Freudian Psychoanalysists and its disciples would finally die off in the ivory tower but it just hasn't. Even Jung is more coherent and closer to testable than fking Freud.

agambrahma
who else saw the title and thought of Zizek? :-)
agambrahma
(nvm, the paper directly mentions Zizek, should've clicked through first)

Still, one of the more fascinating HN finds today.

graycat
Deleted
twic
> there were no emotional, psychological, psychiatric, subconscious, etc. considerations at all

> I heard good things about big shops successfully using Windows Server for Web sites and running database. I need database, and Microsoft's SQL Server seems well respected, understood, popular, documented, stable, etc.

This clearly suggests a yearning for a father figure. What was your parents' relationship like when you were a child?

heyimwill
Non-relational :(
867-5309
him: one-to-many, her: one-too-many

:|

graycat
Deleted.
None
None
DonHopkins
I think there's an underlying cognitive dissonance between parent/child node relationships in digital tree data structures, and parent/child human relationships in biological family tree structures.

People and animals typically have two parents, while nodes typically only have one parent!

Would a more humanistic collection API support both "mother" and "father" relations, instead of just a single "parent"? Or should they be even more inclusive, and support any combination or number of "mother" and "father" relations, and even user defined parental relations?

I'm joking, but maybe it would be a good addition to Brainfuck.

caramelsuit
Critical theory is a communicable memetic mental disorder.
hexane360
Ahhh yes, the compulsive need of the reasoning mind to neatly categories all theories
dang
Maybe so, but please don't post unsubstantive comments here.
lidHanteyk
Yeah, but so is nearly everything else. Money, sexuality and gender, architectural designs, military tradition, the list goes on without end. Nearly our entire society is a communicable memecomplex, and additionally, nearly every meme is logically incoherent, or at least logically unfounded.

By the very implied claim that you make that mental disorders exist, you also imply that there is such a thing as ordered mental states, correct patterns of thought, and healthy logical reasoning. This is a bold claim! You would do well to have less black-and-white reasoning.

thyrsus
I assert there are comparatively more ordered mental states, comparatively more correct patterns of thought, and comparatively healthier logical reasoning. None of that is black and white, and no one is perfect, but some do more harm, and some do more good. To claim otherwise is to abandon reason and hope when confronted with suffering. You have not done so; if not, why type at the internet?
lidHanteyk
I will take your first branch: Mental states are not observable, certainly not in a way which gives rise to some measure which we can call "orderedness". Study psychopathy and you'll see extremely "ordered" behaviors from people who are "suffering" from "mental disorders". At some point, the analogy becomes incoherent; human behaviors are too rich.

You may be interested in Aumann's Agreement: If two reasoners disagree, then either their reasoning differs, or their prior observations differ. It seems to me that typically it is the priors that differ. So why stigmatize folks for differing reasoning? Perhaps there is no good reason.

thyrsus
I can observe my own mental states, and I work to bring them into better alignment with my observations - more ordered. When I think it helpful to others, I use language to represent them. Because other's mental states are not directly obervable, I use a null hypothesis that they also use language to indicate their mental state.

When I use a regular expression, I have an intent to model an understanding. Some people may not have that vocabulary at all - my spouse, for instance. Some may be far more fluent than I. The point is: I have observed my understanding to be disordered or incomplete. I further observe that is the default state until I apply a degree of attention.

"Stigma" is an inaccurate model for when we don't have the resources to align another's goals with our own - goals which must include a baseline of wellbeing for every other. Persons suffering harmful hallucinations - or other harmful mental states - should be treated for them, but "stigma" is a blunt indicator to avoid conferring responsibility on those persons - I hold it an error to involve hatred or indifference. Our deficiencies in understanding are pervasive. I would not ask my spouse to develop a regular expression. They would not ask me to perform a phrase from a Mozart sonata.

ernst_klim
> Yeah, but so is nearly everything else.

Nope. There are scientific, verifiable, objective things (and nobody cares about epistemological problems).

As other post told: rockets fly, internet connects etc.

And there are subjective matters, like ethics, aesthetics, art, beauty.

Now, subjective doesn't mean bad. What I really dislike is things like philosophy (which critical theory is part of), which tries to cover subjective opinions with obscure rhetoric to make them appear as facts.

giantDinosaur
Our bridges stand. Our rockets fly, and our planes (tend) to not drop out of the air unexpectedly. If not for some healthy logical reasoning, correct patterns of thought, and ordered mental states, then what? Yes, it's fun to discuss this kind of thing, and a lot of what we do is irrational, but it's just as often sophistry as anything else. I note, of course, that you did only say 'nearly', but that's basically exactly what I mean.
lidHanteyk
Mathematics and physics are memecomplices which allow us to study and consider the Platonic realm. There's no one single mathematics from a cultural perspective; consider where numerals, operators, and grouping come from. The notation is how we make sense of the abstract, non-physical aspects with our mere physical brains.

The "nearly" that I am exempting is for those things which are logically deduced from other things alone. While a person might reason incorrectly based on faulty premises, they are nonetheless using reason to do so, and applying it in a logical fashion (cf "formally formal" logic proofs). The right lesson to take away, I think, is that being logical, being consistent with empirical observations, and being uncontradicted by dialectic evidence, are three distinct things, and none of them are the truth, if the truth even exists.

ernst_klim
> Mathematics

Is a purely deductive field and have no connection to reality, it's all about dealing with pure mathematical objects.

> physics

Exists within a strong empirical framework, which allows us to verify models, not just construct them.

Critical theory gives no verification framework whatsoever to prove or omit its statements.

ur-whale
This video:

a) is utter nonsense

b) even if it wasn't, the theory presented has exactly zero practical application

dang
Such things can still make a fine Hacker News submission.

"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html

ur-whale
> A good critical comment teaches us something

Feel free to discard point number one of my post if you enjoy watching that kind of tripe.

Point number two of my post teaches us not to waste 30 minutes of our lives watching something that serves no practical purpose whatsoever.

DonHopkins
Speaking of number two, what are your thoughts on Zizek's theory of the Paradox of Toilets?

https://www.youtube.com/watch?v=rzXPyCY7jbs

LandR
> serves no practical purpose

Not everything needs to serve a practical purpose.

dang
Curiosity doesn't require a practical purpose. If you're not curious about this story, that's fine; there are others on the front page, and thousands more if you click 'past' at the top. Please don't punish the readers who are, though, by posting off-topic bile to the thread.
throwlaplace
I dare say the title of this is an allusion to Zizek

https://en.wikipedia.org/wiki/The_Pervert%27s_Guide_to_Cinem...

c54
Yep the talk is about Zizek and Lacan amongst other things
throwlaplace
interesting! I'll be sure to watch it then!
Mountain_Skies
AKA, How to violate every language's Code of Conduct in a single talk.

Wonder if they apply retroactively.

dang
I haven't listened to the talk but please let's not overreact to the title. It's a clever reference, and I'd rather not have to change it to "Psychoanalysis and Software", which might be just as baity anyhow.
knolax
Stallman's bit where he dresses up in robes and calls himself St. Ignucius is more grounded in reality than this talk was.
pjc50
This is what happens when you're overexposed to Zizek.
kortex
This was fascinating. I'd condense the overall sentiment to, "Pleasure is desireable and pain is inevitable. When and where do you get pleasure and avoid pain?" Also, these definitions are different than the common definitions. Here's a rough digest:

Psychopaths: I don't care about rules, types, or beauty, just get it done (JS)

Obsessives: a little monotony now avoids a lot of pain later (go, java)

Masochists: Look at how disciplined I am! (C)

Sadists: Look at how impotent everyone else is! (perl, regex)

Hysterics: Look at how beautiful this code is! (python)

Fetishists: Have you tried more X? (objects, abstractions, types) (smalltalk, erlang)

Melancholy: Oh, I miss the days when I could write an entire application in 200 lines of Lisp...

DmitryOlshansky
It’s a great digest, I wouldn’t watch the talk but now I’m certainly more interested.

Added talk to the watch later list.

jchw
This post is almost better than the talk. I found the talk fascinating but this post gave me a clearer concrete understanding of the implications.
I literally have never experienced a bug because of the existence of Math.random(). I don’t think I’ve ever used it outside of a coding interview. Similarly, I don’t spend time debugging runtime errors caused by document.querySelector()? If I do it’s usually only once when I write the initial query. I don’t understand your last argument: why would I divide by 0?

Everyone’s relationship to their tools of choice has an emotional component. Check out this talk, you might find it interesting:

“The Pervert’s Guide To Programming Languages” https://youtu.be/mZyvIHYn2zk

StreamBright
>>> I literally have never experienced a bug because of the existence of Math.random().

You must be doing something wrong than. :)

The world is impure. Pretending it is not is just laughable. I am saying this and I am actually writing only functional code for living, but I understand when I cannot solve the problem with functional concepts.

Few example:

- now()

- random()

- runSqlQuery()

- open a file

My code might be 90% pure functions but the rest is mutations, handling non-idempotent things, dealing with state, as the world is.

yakshaving_jgt
> The world is impure. Pretending it is not is just laughable.

Not a single "pure FP zealot" would argue against this. The fact that you imply this again reveals your ignorance.

People who know what they're talking about know that you can't model effectful routines with pure functions. That's why a function that gets the current time, or generates some random number, or talks to a database, or talks to the filesystem, has `IO` in the type signature.

I have already demonstrated this to you. Perhaps you have some difficulty with reading.

FP folks would never pretend a program that has zero effect on the world is useful.

yakshaving_jgt
Your logical fallacy is either Personal Incredulity[0], or Anecdotal[1], or both.

[0]: https://yourlogicalfallacyis.com/personal-incredulity

[1]: https://yourlogicalfallacyis.com/anecdotal

aarpmcgee
The core question is, "have you ever experienced a runtime error?" Have you ever spent time debugging a runtime error deployed to production?

You can't get those in Elm.

StreamBright
https://medium.com/@eeue56/top-6-ways-to-make-your-elm-app-c...
yakshaving_jgt
You’ve already posted this.

It’s intellectually dishonest to point to implementation bugs as fundamental flaws.

StreamBright
What are you talking about? You said no runtime errors because you have pure functions and now it turns out that actually implementation also matters?????

Imagine my shock................

chickenfries
This matters in the real world question of “should I use elm” even if it doesn’t matter to the theoretical question of “is the elm language sound?”. Especially since there is only one implementation of elm that updates very infrequently.
yakshaving_jgt
Only insofar as you would check any technology for how well it’s made generally.

After a couple of years running in production, my opinion is that it is well-made generally.

Finding clever ways to break a technology isn’t a fair reflection of “real world” use, in my opinion.

chickenfries
Fair enough. I don’t considering your complaints about Math.random() or division by zero to be a fair reflection of “real world use.”
sawady
List.tail []
yakshaving_jgt

  tail : List a -> Maybe (List a)
Nice try though.

https://github.com/elm/core/blob/master/src/List.elm#L548

sawady
Haha, sorry. You know what I mean, a partial function.
yakshaving_jgt
Except in Elm, the function isn't partial.

You're thinking of the partial functions from Haskell's Prelude.

chickenfries
No the core question is “does the time and effort spent on those cases justify the cost of switching to elm?” I have to weigh the benefit of no runtime exceptions against things like having to write interop code for libraries that I may have to integrate with.

It might make sense for other people. It doesn’t add up for me.

HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.