I'm using the MS suite for the first time in over a decade...and the collaborative aspects are still nowhere near Google's. I routinely get problems when multiple people are editing the same content (Word doc, spreadsheet, or PowerPoint). And sometimes the thick client works best, sometimes browser editing works fine...but it's inconsistent.
For all of them, Microsoft has a more complete feature set...but for 99% of things (and anything with lots of collaboration), I prefer Google Work Suite or whatever it's called this month.
>>It's the best authoring tool we've ever devised.
100% agreed. Creating a spreadsheet is declarative programming, and Excel (and now Google Sheets) has made more developers than any other platform (probably by an order or two of magnitude).
I do not know a business that was not CRITICALLY dependent on Excel for actual business operations through the 90s and 00s...and the same is likely true today.
> If you remove the people born into privilege, from attending your college, all you succeed is in making your college irrelevant,
I don't think that the Cal Grants program was ever designed to remove those people from the program. It was designed to make sure they didn't get an advantage. In other words, it was prevent universities from letting people who otherwise would not have made the grade in just because their parents made the grade.
Giving alumni's children an advantage isn't giving an advantage to "the smartest, most charismatic, most talented people" -- it's giving an advantage to the luckiest (the ones who happened to be born into it).
And the phrase "it would be ideal if those born into privilege could also clear the SAT" is such a strange one. OF COURSE rich people can "clear the SAT;" in fact, they get the advantage of MUCH better preparation, etc. So this is absolutely about giving an advantage to kids who could not qualify on their own.
To be clear: I don't think Stanford is doing this to keep poor people out (their scholarships have always been very generous). But I do think the administration probably done some basic calculation: they get more in donations from alumni who want legacy admissions for their progeny than they get from Cal Grants.
And Stanford has decided that accepting some kids who just don't make the grade is worth that economic advantage.
The whole point of the OP is that if you have merit-based students AND the landed gentry, the landed gentry get at least 4 years of interaction with smart but poor(er) backgrounded people.
Without it, you end up with some entirely merit-based schools and some true Ivory Towers and the Twain rarely meet.
The problem, in my mind, is the interaction of legacy admissions with other forms of background-based admission.
Once I'm overlooking poor test scores for the 'landed gentry' background, I've got little defence when people demand I overlook poor test scores for other backgrounds too.
Before I know it, a trivial amount of arguably-unfair-ness that was flying under the radar becomes a non-trivial amount, and now everyone's mad at me.
While I hate the taste, it makes sense to combine smart with powerful if you want to produce industry.
The rich don’t need to be particularly competitive academically - they are hyper-advantaged socially.
Exposing them to intelligent thought keeps them from being powerful ignoramuses, and encouraging the academically gifted to rub shoulders with those that can help them to implement their ideas is also an advantage.
I hate it but it actually makes sense to me.
I’m not sure that was the motivation in this case though, easily could have been an accounting decision.
> Exposing them to intelligent thought keeps them from being powerful ignoramuses
But would it not also, for the same reasons be good if the rich and powerful were exposed to Native Americans, military veterans, wheelchair users, religious minorities, minority sects of religious majorities, young parents, trans folk, mature students, reformed convicts, people with mental health problems, and so on?
Probably not so useful, since they would not be forced to acknowledge that those people were at least in some ways superior to them? If they know they are surrounded by intellectually superior people, it is probably the first time they are confronted with that kind of contrast. (But that’s just a guess. I suspect that the answer would be highly variable by the individual case)
Equality of outcomes, or equality of opportunity? Because shooting for equality of outcomes has got a really, really bad track record. Essentially, it is only possible in an unfree society, and even then it has never been proven to work. Ever. Not even one time.
Nobody wants equality. People merely don’t want to be thwarted in their pursuit of a worthwhile life.
We should do what we can to ensure that special barriers aren’t erected for anyone and that everyone can succeed on their merits, but also we must balance that ideal with the fact that some people wield disproportionate power, either as a result of their merits or otherwise.
There is no easy solution, only less bad compromises
We can start with equality of opportunity if you like. But there's no way to achieve equality of opportunity in generation N+1 unless you achieve approximate equality of outcomes in generation N, because one generation's outcomes are the next generation's opportunities.
How do you expect to achieve equality of outcomes when some people are born with an IQ of 90, and others with 110? Some with 80, others with 120? And for every 130, there’s a 70 that can barely function in society, and for every 140 there’s a 60 that simply cannot?
People are not born with equal potential in athleticism or intellect. It’s inconvenient, but it’s true.
The only way to achieve equality is to severely attenuate potential to the lowest common occurrence. Pol Pot tried that.
How do you expect to achieve even equality of opportunity when those differences exist?
First, you don't need to achieve exact equality, just approximate equality. That approximate equality can incorporate a range of levels of wealth and still be enormously more equal than what we have today. It is fine if someone with an IQ of 130 has 100x the wealth of someone with IQ 70. It's not fine if someone with an IQ of 130 has 10^9x the wealth of someone with IQ 70. It's also not fine if someone with IQ 130 has 10^9x the wealth of someone else with IQ 130. (It's questionable whether IQ is even a meaningful measure, but I'm just using it here as a proxy for whatever kind of "innate ability" we want to posit.)
Second, you don't need to achieve equality of all forms of outcomes, just economic means (and political rights, etc.). Not everyone can be a concert pianist or a venture capitalist, but that's okay as long as concert pianists and venture capitalists don't have 1000x the wealth of everyone else.
It's perfectly fine for people to have different aptitude and even different levels of aptitude in general. It's just not fine for those differences to translate into enormous differences in baseline well-being (e.g., food, shelter, time).
Ironically, of course, if we achieved this, it would then be much less objectionable for Stanford to do whatever it wants, because it would mean we've created a society where going to Stanford doesn't really matter so much. But the question is what does Stanford (and everybody else) need to do in the meantime to get to that point.
Equality of opportunity is relatively easy: you provide people with the same opportunities, that they must meet at their own innate capacity and motivation.
I don’t defend that a doctor should make 20x what a nurse does, or that the c-suite should make 20000x what the janitor makes. But it’s also fine that some people don’t produce anything of value, at all, while others produce a lot of value for society. A meritocracy with a mechanism to limit suffering and harm to those who cannot participate seems a reasonable solution. We don’t need or want to incentivise parasitism at high or low levels.
> the administration probably done some basic calculation: they get more in donations from alumni who want legacy admissions for their progeny than they get from Cal Grants.
The calculation was beyond basic - I read somewhere here that it was around $3m that they were getting from Cal Grants.
Around 8 years ago, I heard (from a friend of mine) that the min donation to guarantee admission to Stanford was ~$10m. Wouldn’t be surprised that it’s even a higher number nowadays…
The crazy thing is that they refused CalGrants not because it forces them to end legacy and donor admissions, but because they’d have to publish data about such admissions.
So the calculation was that a report showing how much unfairness there is in the admissions process will hurt the Stanford ‘brand’ by more that $3M per year. Ouch.
I mean, I think this decision also shows how much unfairness there is. I guess the difference is this is a one-time thing that people may forget about, whereas reports would be required on an ongoing basis.
> Their benefit is also much clearer, the $10M donation you mentioned can clearly and directly help a lot of students.
The benefit is clear, I would argue the detriment is also clear: Stanford is arguing that bribery is an acceptable method of doing business, not something that deserves opprobrium.
Top schools in the US, of any variant, mostly don't really want good SATs as a sole measure. They may be an important factor. But admissions are far more multi-faceted--however imperfect. And however unsatisfying that may be to some people with top SAT scores.
Ok, fine, then can we stop pretending in the bullshit of the meritocracy then, and that everyone who graduated from these elite schools is so deserving?
At least the British aristocracy had the concept of noblesse oblige, while the US aristocracy loves to lecture the poors on how they should be pulling themselves up by their bootstraps (and it always bothers me that that analogy was invented to point out the impossibility of actually pulling yourself up by your bootstraps, but somehow came to mean the opposite).
IMO the "bootstraps" thing was always an insulting joke. Something the wealthy would say to knowingly insult the poor. Go do the impossible you stupid poor person while they laugh so hard their monocles fall into their brandy. Its like spitting on someone just cause you can. Yes, this is an absurd characterization, an almost cartoonish villain trope. It's a silly world!
But something happened: people who didn't understand it was meant to indicate somthing impossible started using it like it was some moralizing good. And here we are, saying dumb shit on the internets.
The point is the saying is that it's not physically possible to pull yourself up by your bootstraps. It's always very funny when people say it as if it means the opposite.
"I am, somehow, less interested in the weight and convolutions of Einstein's brain than in the near certainty that people of equal talent have lived and died in cotton fields and sweatshops." -Stephen Jay Gould
I see where this quote is coming from… but Einstein is a bad example. His success was not from golden Stanford opportunities.
Every life decision was him opting out of responsibility and prestige to spend more time on his interests.
So “people of equal talent, and commitment to their work at the cost of all other qualities of life including relationships” looks very different than that quote wants to suggest.
The context of this discussion is an argument that we need to find the Albert Einstein of the world to help them go to Stanford. My argument is that Einstein never went to the proverbial Stanford. In fact he avoided those things.
You could make the same argument for why any kind of prejudice should be allowed since, for example, racism provides an advantage that functions in the real world. This seems like a bad defence for legacy admissions.
There are hundreds of colleges, many of which have high acceptance rates and perfectly fine instruction. Are these applicants or the people in this thread then displaying preference or prejudice in the institutions they apply? And if so, what makes it different than the institutions do the same?
Where's the special admission program for lottery-winners, con-artists and pickpockets? Those also function in "the real world" - so why not at Stanford?
In the real world, individuals can't do much. It's only through the collective cooperation and the trust behind such cooperation that allows things to happen. Social Elites come with a wealth of trust from the legacies of families and connections that slowly built them up over hundreds of years. And such bonds survive even without the state, predate it and ultimately build it.
That is the "real world". Everything else is just an abstraction, propped up by a system that has only existed for a definite period of time and will not exist outside of that.
I can't help but notice the contrast in the tone (and content) of this HN discussion, compared to the one on the ruling that ended affirmative action[0] for university admissions. Then, the majority of commenters were on the side of meritocracy. HN is consistently pro-elite, perhaps because a good chunk of folk here see themselves as intellectual elites.
I just love his writing so much -- he captures what I felt when I discovered Lisp. As a kid learning programming in the 80s, I had already done some BASIC, Fortran, Pascal and COBOL in high school and early college. There were differences, of course, but they had some fundamental commonality.
At UC Berkeley, however, the first computer science class was taught in Scheme (a dialect of Lisp)...and it absolutely blew me away. Hofstadter is right: it feels the closest to math (reminding me a ton of my math theory classes). It was the first beautiful language I discovered.
(edit: I forgot to paste in the quote I loved!)
"...Lisp and Algol, are built around a kernel that seems as natural as a branch of mathematics. The kernel of Lisp has a crystalline purity that not only appeals to the esthetic sense, but also makes Lisp a far more flexible language than most others."
Maybe Haskell is more like Bourbaki math, whereas Lisp is more like Russian style maths (ala Vladimir Arnold). I prefer the latter tbh, and I come to programming from a maths background. We are all different. Lisp to me is yet to be surpassed in terms of ergonomics when transfering my thoughts into computer code.
I'm not sure what you mean by characterize. Bourbaki-style is extremely rigorous, to the point of missing the forest for the trees. The so-called Russian style (there are plenty of non-Russian examples) is more driven toward building intuition and getting to the essence of the matter. In this way lisp is more similar to the latter because it facilitates prototype (essence) development. In Haskell you pretty much have to do a captcha equivalent of programming just to prove to the compiler you are allowed to do io :)
That is a very interesting perspective of Haskell vs. Lisp., I don't come to programming from a math background, but I am Russian. Maybe that's why I always preferred Lisp-style instead of Haskell :)
Most obviously (from the linguistic's point) Lisp is Latin of programming languages. Has the similar historical importance; similar foundational role; continued relevance, elegance and power; evokes similar reactions from neophytes.
From the point of Biology: Lisp is a prokaryotic cell - simple, fundamental, highly adaptable.
In Chemistry: Lisp is carbon - versatile, forms the basis of complex structures.
In Geology: Lisp is like bedrock - foundational and supporting diverse structures above it.
In Astronomy: Lisp is a primordial star - ancient, influential, contributing to the formation of newer elements.
In Physics: Lisp is a quark - the basis of all baryonic matter.
The difference is that it's not the case that a majority of chemists are ignorant about carbon, or geologists about bedrock, or astronomers about primordial stars or physicists about quarks.
Lisp is like an entire branch of computer science, about which a lot of people in computer science are ignorant.
Allow me to gently disagree. Most computer scientists I know are not ignorant about Lisp. Some scholars consider computer science a branch of mathematics, while others avoid such broad generalizations, as modern computer science has evolved into a broader discipline.
It's just that the majority of modern programmers are not concerned with mathematics, and that's perfectly acceptable. Mathematics itself has so many different levels that even mathematicians themselves are not always certain if they are indeed practicing mathematics.
You may be conflating programmers and computer scientists, but this could also be a perfect case of selection bias, where both of us are simultaneously correct and incorrect in our assertions.
I mean what it usually means: to list distinguishing features, or at least give (necessary and sufficient?) criteria for membership of some class.
Whilst I'm vaguely familiar with Bourbaki and how it strongly influenced the way mathematics is written today, I hadn't come across that dichotomy before. Your answer was what I was looking for!
No! After about 10 years of writing software professionally, I moved over to product management, and my time spent coding decreased drastically (in the last 15 years, only some Python to show my kids a thing or two).
But I'd love to try! Maybe I'll take an online class for fun.
I can't recommend it highly enough. You're already familiar with laziness from Lisp, but purity is another head-trip. It made me a better programmer in any language, and even a better software architect before I've written a line of code.
And algebraic data types make it possible to make your code conform to reality in ways that classes can't. Once you're exposed to them, it's very much like learning about addition after having been able to multiply for your whole life. (In fact that's more than a metaphor -- it's what's happening, in a category theoretic sense.)
Haskell has other cool stuff too -- lenses, effect systems, recursion schemes, searching for functions based on their type signatures, really it's a very long list -- but I think laziness, purity and ADTs are the ones that really changed my brain for the better.
Have you tried Coalton? It's a Common Lisp library that adds Haskell-esque (or near-Haskell) type wonders, and which smoothly interoperates with your Common Lisp code.
Your comment is great though, consider me convinced. I've done a bit of messing with Lisp, but really would like to try write something in Haskell, or slog through a book or two, some day.
As someone with some experience in Haskell (although not an expert by any means): Haskell and some of its concepts are foreign to many people, but I think that it is actually easier to program in Haskell than in many other languages I know. At least for my ADHD brain ;)
This impression can be changed somehow by the fact that Haskell and its community has two faces: There is the friendly, "stuff-just-works" and "oh-nice-look-at-these-easy-to-understand-and-usefull-abstractions" pragmatic Haskell that uses the vanilla Language without many extensions, and being written by people that solve some real-world problem by programming.
Then there is the hardcore academic crowd - in my experience, very friendly, but heavily into mathematics, types and program language theory. They make use of the fact that Haskell is also a research language with many extensions that are someones PhD thesis. Which might also be the only documentation for that particular extension if you are unlucky. However, you can always ask - the community is rather on the side of oversharing information than the opposite.
Rust fills that gaping hole in my heart that Haskell opened a bit - not completely, but when it comes to $dayjob type of work, it feels somewhat similar (fight the compiler, but "when it compiles, it runs").
> I think I’m too dumb to learn Haskell though lol.
I felt the same way, a lot of people feel that way.
This is in part because FP is difficult, typed FP is difficult, and Haskell is difficult. All by themselves. They do get easier once you intuit more and more FP in general I'd say.
Then there's also a phenomena described in the Haskell Pyramid[0] where it sometimes appears more difficult than it really is.
Like a lot of things, actually building something gets you a long way, esp. with the advent of chat AIs as it's comparatively easy to go back an fourth and learn little by little.
Personal anecdote: I got a lot more out of lisp that stuck with me than Haskell. Occasionally I say "oh this is a monad" or think about a type signature, but that's about it.
At the risk of diverging off from the original post, I also think that calling it "math" might make things a bit murky (and this is coming from someone who wanted to be algebraic topologist!)
It _is_ an elegant and minimal expression of a style of programming that is ubiquitous among dynamically-typed, garbage-collected languages. And it's a "theory" in the sense that it seems complete, and that you can think of ways to solve problems into Scheme and translate that into other dynamically-typed languages and still end with an elegant solution. Emphasis on the elegant (since minimal, wart-free, consistent and orthogonal, etc.).
Scheme was a simplification and a "cleaning up" compared to conventional Lisps of the time (lexical scoping, single shared namespace for functions and variables etc.)
I love this so much. From 1992-1996 I was in a band in the SF Bay Area. I played the congas, but really I think they just let me do that because I also took on the band's webpage.
It was dozens and dozens of pages of hand-coded HTML, updated nearly daily, with lots of easter eggs, etc. I had programmed a ton (I was a C/C++ developer at the time), but never in HTML. I learned everything by "viewing source" (at the time, most of the web was hand-written HTML).
We hosted it at The Well, which even then had a little bit of cachet in the community.
One of my great regrets was that we didn't keep a copy of the site -- and we "retired" and took down the site early enough that the Wayback Machine doesn't have a copy.
For demos, I long ago learned to "start with the good part."
If you have some fantastic monitoring software, don't start with an intro for how you installed it, how you set up the metrics collection, how you hooked the front end up to the time series database, then show a cool graph with info that the user never had before.
Instead: start by showing a cool graph they never had before. Explain why that graph is so useful. And THEN, now that everyone cares...you can take the time to show how you got to nirvana.
I've seen so many demos that start with a longish, boringish process to get someplace cool, and they would have been better had they started by showing something cool.