HN user

jfarmer

5,887 karma

Hi, I'm Jesse!

I've been working in technology since 2006 and spent most of my career at very early-stage startups. Since 2012, my focus has been on technical education.

Things I've (co-)founded that you may have heard of:

    Dev Bootcamp — The first coding bootcamp
    https://en.wikipedia.org/wiki/Dev_Bootcamp
    
    Everlane — Someone you know shops there, if you don't
    https://en.wikipedia.org/wiki/Everlane

    Mission Bit — Fee after-school coding classes for SFUSD
    http://missionbit.com
I grew up in rural Michigan and despite living in the SF Bay Area for ~15 years, you'd still be able to tell by my accent.

Ways to contact me (email is best):

    jesse@20bits.com
    https://github.com/jfarmer
    https://twitter.com/jfarmer
    https://www.linkedin.com/in/jfarmer
    http://20bits.com
    
I put a lot of my educational material on GitHub (https://github.com/jfarmer). Some highlights:
      A First Coding Exercise (Assumes 0 Experience)
      https://bit.ly/jfarmer-first-coding-exercise

      JavaScript Self-Diagnostic
      https://bit.ly/jfarmer-diagnostics-js-i
      
      3 Minute Handbook on Student Interactions
      https://bit.ly/student-interactions

      Rules to Learn By
      https://bit.ly/learning-rules
Before Everlane, I spent a lot of time making silly viral apps on Facebook and elsewhere. One incident ended with a subpoena from the US Secret Service and then-famous national news anchor calling me an idiot: https://bit.ly/jfarmer-keith-olbermann-story

Talk to me about entrepreneurship, fundraising, programming, education, and viral marketing. I like being helpful.

Please reach out! :)

