
Founder of @_MathAcademy_. Wrote a lot of the original real-time tech at https://xitter.cf/t.co/lYsx2oCHsu.
Pasadena, CA
Joined March 2009
- Tweets572
- Following416
- Followers4K
- Likes7.6K
Like most people, I struggle to maintain focus on any task that doesn't require my full attention, but what works for me is to watch something in the background that's interesting but that I've already seen, so I don't get distracted or have to keep pausing and going back to watch what I missed.
My current favorite, which allows me to lock in for a full day (typically on a weekend), is "Icons Unearthed: Star Wars Episodes 1-6", which is simply fantastic.
I loved Star Wars as a kid, and I've always been interested in filmmaking, but there's a tech-heavy startup story that goes along with it that I find particularly interesting. Highly recommended!
There's a whole story about how the Eurisko course sequence got started, which I'll link to in a comment.
A couple of weeks ago, I discovered that two of the five students from @justinskycak's first Eurisko class (CS/ML variant of our high-school Math Academy program), which he taught remotely as an experiment during the pandemic year, will be starting PhD programs in quantum computing this fall: Eli at Michigan and Riley at UCLA.
I emailed them both after discovering this (one is the son of a good friend from college), and after getting in touch with each other, they realized that they're researching almost the exact same topic! Quantum entanglement, I guess. 😀
A couple of weeks ago, I discovered that two of the five students from @justinskycak's first Eurisko class (CS/ML variant of our high-school Math Academy program), which he taught remotely as an experiment during the pandemic year, will be starting PhD programs in quantum computing this fall: Eli at Michigan and Riley at UCLA.
I emailed them both after discovering this (one is the son of a good friend from college), and after getting in touch with each other, they realized that they're researching almost the exact same topic! Quantum entanglement, I guess. 😀
"Intelligence just makes up for a lack of structure."
Not exactly, but it's analogous to something my high-school basketball coach, who also happened to be a brilliant physicist, used to say:
"Height just makes up for a lack of speed".
Both share a kind of backwards equivalence and are meaningful in a similar way. That is, with enough speed, you don't really need much, if any height, and with enough structure, you don't need much, if any intelligence.
"Dad, when are you going to merge my PRs?"
"C'mon, there are at least 10 in your inbox. I'm stuck in PR hell!"
It's like, I hear this practically every day from him. Back when I was in college, you know, like the late 1800s, kids just nagged their parents about not having enough money for books, or plane tickets for spring break, or let's be honest, we just wanted money.
And then today, I get these texts from him (see below) because "apparently" I'm not responsive enough on Slack.
First of all, I'd like to point out the glaring lack of punctuation, which Gen-Zers seem to avoid at all costs. I mean, do they even teach grammar anymore, or is it like cursive and the slide rule, relegated to the dustbin of history?
Second, you notice the "(monday)" as if I'm going to ignore text notifications for more than a day. Kind of needling, I'd say. Look, I almost always/usually read texts from my children. I mean, mostly. What do you want? They're like teenagers, and you know how annoying they are! Now that I think about it, I should reject his PR for that reason alone.
Kids today! Go play a video game or something.
It was fun listening to a couple of @ninja_maths stories about when he first started working on his math Ph.D. Everyone, even superstar rookies, gets humbled when they first step out onto the field.
This is a quick demo of our upcoming in-task coaching feature, which should help keep students on track and using their time effectively.
In coding, it's almost impossible to overstate the importance of accurate, descriptive, and ideally concise naming, whether it's a variable, function, class, database table, file, or directory.
Whenever I struggle to come up with a good name for something, it's typically a strong indicator that my solution, as I've conceptualized it, is off. Conversely, whenever I nail the naming, everything usually falls right into place.
Given that, it's always worth thinking hard about naming, even if it sometimes feels like a waste of time. Sure, if it's a throwaway script, then names like x, y, line2, and even temp3 are probably fine (I guess), but if it's going to exist in a large, complex codebase, then breaking your brain while iterating through a list of candidate names until you find just the right one is worth the investment.
Yesterday, I did exactly that for almost two hours to the point that I began cursing myself and started to feel like I had wasted the better part of the morning. But in the end, the pain and effort paid off, and all of the names now tell a straightforward story of what the code is actually doing. This, of course, is critical in the never-ending fight against the creeping complexity of a production codebase.
We're starting to level things up with this second episode. I got a 4K webcam and a pro mic, which is certainly an improvement.
Unfortunately, @justinskycak didn't receive his new gear until a day or two after this was recorded, but he has it now.
We're still figuring things out, but we'll get there. The lighting could probably use some work, so that's next on my list. And of course, we're still experimenting with the content and format.
Justin has been doing all the heavy lifting with the planning, editing, captioning, and posting, so basically everything, which is good because that's the only way this would be getting done. :)
TEACH LIKE YOUR LIFE DEPENDS ON IT
Full episode of the 2nd @_MathAcademy_ podcast with @exojason:
0:00 - What Would a Tutor Do, If Their Life Depended On It? (Part 1)
5:47 - Find Your North Star: Why Justin Quit His Data Science Job to do Math Tutoring Full Time
11:23 - Getting "Inside the Trade"
19:31 - What Would a Tutor Do, If Their Life Depended On It? (Part 2)
27:28 - Efficient Learning Techniques are Obvious if You Think About Athletics
33:45 - Enjoyment is a Second-Order Optimization
39:50 - We Need to Stay Hardcore, But Become Less Harsh
51:14 - Math Academy is Like "Yuri's Gym"
59:06 - Vision for the Future of Math Academy
1:14:23 - Goal Setting/Advising and Communicating Progress
1:24:58 - If All You Show Up With is AP Calculus, You're Probably Outgunned
1:51:08 - The Meta-Skills that Kids Need to Work Effectively on Math Academy
2:08:54 - How to Help Students Maintain Successful Learning Habits While Working Independently
2:32:29 - Overhelping: A Common Failure Mode of Well-Intentioned Parents/Tutors
One of my favorite aspects of building software is the craftsmanship that goes into creating an effective UI. I fly solo on this part, so it's an entirely iterative and organic process for me where I just keep asking myself questions like:
"Is this going to allow users to do what they want, or do I need to add more functionality? Is this too complicated or too confusing? Have I added the right level of information, or is this just going to cause frustration and result in an increased customer support load?"
I don't know whether or not I've hit the mark entirely with the Gravity feature, but I'm feeling pretty good about it.
One of the last things I finished up today was the custom topic tooltips, which I think work pretty well. They key off the position of topic nodes that are rendered in an SVG, so getting the placement right external to that, especially when the page is scrolled, took some fiddling. No matter how many years I've spent working with document.body,scrollTop, window.scrollY, and the like, it always comes down to a bunch console.log statements and trial and error. Every time!
The good news is that it's working now, so it's a done deal. Now I just need to run through a final checklist for anything that I may have forgotten to consider.
Here's a screenshot of a new feature we're preparing to roll out to some beta testers called Gravity. With it, you'll be able to prioritize one or more topics (as well as any missing prerequisites along their respective learning paths) by "adding gravity" to them.
There's a lot more to the Gravity UI than what's shown here, but I thought it looked kinda cool, so I figured I'd share.
We've decided to give this video thing a shot because we have some things we *think* people might be interested in hearing about, but we're very new to all of this, so it will likely be a little rough around the edges for a while.
Yesterday, I ordered a studio microphone to replace my AirPods (which was clearly not the best idea!) and some 4K webcams to see if that might improve the production quality a little. I didn't realize how much those things mattered until @justinskycak and I started trying to clean up the video and audio. Yikes!
Well, you gotta start somewhere, right? 😆
Justin is currently editing more clips from the lengthy recording we did over the weekend, so there will certainly be more to come.
First clip from the first ever @_MathAcademy_ Q&A: @exojason’s philosophy of breadth-first development.
1. Ask yourself: “If we could clone ourselves and do everything in parallel, what’s all the stuff we’d be working on?”
2. Start doing as many of those things as you can possibly juggle
3. Put up with short-term pain, everything is hard, visible progress is slow, people doubt you
4. Come out with the correct generalizations so you’re not stuck in a bad situation when the concrete sets.
“If you go too far down the line and you have lots of customers using stuff, you can't break things and go back. It's hardened. That's where you put the road, that's where the road is. It's too late to say, ‘we're going to create a new highway through this subdivision.’”
It’s hard to overstate how painful breadth-first development is in the short term, but it’s equally hard to overstate how beneficial building the correct generalizations is for the long term.
Animated knowledge graphs are something I've been wanting for years now, and they're finally almost ready! My son, Colby, is finishing up a few elements before he heads back to college in a few days, but there's still some integration stuff I'll need to handle. So, hopefully, we'll be able to start rolling these out in a couple of weeks.
Knowledge graph animations are a powerful way to show how a student’s knowledge develops and solidifies over time as they progress through a course.
One of our students is preparing for the SAT in November and is sprinting toward the end of our SAT Fundamentals course. This animation illustrates how the strength and depth of their knowledge has grown since their initial diagnostic assessment.
Each circle represents a topic. The darker the shade of blue, the stronger the student’s understanding of that topic. When the whole graph turns dark blue, the student will have mastered all the foundational knowledge needed to excel on the exam.
These animations are still in development, but our goal is to make them available to every Math Academy student. Eventually, students will be able to explore the entire knowledge graph (not just one course), zoom in at the local level, and even track how their knowledge frontier recedes if they take a break from studying.
Shoutout to Colby ("the intern") for prototyping this animation!
By the way, this is actually the knowledge graph of my daughter, who's preparing for the SAT exam this fall. The discontinuous jump you see about halfway through the animation is the result of her taking another diagnostic exam.
She had taken a year off from the core math curriculum to take AP Statistics at her public high school, and her math skills had unsurprisingly deteriorated. But after using the system for about a month this summer, my wife thought she had shaken off enough rust that taking another diagnostic would likely prove beneficial, which it was!
Alex and his team have been adding a ton of topics to the SAT Math Fundamentals course over the past few months, so my numbers will be a little off, but at the time, I think the second diagnostic bumped up her completion percentage by 15%, which we were all happy to see.
She still has some work to do, but once she completes the remaining topics, along with the 20(ish) new topics that are on deck, I think she'll be in a good position to score north of 750, which would be awesome.
I guess we'll see!









