Whenever I reflect on the "state" of the web the whole thing seems like such a mess.
I can't help but feel that the web's progression to what it is today (framework/spa/webapp overload) was more or less a cobbled together solution using technologies that were never really designed or equipped for the task. The browser has become, quite literally, the kitchen sink--it's how we access nearly all of our applications, and today it's less common for an application to provide a native OS implementation than it is for it to provide a counterpart in the browser which has worked out fine, but is pretty insane when you think about it.
HTML/CSS/JS were never intended for making complex application UIs. The world has done a great job at coercing them into doing so anyway, but I can't help but indulge in alternative histories at times and wonder what things might've been like if javascript never hit the scene.
JS is such a double edged sword--it's great because it has a very low barrier of entry. On the other hand, the same accessibility tends to plague it with misuses, abuses, and overreliance.
It's an interesting phenomena to look at from a language philosophy perspective. AFAIK, Rich Hickey has advocated for a very pragmatic approach to programming from coljure's inception, and I believe (perhaps excepting the introduction of Spec) the language has stuck to and reflected that philosophy. I believe Hickey has even gone so far as to say it's usually a waste of time to fiddle around with type declarations when you should be solving problems and transforming data (I'm paraphrasing, of course).
Contrarily, nearly every other popular modern programming language project (Haskell, Rust, Scala, Crystal, to name a few) hopes to provide nuanced, robust type systems and compile time guarantees--these projects focus less on pragmatics and problem solving and more on correctness and safety. Even elm, which is just a language for building frontends, boasts of its compile time guarantees and elimination of runtime issues using a type system. Clojure is the only recent language that I know of to go against the grain in this regard. That might factor into its decline in popularity--presumably all of these languages are going after type safety and correctness because they are perceived as features people desire these days and clojure never emphasized these properties (some of the things it emphasized instead, such as immutability, problem solving, and interoperability with an existing platform are still important features ,they just don't happen to be as prized right now as correctness/safety and perhaps noiseless/sparse syntax).
The introduction of spec can even be perceived as a sort of concession to this popular demand. Even the spec about page hints at the slight[1] incongruence between spec and the overall Clojure philosophy:
"However it has always been a guiding principle of Clojure, widely valued and practiced by the community, to simply represent information as data. Thus important properties of Clojure systems are represented and conveyed by the shape and other predicative properties of the data, not captured or checked anywhere since the runtime types are indistinguishable heterogeneous maps and vectors."
[1]: Slight because the purposes of spec are not those of a type system or compile checks. What spec does do, however, is introduce some of the bookkeeping sorts of procedures that, in my estimation, the design behind clojure intended to minimize as much as possible.
I always read introductions. There seems to be this popular idea in America that any text is comprehensible without prerequisite knowledge or proper framing. This is also coupled with the idea that introductions will somehow “spoil” a work—the notion that all a story is good for are its spectacles and surprises (a pretty shallow appreciation of narratives, especially considering nearly all of said surprises have been done to death). I never quite understood this myself. I don’t know where anyone gets this idea that they’ll just understand a work without any additional rigging to help them—it’s similar to a belief that one can and should climb a mountain without equipment. I would not be surprised if adherents of this philosophy also don’t look up definitions for words they don’t know but probably just breeze over them. It’s laziness! There’s a lot that goes into crafting a quality interpretation of a text, this includes a great deal of theoretical exploration, and historical tidbits that aren’t covered in the text itself. And no, reading an introduction does not somehow make your experience of the work “impure” nor are you bound to blindly accepting everything an introduction claims is important as such—in fact you may find through your reading that what the introductory text emphasized seemed in fact wholly irrelevant to the work (in which case you might consider it a poor introduction).
Obviously if you’re reading strictly with the intention of passing time/being entertained and not with the intention of understanding or comprehending what you’re reading and experiencing through the text, I can see why you might skip the intro.
Of course—but the issue at hand is that or present situation is more complex. Today, a person’s success (because our culture has been reduced to basically only valuing popularity (visibility) and wealth and not intelligence or moral rectitude) tends to grant them degrees of social immunity and prevent the appropriate application of the law. People have begun realizing this. This realization causes them to strike at the defense these artists have—namely, their popularity via their distribution. That’s why people call for censure and put pressure on distributors. The révocation of works is not some abstract association between morals and the value of artworks as such—it is the concrete fallout of our particular situation and the realization that in our particular society wide distribution grants you some form of power that plenty of assholes have used to abuse other human beings and skirt the legal repercussions.
Shakespeare might have been a douche. He might’ve used his success in the theatre as an effective means to abuse others and get away with it. We don’t know. What we do know is that that does happen in our society—and it is a social dynamic we ought to change. This inaccessibilité of some works is a consequence. I doubt it will last indefinitely. I don’t think anyone is actually making the straw man argument Shriver is attacking on the article—people aren’t interested in saying there’s some innate connection between the moral quality of artists and the quality of their work—they’re realizing the power of popularity and attempting to bring justice to those who have abuséd that power.
> Today, a person’s success (because our culture has been reduced to basically only valuing popularity (visibility) and wealth and not intelligence or moral rectitude) tends to grant them degrees of social immunity and prevent the appropriate application of the law
Is it really a problem specific to our society that being famous/rich/talented/pretty/etc allows people to, sometimes literally, get away with murder?
> The révocation of works is not some abstract association between morals and the value of artworks as such—it is the concrete fallout of our particular situation and the realization that in our particular society wide distribution grants you some form of power that plenty of assholes have used to abuse other human beings and skirt the legal repercussions.
It seems facile to say that it's bad that "powerful assholes can abuse their power and then skirt the repercussions". I think we're all in agreement about that. In a just world, no matter how rich or famous you are, if you do the crime, you will be caught and punished. The question is: how do we bring about that world?
Our justice/legal system is a series of compromises. I think we've basically made the right compromises. I'm open to people questioning those compromises, to people suggesting new compromises or rethinking the old ones. At the same time I'm skeptical that there are easy solutions that would result in a fairer society. I also don't see a lot of what I would describe as "useful and productive questioning" on this subject.
Furthermore, some of this stuff has nothing to do with crimes at all. Roseanne Barr saying something racist is not a crime.
> people aren’t interested in saying there’s some innate connection between the moral quality of artists and the quality of their work
The comment I responded to is making this exact argument. Lots of the outrage about Cosby/Louie CK/Polanski/etc makes the argument that their work is rife with vileness.
Sure, I get it, but when you tap into your empathetic side this article smacks of insensitity and whining. Assuming, as Lionel asks us to, that some of these things are true—should we really be complaining about the inaccessibility of these works or should we perhaps think about what the victims might have experienced, and that in many cases the abuse they suffered was in part enabled by the power the popularity of the so-called artist’s (many of the examples in this article art not in fact what I’d call art but rather entertainment) works bestowed upon the artists—a lot of these people got away with stuff precisely because the wide scale distribution of their works elevated them to a position of social immunity. That’s finally changing, and that’s a good thing.
Just as it’s the consumers choice to refrain from consuming its the distributors choice to refrain from distributing—publishers aren’t some beacons of moral and political neutrality—they’ll do whatever benefits the bottom line. To hold them to this weird demand that they be neutral and toss public opinion aside is predicated on a much different reality than the one we occupy. Changing the nature of distribution is a separate economic and political issue.
On the whole, this is a pretty infuriating article. So-called artists should not have some sort of special moral immunity—that’s precisely the problem that’s finally being solved with some of these banishments—and yes it is a problem initimately tied to the popularity and avilabilty of their works, as this is what gave them a veneer of invincibility in the past. It’s not some simple situation in which these people would have been served justice regardless—the dispatch of justice in these cases is often hindered by the artist’s success and notoriety.
Common approaches to morality weigh the bad more highly against the good. And yes the ideas and actions behind the art matter. The extreme logical extension of this argument is that you should be able to enjoy nazi artwork in a sort of epicurean way without having to admit of any of the implications enjoying such work might suggest and basically putting history, reality, and thought aside while you indulge in whatever it is about the work that appeals to you—it’s a very shallow, one dimensional, solipsistic and childish approach to comprehending and consuming art.
I think it depends on the situation. For example, under a functional paradigm the first problem is solvable as a special form of fold. The functional paradigm has tons of concepts backing it that make solving it in a ‘foldlike’ manner clear (which would involve the sort of padding the author suggests). In fact, the elimination of the special case is just a utilization of a monoidal operation and identity. In a lot of contexts “monoid” is a bunch of Mumbo jumbo, but in some functional languages it’s an incredibly clear way to go about resolving the issue. It’d also be perceived as more elegant than pattern matching against the first and last element of a list using some kind of predicate (aka a guard).
I think a suggestion to think about your reader foremost resides at the core of your comment, and I think that’s what’s most important. In a context that’s predominantly iterative or object oriented you’re completely right—the special case pattern is far more pervasive and you’d be doing your readers no favors by abandoning it. However if you could expect your readers to come equipped with a host of functional idioms, the elimination suggestion isn’t so bad (at least from a semantic/comprehension standpoint, ignoring performance).
I'm struggling to understand your motivation at the abstract level. Would it be possible to provide a snippet of Haskell code with an example of a solution implemented this way?
Sure, the criticism this hoax is trying to demonstrate may be legitimate, but the methodology is one designed to highlight the cleverness of its executors and diminish the credibility of a discipline, rather than point out constructive areas for improvement. Basically, it is a methodology that does not treat its targets as intellectual equals and is quite indecorous—you get the sense that a major point of this operation is to discredit the field and make its practitioners feel some kind of public humiliation or shame. A childish tactic.
In my opinion, this is not the right way to effect change in academic practices. Sokal's big hoax did a good lot for Sokal (whom everyone is now familiar with—but it's funny: is the public acquainted with Sokal because of the contributions he made to his field? Arguably, no. Who's supposed to be the sham academic again?) and caused a lot of drama—but was it an effective means of enacting the sort of change in academic practice it claimed to be striving for? Well, we simply need to ask ourselves why there's even a need for such a thing as "Sokal squared" to answer that question.
This is a conniving way to go about improving academic practice—doesn't the very practice sort of eschew the principles of open collaboration, transparency, collective growth, and honest dissemination of thought/knowledge academia should, in the ideal world, foster?
This is largely just an attempt to incite drama and gain notoriety on the part of the authors, and it further drives wedges between already highly disparate, specialized fields that may as well talk past each other.
Of course there are things to criticize about grievance studies, just as there were things to criticize about the lingo and methods popular in the humanities when Sokal devised his original hoax—but stooping to underhanded publicity stunts instead of open intellectual conversation likely won't solve the problem. Please don't give in to this sort of nonsense and stroke the pleading egos of the 'academics' that pull these sorts of stunts. Boghossian is not a hero.
I think a mechanism that, first of all, promotes some kind of interaction between fields and helps counterbalance the hyper-specialization our academies currently promote.
It is very unlikely that "the academic fields in question demonstrably have no interest in whether things are true or not". More likely is that people from hyper-specialized fields use different criterion for the validity and veridicality of statements and that their incredibly hermetic jargon and deep reliance on interlocking field-specific concepts prevents them from communicating with other academics from other disciplines in meaningful ways—thus resulting in a great sense of misunderstanding and misjudgment between members of the fields. In some sense, our pursuits are so hyper-specialized at this point that they are incommensurable—there's an incredible lack of 'generalists' able to act as liaisons and to produce the appropriate meta-criticisms for each field of study.
That, I think, is a much more reasonable assumption than one that assumes a cohort of people who "don't have interest in the truth" have somehow slipped their way into academia and are using it as nothing more than a vehicle for their political motives—that's a rather conspiratorial hypothesis and would need much more evidence to support it than the publication of a couple of papers in a couple of journals.
If we were to solve the hyper-specialization problem to a degree, I think it would promote greater academic health and collaboration overall.
> It is very unlikely that "the academic fields in question demonstrably have no interest in whether things are true or not".
Er, they are actually quite open about this.
For example:
Founded in 1974, the Michelle R. Clayman Institute for Gender Research at Stanford University has put research into action by inspiring innovative solutions that advance gender equality.
The goal/purpose is "advancing gender equality", not "truth finding".
Most of these fields don't just not believe in truth as a concept, they actually actively oppose and dismiss the search for truth or requirements for evidence as being expressions of and mechanisms for maintaining illegitimate power hierarchies.
Now hyper-specialisation is also a problem, but it's not this problem.
but stooping to underhanded publicity stunts instead of open intellectual conversation
Attempts to have an open intellectual conversation, specially in these fields, gets you deplatformed after SJW attacks, or draw people screeching when you attempt to debate at the Uni, to the point debates have to be cancelled by limp wristed admins.
The only way left if to use sarcasm , or these kind of maneuvers. What's the point of exposing the insane and unethical academia establishment if you have to tell them, in advance, they're being exposed?
I'll grant that for sure. There are indeed plenty of politically motivated scholars (importantly, usually students! not professors!) that fail to meet challenges and intellectual/social hurdles gracefully, but much of the disdain for SJWs is predicated on a presumed moral high-ground—"we're better than them because we care about truth, and facts while they don't" (just as the so-called "SJW" types often feel their political motives are morally superior to those who are opposed to them).
But if the opposition to the so-called "SJWs" has resorted to hoaxes and other fraudulent tactics, aren't they just as bad as the people they're fighting? Haven't they regressed to a similar tactic of "deplatforming" and effectively similarly nullifying the chance of an open debate?
Both "sides" (and there really shouldn't be 'sides' in this—as in most cases the binary division line in this conflict is a gross oversimplification of the issues at stake) are guilty of poor decorum in the academic arena. Pots and kettles, really.
This "special butterfly edge case" == anyone who wants to specialize in the humanities attitude will probably lead to a bleak future. Life does not begin and end with technics nor economics.
Supporting the continued interest in the historical, artistic, cultural, literary and philosophical development of mankind and likewise supporting the preservation of these fields shouldn't be seen as 'catering to those types'. If you'd like to live in a world devoid of art, culture, and history, but efficient, logical, and completely determined to the apex, be my guest; it sounds like tons of fun.
If these systems are to be adopted nationwide they'll have to figure out a reasonable way to fund studying the humanities for more than just 'a handfull[sic] of true scholars'. Traditions and whole fields of disciplines don't live and die off the progress of a few geniuses--they are worldwide human endeavors sustained by a complex of economic, political, and pedagogical interests. Maybe that means this sort of model is only fit for 'trades', but eliminating support for the humanities wholesale wouldn't work.
This is an interesting idea and generates a lot of questions.
How does this change the dynamic of 'going back to school' for an alternative degree? If the domain I initially studied starts hurting economically and I have to get a different degree, do I still owe the school for my initial degree if I get a job that meets the income threshold off my second degree? How do we determine which degree netted me my current job? (assuming I get the new degree and a job within the N year period during which I owe the initial institution a percentile of my income).
Am I able to 'pay out' at any time? Or, if I get a better paying job, does the institutions paycheck increase if I'm still in the payback time interval? Do I simply need to pay the pay cap?
Should I be comfortable with the notion that my institution is x% responsible for my wage-earnings and overall economic worth? Are there situations in which this isn't the case?
Does this change promote student assessments that are better or worse for the edification of the next generation? As the article states, would schools be tempted not to bother with 'high-risk' students? What does it mean to put a label like 'high-risk' on a student? What does it mean to treat a human being like an investment? Does this reduce interest in students to purely economic terms (a big part of how universities already conceive of their students today, but reputation to some degree still factors in)? Would such a model further exacerbate the gap between the wealthy and poor—would wealthy kids, who grow up in environments that promote study and make them 'low-risk' investments (likely to succeed) have an unfair advantage over kids growing up in poor households?
This also seems to imply that one's learning is the majority of what factors into one's getting a job. What about all the additional work it takes to get a job (networking, etc.) Will these institutions assist in these areas as well?
What of the notion of scholarship? Is it absent in this model?
Does this model actually work for all disciplines? Arguably, it creates a very tight coupling between the 'value' of an education and wage-earnings/income. What of those pursuits that seem to be valuable, in a different light and aren't (today) usually high-income generators ,e.g. the study of history, literature, and cultures, for instance. What will happen to those disciplines under this model? Is this a model that's more appropriate for trades and not all areas of education?
Seems like a very good change, potentially, but it will probably a lot of effects if its adopted nationwide, on both an economic and cultural level.
You're probably correct (I don't know enough about the junior applicant pool myself but I am going to speculate nonetheless), but 'cannot code' is vague, and I think this precise sort of vagueness creates confusion around: a.) What companies need. b.) What companies think they need. c.) What prospective programmers think companies need.
What companies actually need (or should need, if they're solving some problem), I'd argue, is people who are capable of solving domain problems in structured ways. This has everything to do with logic and almost nothing to do with 'programming' or 'coding' in the sense that I believe most people understand those words today. This is a skill that has very little to do with knowing xyz language, framework, or even paradigmatic abstraction and everything to do with having familiarity or mastery of both recent and ancient mathematical and logical principles (algorithms, data structures, computability theory, set theory, lambda calculus, etc.) Of course, the way we actualize these skills is through programming languages, but programming languages themselves are not the important part (at a high level).
I think a lot of hopeful and ambitious autodidacts unfortunately miss this, as the bulk of (I'd wager) free resources for learning 'how to program' do not do an adequate job of conveying the fact that programming is ultimately the application and encoding of abstract principles into a concrete solution for a particular problem domain. This effectively leads to a pool of job-seekers that are well versed in the latest lower order abstractions (as these are encoded in programming languages, e.g. iterators or a particular framework or paradigm) and not higher order abstractions (e.g. what makes a particular construct iterable, what structural properties suffice to assert 'iterability' of a set or structure, or e.g. how should one compare paradigms and select between paradigms for a particular problem).
At the end of the day, a lot of this doesn't matter. Most people in the programming field do just fine without diving too deeply into the heart of computability or information theory (some demanding positions in the field, of course, are exceptions to this). But I think if we want to produce better 'coders' an important step lies in disambiguating logical/mathematical/programmatic problem solving from the concrete practice of 'programming' (using a particular language with particular resources, paradigm support etc.) From what I can tell, University CS programs do an effective job at this (e.g. classes on algorithms and data structures and architecture are all distinct) but many free resources, I feel, do not. This may be the culprit in the production of that bevy of people who 'cannot code'--they can program, but they can't problem solve computationally or model problems well (I can't do this myself). And I think it leads to the following common realizations on a.) b.) and c.):
a.) Companies need people who can determine and analyze sets of potential structured/logical/computational solutions to problems.
b.) Companies think they need people who are good at using xyz tool in particular because xyz tool/language/paradigm etc. is popular, new, generally thought to be useful, etc.
c.) Prospective developers think they must learn xyz tool/language/paradigm/framework because companies seem to want that. They do so, never exploring the fundamentals behind xyz tool/language/framework and move on to learning the next xyz ././. next year to stay relevant.
The result is that many companies are bound to the solutions, abstractions, patterns etc. that xyz tool/language/whatever supports and thus they're actually quite okay hiring people who cannot really 'code'.
In truth you probably only need a few smarty-pants engineers behind the important stuff. The majority of folks can enter the workforce only having a basic knowledge. The ones that are curious enough will start to dig into the general/abstract principles behind computation and eventually learn enough to fill the shoes of the big boys. Most entry level programmers can get by just fine with a thirst for further knowledge, the ability to notice, adapt to, and use patterns that are already in place, and some very basic analytical skills. Of course, many hiring practices don't necessarily reflect this, which leads to the classic condition of "in the interview I had to show that I could do abcd with data structure xyz and implement algorithm hjk to solve problem p in t time but on my day job I just write against apis."
Disclaimer: I am not a programmer or software engineer. This is just my sense of the state of affairs as a curious outsider (I do work in the software field, but my job role is different).
You voice a lot of similar conclusions I've come to, as someone who's mid-level and came through the bootcamp/practical application route.
One of my coworkers has a Math/CS degree and I feel like he's light-years ahead of me when it comes to solving algorithms, to address just one facet of your comment. He can see the underlying problem/solution at a much deeper level. At the same time, I think that teaching the deep theory first would have been too abstract to me; it makes more sense now that I have some practical experience and have encountered real-world problems that need to be solved.
From my experience, it's often what should be simple understanding of workflow logic or specifics to the language/environment one is claiming knowledge of. My expectations at an interview level are extremely low, but still would pass at least 2/3 of candidates by.
I can't help but feel that the web's progression to what it is today (framework/spa/webapp overload) was more or less a cobbled together solution using technologies that were never really designed or equipped for the task. The browser has become, quite literally, the kitchen sink--it's how we access nearly all of our applications, and today it's less common for an application to provide a native OS implementation than it is for it to provide a counterpart in the browser which has worked out fine, but is pretty insane when you think about it.
HTML/CSS/JS were never intended for making complex application UIs. The world has done a great job at coercing them into doing so anyway, but I can't help but indulge in alternative histories at times and wonder what things might've been like if javascript never hit the scene.
JS is such a double edged sword--it's great because it has a very low barrier of entry. On the other hand, the same accessibility tends to plague it with misuses, abuses, and overreliance.
reply