[ my public key: https://keybase.io/jfarmer; my proof: https://keybase.io/jfarmer/sigs/NEatVodomRrGhnc6UVqFb16TufwJ8kzSsCTci_nauJA ]

Posts51
Comments1,566
View on HN
jvns.ca 4y ago

Implementing a toy version of TLS 1.3

jfarmer
224pts48
www.inputmag.com 4y ago

His software sang the words of God. Then it went silent

jfarmer
6pts0
www.youtube.com 6y ago

TWiS: Vincent Woo Reflects on His Piece, “Lambda School's Misleading Promises”

jfarmer
3pts0
www.strive.co 7y ago

The Ideal (Data-Driven) Sales Interview [PDF in Viewer]

jfarmer
6pts1
blog.codeunion.io 11y ago

Teaching Novice Programmers How to Debug Their Code

jfarmer
5pts0
founderdating.com 11y ago

Learning Another Language

jfarmer
5pts0
medium.com 12y ago

It’s really not that complicated

jfarmer
3pts0
www.fdpod.com 12y ago

Why I Was Fired From a Tech Startup and What My Boss Had to Say About It

jfarmer
129pts146
devbootcamp.com 13y ago

Interactive Youtube Maps, Daily Inspiration, And The Shortest Route To Fun

jfarmer
18pts0
www.usatoday.com 13y ago

Hacker 'boot camp' helps launch tech careers

jfarmer
2pts0
www.wired.com 13y ago

Programming Bootcamp Turns Lawyer Into Hacker

jfarmer
11pts2
blog.8thlight.com 13y ago

What's Functional Programming All About?

jfarmer
4pts0
20bits.com 14y ago

Keith Olbermann Thinks I'm an Idiot

jfarmer
29pts17
takeaswig.com 14y ago

An entrepreneur's letter from his future self

jfarmer
1pts0
lovestagram.com 14y ago

Instagram Co-Founder’s Girlfriend Learns Python to Launch Lovestagram

jfarmer
6pts1
seldo.tumblr.com 14y ago

Tech recruitment: how not to do it

jfarmer
224pts37
20bits.com 14y ago

Erlang: A Generalized TCP Server

jfarmer
3pts0
20bits.com 14y ago

The Value of a Social Commerce Referral (w/ data)

jfarmer
10pts0
20bits.com 15y ago

Click Hacking for Fun and Profit

jfarmer
10pts0
gigaom.com 16y ago

Swipely Aims to (Politely) Turn Purchases Into Conversations

jfarmer
1pts0
www.briansugar.com 16y ago

I Hate Ad Networks

jfarmer
23pts6
venturebeat.com 17y ago

Twitter is retaining more users than Nielsen thinks

jfarmer
6pts1
news.ycombinator.com 17y ago

Ask HN: Other print-on-demand services besides moo, zazzle, and cafepres?

jfarmer
1pts0
www.deepcapture.com 17y ago

Jim Cramer is a Complicated Man

jfarmer
2pts0
20bits.com 17y ago

Erlang: A Generalized TCP Server

jfarmer
119pts2
20bits.com 17y ago

Erlang: An Introduction to Records

jfarmer
92pts0
www.newsweek.com 17y ago

Could Silicon Valley Become the Next Detroit?

jfarmer
5pts4
news.ycombinator.com 17y ago

Ask HN: Of all the things you've done, what are you most proud of?

jfarmer
5pts9
20bits.com 17y ago

Three Myths of Viral Growth

jfarmer
3pts0
twitterank.com 17y ago

Ask HN: What's your Twitter rank?

jfarmer
1pts5

No, it's really sets of measure zero. The Cantor set is an example of an uncountable set of measure 0: https://en.wikipedia.org/wiki/Cantor_set

The indicator function of the Cantor set is Riemann integrable. Like you said, though, the Dirichlet function (which is the indicator function of the rationals) is not Riemann integrable.

The reason is because the Dirchlet function is discontinuous everywhere on [0,1], so the set of discontinuities has measure 1. The Cantor function is discontinuous only on the Cantor set.

Likewise, the indicator function of a "fat Cantor set" (a way of constructing a Cantor-like set w/ positive measure) is not Riemann integrable: https://en.wikipedia.org/wiki/Smith%E2%80%93Volterra%E2%80%9...

"Almost everywhere" means "everywhere except on a set of measure 0", in the Lebesgue measure sense.

Here's an example of a Riemann integrable function w/ infinitely many discontinuities: https://en.wikipedia.org/wiki/Thomae%27s_function

Anyone interested in this should check out the Prologue to Lebesgue's 1901 paper: http://scratchpost.dreamhosters.com/math/Lebesgue_Integral.p...

It gives several reasons why we "knew" the Riemann integral wasn't capturing the full notion of integral / antiderivative

Seems like a straightforward solution would be to get people to opt-in by offering them credits, increased limits, early access to new features, etc.

Universities have IRBs for good reasons.

Plants "want" nitrogen, but dump fertilizer onto soil and you get algal blooms, dead zones, plants growing leggy and weak.

A responsible farmer is a steward of the local ecology, and there's an "ecology of friction" here. The fertilizer company doesn't say "well, the plants absorbed it." But tech companies do.

There's something puritanical about pointing to "revealed preference" as absolution, I think. When clicking is consent then any downstream damage is a failure of self-control on the user's part. The ecological cost/responsibility is externalized to the organisms being disrupted.

Like Schopenhauer said: "Man kann tun, was er will, aber er kann nicht wollen, was er will." One can do what one wants, but one cannot will what one wants.

I wouldn't go as far as old Arthur, but I do think we should demand a level of "ecological stewardship". Our will is conditioned by our environment and tech companies overtly try to shape that environment.

I think of it like this:

Friction is an element of the environment like any other. There's an "ecology of friction" we should respect. Deciding friction is bad and should be eradicated is like deciding mosquitoes or spiders or wolves are bad and should be eradicated.

Sometimes friction is noise. Sometimes friction is signal. Sometimes the two can't be separated.

I learned much the same way you did. I also started a coding bootcamp, so I've thought a lot about what counts as "wasted" time.

I think of it like building a road through wilderness. The road gets you there faster, but careless construction disturbs the ecosystem. If you're building the road, you should at least understand its ecological impact.

Much of tech treats friction as an undifferentiated problem to be minimized or eliminated—rather than as part of a living system that plays an ecological role in how we learn and work.

Take Codecademy, which uses a virtual file system with HTML, CSS, and JavaScript files. Even after mastering the lessons, many learners try the same tasks on their own computers and ask, "Why do I need to put this CSS file in that directory? What does that have to do with my hard drive?"

If they'd learned directly on their own machines, they would have picked up the hard-drive concepts along the way. Instead, they learned a simplified version that, while seemingly more efficient for "learning to code," creates its own kind of waste.

But is that to say the student "should" spend a week struggling? Could they spend a day, say, and still learn what the friction was there to teach? Yes, usually.

I've worked in tech and lived in SF for ~20 years and there's always been something I couldn't quite put my finger on.

Tech has always had a culture of aiming for "frictionless" experiences, but friction is necessary if we want to maneuver and get feedback from the environment. A car can't drive if there's no friction between the tires and the road, despite being helped when there's no friction between the chassis and the air.

Friction isn't fungible.

John Dewey described this rationale in Human Nature and Conduct as thinking that "Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned." He concludes:

”It is forgotten that success is success of a specific effort, and satisfaction the fulfillment of a specific demand, so that success and satisfaction become meaningless when severed from the wants and struggles whose consummations they are, or when taken universally.”

In "Mind and World", McDowell criticizes this sort of thinking, too, saying:

We need to conceive this expansive spontaneity as subject to control from outside our thinking, on pain off representing the operations of spontaneity as a frictionless spinning in a void.

And that's really what this is about, I think. Friction-free is the goal but friction-free "thought" isn't thought at all. It's frictionless spinning in a void.

I teach and see this all the time in EdTech. Imagine if students could just ask the robot XYZ and how much time it'd free up! That time could be spent on things like relationship-building with the teacher, new ways of motivating students, etc.

Except...those activities supply the "wants and struggles whose consummations" build the relationships! Maybe the robot could help the student, say, ask better questions to the teacher, or direct the student to peers who were similarly confused but figure it out.

But I think that strikes many tech-minded folks as "inefficient" and "friction-ful". If the robot knows the answer to my question, why slow me down by redirecting me to another person?

This is the same logic that says making dinner is a waste of time and we should all live off nutrient mush. The purposes of preparing dinner is to make something you can eat and the purpose of eating is nutrient acquisition, right? Just beam those nutrients into my bloodstream and skip the rest.

Not sure how to put this all together into something pithy, but I see it all as symptoms of the same cultural impulse. One that's been around for decades and decades, I think.

From John Dewey's Human Nature and Conduct, the fallacy that "Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned."

“The fallacy in these versions of the same idea is perhaps the most pervasive of all fallacies in philosophy. So common is it that one questions whether it might not be called the philosophical fallacy. It consists in the supposition that whatever is found true under certain conditions may forthwith be asserted universally or without limits and conditions. Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned. Because the success of any particular struggle is measured by reaching a point of frictionless action, therefore there is such a thing as an all-inclusive end of effortless smooth activity endlessly maintained.

It is forgotten that success is success of a specific effort, and satisfaction the fulfillment of a specific demand, so that success and satisfaction become meaningless when severed from the wants and struggles whose consummations they arc, or when taken universally.”

I sometimes find Paul Watzlawick's five axioms of communication helping in thinking about situations like this.

Link: (https://en.wikipedia.org/wiki/Paul_Watzlawick#Five_basic_axi...)

  1. One cannot not communicate

  2. Every communication has a content and relationship
     aspect such that the latter classifies the former
     and is therefore a metacommunication

  3. The nature of a relationship is dependent on the
     punctuation of the partners' communication procedures

  4. Human communication involves both digital and analog
     modalities

  5. Inter-human communication procedures are either
     symmetric or complementary
Re: (1), the "mere" act of using AI communicates something, just like some folks might register a text message as more (or less) intimate than a phone call, email, etc. The choice of modality is always part of what's communicated, part of the act of communication, and we can't stop that. Re: (2), that communication is then classified by each person's idea of what the relationship is.

This is a dramatic and expensive way to learn they had different ideas of their relationship!

Of course, in a teacher/student situation, it's the teacher's job to make it clear to the students what the relationship is. Otherwise you risk relationship-damaging "surprises" like this.

Even ignoring the normative question of what a teacher Should™ do in that situation, it was counterproductive. Whatever benefit the teacher thought AI would provide, they'd (hopefully) agree it was outweighed by the cost to their relationship w/ students. All future interactions w/ those students will now be X% harder.

There's a kind of technical rationale which says that if (1) the GOAL is to improve the student's output and (2) I would normally do that by giving one or more rounds of feedback and waiting for the student to incorporate it then (3) I should use AI because it will help us reach that goal faster and more efficiently.

John Dewey described this rationale in Human Nature and Conduct as thinking that "Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned." He concludes:

”It is forgotten that success is success of a specific effort, and satisfaction the fulfillment of a specific demand, so that success and satisfaction become meaningless when severed from the wants and struggles whose consummations they are, or when taken universally.”

The act of receiving and incorporating feedback is not "inefficient", especially not in a school setting. The consummation of that process is part of the goal. Maybe the most important part!

Full Dewey quote: https://news.ycombinator.com/item?id=44597741

CS Peirce has a famous essay "The Fixation of Belief" where he describes various processes by which we form beliefs and what it takes to surprise/upset/unsettle them.

The essay: https://www.peirce.org/writings/p107.html

This blog post gestures at that idea while being an example of what Peirce calls the "a priori method". A certain framework is first settled upon for (largely) aesthetic reasons and then experience is analyzed in light of that framework. This yields comfortable conclusions (for those who buy the framework, anyhow).

For Peirce, all inquiry begins with surprise, sometimes because we've gone looking for it but usually not. About the a priori method, he says:

“[The a priori] method is far more intellectual and respectable from the point of view of reason than either of the others which we have noticed. But its failure has been the most manifest. It makes of inquiry something similar to the development of taste; but taste, unfortunately, is always more or less a matter of fashion, and accordingly metaphysicians have never come to any fixed agreement, but the pendulum has swung backward and forward between a more material and a more spiritual philosophy, from the earliest times to the latest. And so from this, which has been called the a priori method, we are driven, in Lord Bacon's phrase, to a true induction.”

From John Dewey's Human Nature and Conduct:

“The fallacy in these versions of the same idea is perhaps the most pervasive of all fallacies in philosophy. So common is it that one questions whether it might not be called the philosophical fallacy. It consists in the supposition that whatever is found true under certain conditions may forthwith be asserted universally or without limits and conditions. Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned. Because the success of any particular struggle is measured by reaching a point of frictionless action, therefore there is such a thing as an all-inclusive end of effortless smooth activity endlessly maintained.

It is forgotten that success is success of a specific effort, and satisfaction the fulfillment of a specific demand, so that success and satisfaction become meaningless when severed from the wants and struggles whose consummations they arc, or when taken universally.”

John Dewey on a similar theme, about the desire to make everything frictionless and the role of friction. The fallacy that because "a thirsty man gets satisfaction in drinking water, bliss consists in being drowned."

The fallacy in these versions of the same idea is perhaps the most pervasive of all fallacies in philosophy. So common is it that one questions whether it might not be called the philosophical fallacy. It consists in the supposition that whatever is found true under certain conditions may forthwith be asserted universally or without limits and conditions.

Because a thirsty man gets satisfaction in drinking water, bliss consists in being drowned. Because the success of any particular struggle is measured by reaching a point of frictionless action, therefore there is such a thing as an all-inclusive end of effortless smooth activity endlessly maintained.

It is forgotten that success is success of a specific effort, and satisfaction the fulfilment of a specific demand, so that success and satisfaction become meaningless when severed from the wants and struggles whose consummations they are, or when taken universally.

Always a pleasant surprise to see Peirce linked here!

He influenced many people, both directly and indirectly, but had a...difficult personality. He has many thousands of pages of written work, but resisted finalizing anything "publishable". His style is (IMO) an extreme example of that dense, meandering, 19th-century Victorian style, which can make for very hard reading.

But he made significant contributions to many fields, from mathematics to experimental physics to logic to (nascent) computer science to philosophy.

This 2019 article from Aeon magazine outlines much of it: The American Aristotle https://aeon.co/essays/charles-sanders-peirce-was-americas-g...

Umberto Eco said: "Charles Sanders Peirce is undoubtedly the greatest unpublished writer of our century." (cf. https://www.jstor.org/stable/2907146)

Cornel West said: "Charles Sanders Peirce is the most profound philosophical thinker produced in America."

For example, Peirce coined the term "fallibilism":

For years in the course of this ripening process, I used for myself to collect my ideas under the designation fallibilism; and indeed the first step toward finding out is to acknowledge you do not satisfactorily know already; so that no blight can so surely arrest all intellectual growth as the blight of cocksureness; and ninety-nine out of every hundred good heads are reduced to impotence by that malady — of whose inroads they are most strangely unaware! Collected Papers, §1.13

He was the first to articulate the type/token distinction. He has truth tables ~40 years before Wittgenstein. He had diagrams of electrical circuits that could do basic logic. He was the first to show (in the 1880s) that NOR and NAND were sufficient to reproduce the other logical connectives.

He was the first to propose tying a standard unit to an absolute measure (in Peirce's case, defining the meter in terms of the wavelength of a spectral line): https://pubs.aip.org/physicstoday/article/62/12/39/390647/Ch...

The ideas in the paper where he proposed that were taken up by Michelson and Morley, who credit Peirce in several of their interferometer papers.

“It is a profoundly erroneous truism, repeated by all copy-books and by eminent people when they are making speeches, that we should cultivate the habit of thinking of what we are doing. The precise opposite is the case. Civilization advances by extending the number of important operations which we can perform without thinking about them. Operations of thought are like cavalry charges in a battle — they are strictly limited in number, they require fresh horses, and must only be made at decisive moments.”

— Alfred North Whitehead, "Introduction to Mathematics" (1911)

I sometimes use a Turing Tumble to demonstrate this: https://upperstory.com/turingtumble/

I've also had occasional success first convincing them they know how to add "mindlessly", by just manipulating symbols, and then explaining that we can have machines do it mindlessly, too. I don't use those words, ofc.

For example, you might ask them "Imagine you had a younger sibling who couldn't add. Maybe they didn't even know what numbers were. Could you teach them how to add by just telling them what symbols to write down as they looked through the symbols in the addition problem? Maybe there's an index card labeled '6+3' and on it is written '9'. You tell them to look for the correct index card and write down the corresponding symbol."

You can also explain binary to any interested student who is 13+ and then the idea that a machine can do it becomes a lot easier.

This video of Richard Feynman explaining how computers works is very good: https://www.youtube.com/watch?v=EKWGGDXe5MA

He uses a metaphor I've gotten a lot of mileage out of. Imagine you have a clerk who can add and multiply like a regular person. Now imagine there's someone else who knows only how to add and count, but have no idea what multiplication is.

If they can add and count fast enough, it'll look to an outsider like they not only know what multiplication is, but they can do any multiplication problem almost instantly.

Computers are like that: dumb but fast.

If they do something fast enough they give the illusion of "understanding", kind of like movies give the illusion of motion by swapping out still images fast enough.

I did this years ago to demonstrate to my students that the "exact solution" can still be written in code. There are implementations in Ruby and Python, with some benchmarking code: https://github.com/jfarmer/fib-bench/

Code winds up looking like:

  def fib_phi(n)
    ((PhiRational(0,1)**n - PhiRational(1,-1)**n)/PhiRational(-1, 2)).a.to_i
  end
The exponentiation operation uses basic exponentiation by squaring for performance: https://en.wikipedia.org/wiki/Exponentiation_by_squaring

(Technically implemented arithmetic over Q(ϕ) not Q(√5) because it simplifies the code a bit.)

This is a great book and I quote this 1998 article she wrote for Salon all the time: https://www.salon.com/1998/05/12/feature_321/

"The dumbing-down of programming"

The computer was suddenly revealed as palimpsest. The machine that is everywhere hailed as the very incarnation of the new had revealed itself to be not so new after all, but a series of skins, layer on layer, winding around the messy, evolving idea of the computing machine. Under Windows was DOS; under DOS, BASIC; and under them both the date of its origins recorded like a birth memory. Here was the very opposite of the authoritative, all-knowing system with its pretty screenful of icons. Here was the antidote to Microsoft's many protections. The mere impulse toward Linux had led me into an act of desktop archaeology. And down under all those piles of stuff, the secret was written: We build our computers the way we build our cities -- over time, without a plan, on top of ruins.

I repeat the last sentence to my students all the time ("We build our computers the way we build our cities -- over time, without a plan, on top of ruins.")

There's no way to understand why our computers work the way they do without understanding the human, social, and economic factors involved in their production. And foregrounding the human element often makes it easier to explain what's going on and why.

Love this.

The way I think about it is that you assume a level of responsibility whenever you tinker with default affordances. Your "feature" isn't restricted to whatever narrow conception or intention you had when you designed it. It consists in the totality of a visitor's actual experience.

If I change the logic of the the back button, I'm changing what the back button affords on this particular website and become responsible for whatever happens as a result.

That includes confused and frustrated users saying "Screw you and your broken website."

Or take, e.g., the way scrollbars work, which can be very browser-and-OS-specific. Are you sure you want to assume responsibility for that? How sensitive are you to the downside, really?

Essentially, you're making your website speak a kind of creole. You've forgone any right to be upset if your visitors don't speak it and shouldn't be surprised if they persist in "misinterpreting" it.

Forget about avoiding such "features" because you want to be nice to your visitors. It always seemed to me they offer limited upside and unlimited downside.

Matrices and Graph 3 years ago

If folks are looking for terms to Google, try "spectral graph theory" and "algebraic graph theory"

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

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

Pretty much every field in math has a related field where you try to turn problems from the former into linear algebra problems.

The "spectral theorem" (https://en.wikipedia.org/wiki/Spectral_theorem) is an important theorem in linear algebra that gives conditions for when a matrix can be diagonalized, which is closely related to what its eigenvalues/eigenvectors look like.

The simplest version of the spectral theorem says that a symmetric matrix with real-number entries has real-number eigenvalues. The eigenvalues of a matrix are called the "spectrum of the matrix", hence "spectral theorem" and "spectral graph theory".

The adjacency matrix of any undirected graph is real symmetric, so its eigenvalues are all real numbers and it's natural to ask whether they say anything about the underlying graph.

Lucky for us, there are lots of surprising connections!

For example, say G is an finite undirected graph. The chromatic number of G, denoted χ(G), is the fewest number of colors needed to color its vertexes so that no two adjacent vertexes have the same color.

If λ₁ is the largest eigenvalue of G's adjacency matrix then there's a theorem (Wilf's theorem) that says

    χ(G) ≤ 1 + ⌊λ₁⌋
That is, you can always color a graph with 1 + ⌊λ₁⌋ colors, where ⌊x⌋ is the floor of x.

And there are some (finite, undirected) graphs that require exactly 1 + ⌊λ₁⌋ colors, so we're not doing any better unless we can say something more specific about the graph.

Wilf's Theorem:

https://www2.math.upenn.edu/~wilf/website/Eigenvalues%20of%2...

https://www2.math.upenn.edu/~wilf/website/Inequality%20for%2...

I'm not proposing anything WRT the depth or scope of the material.

If the premise of the material is that phrases like "dot product" can be used freely or with minimal explanation then images like the "place the apple quiz" make even less sense. For that person, not much more needs to be said than "We want to represent words as vectors so we can do linear algebra with them. If the representations preserve structure we care about then here are some cool things that happen: (examples of good and bad embeddings)."

Then go deep, having given them an adequate advanced organizer.

I understand that, of course.

Is your goal to make it feel like a typical university course or like something else?

If like a typical university course, start with a syllabus and a course description and all the logistics.

If like something else then the first 10 seconds of the experience should make people go "Oh, this is different."

What's happening in the first 1 second, 30 seconds, 1 minute, 10 minutes, etc. that are reflective of the rest of my experience? That will serve as an advanced organizer for what's to follow?

The very first graphic I see is labeled as a "quiz" and requires me to read a bunch of surrounding text to make sense of it.

That's the vibe: a promise of something visual and intuitive, first consummated by a long syllabus and a quiz.

We've just published a lot of original, visual, and intuitive explanations of concepts to introduce people to large language models.

Kinda frustrating that the main link dumps me onto what reads like a university syllabus, and nothing original, visual, or intuitive.

If I click through the sections in order, there are 5 "preamble" sections describing logistical and other meta-information about the course. All text.

The first pedagogical image I see this this, which tbh doesn't make any sense to me: https://files.readme.io/329efd5-image.png

"Where would you put the word apple?"

The image alone doesn't work without reading the supporting text very closely. I also have to have a pretty sophisticated understanding to get the idea that I can represent words as points in a plane.

Representing the words as icons is fundamentally confusing, too, I think. After all, maybe I say the word "apple" should go in "d" because it has at least two senses: a fruit and a machine.

Oh, sorry, you failed your first quiz!

"You can't fail the quiz, you're not being graded." Then why call it a quiz? Why use classroom metaphors unless you want students to fall back on classroom behaviors?

Of course, you know the #1 student classroom behavior: not reading the syllabus.

But if I have no trouble with that level of abstraction, what's with the cutesty way of describing the problem?

Get rid of all this chocolate-covered broccoli. Just say and show what you mean.

Computers like numbers. Vectors are lists of numbers. Vectors come with concepts like length and distance. We want to transform words into vectors so that words we think of as similar are close together as vectors.

There are many ways to translate words into vectors. Here are 5-10 examples of how we might do that. What are some pros/cons? What relationship(s) do they make clear or obscure?

Get them thinking about what it means to embed things and why we'd want to embed words one way vs. another. That'll pay dividends. Having them remember "where the apple icon goes" isn't going to be something they'll benefit from reflecting on in any future experience.

One nice thing about macOS is that many of the system GUI tools are graphical wrappers around a command-line tool that does the real work.

Most of them live in /usr/sbin

I keep a list for my students. Here are some:

   diskutil
   mdfind
   mdutil
   plutil
   networksetup
   softwareupdate
   screencapture
   pmset
   hdiutil
   pkgutil
   caffeinate
   osascript
   defaults
   launchctl
For example, mdfind lets you use Spotlight search on the command line. diskutil powers "Disk Utility.app". pkgutil lets you install .pkg files and also get information about programs installed that way. screencapture lets you take screenshots from the command line (you can specify which windows, etc.)

Anyhow, there's a bunch.

There are also random useful executables not in $PATH. This program powers your WiFi menu:

   /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
Try "airport -I"

A silly one-liners to print out your overall WiFi strength:

   airport -I | grep -E 'agrCtlRSSI|agrCtlNoise' | awk '{print $2}' | sed -e 'N;s/\n/ - /' | bc
Put that in a script called "wifi-strength" and walk around your house with a laptop while running the following:
   watch -n1 "wifi-strength | say"

I do think "blog post learning" can work, but agree with you that this ain't it. The "explanation" on the blog post would really only work for someone who more-or-less understood Fourier Series already.

You're also right that explanations can't be isolated. I'd go further and say they never are. People only come to understand new things in terms of things they already understand. There's no "explaining X" in isolation, there's only "explaining X in terms of Y." A good explanation either supplies a suitable Y or makes it clear to the reader what Y they'll be relying on.

So, even if the author tries to isolate, a successful explanation always relies on collateral information. The only question is whether that collateral information is left to chance or intentionally exploited.

What's the "Y" here? Well, the author assumes the reader can make sense of phrases like "energy at a frequency", what it means to "spin your frequency around a circle", "average a bunch of points along a path", etc.

That's...a lot. I'd go so far as to say that a reader who can make sense of that probably already understands more fundamental concepts like vector spaces, bases, and Taylor Series.

And if they understand those things then there are much more straightforward explanations available!

Glad to hear our students worked out for you! We tried hard to give students a career, not just their first job.

Some of the other anecdotes in this thread are disheartening, for sure.

Flatiron, Hack Reactor, and Hackbright also had similar reputations early on. A very different landscape now.