The Khan Academy engineering and company blog covers its Go services, GraphQL, JavaScript delivery and AI tutoring work.
HN commenters praise its writeups, such as the migration to Go services as a good case for microservices, and its Go context typing approach.
That wasn't my intended meaning, I don't think static typing is a "fad". I think the "new" typed languages (Go, Rust, Typescript) are more ergonomic than 90s-00s Java, C++, C#, as you said. This is also forcing them to improve, with features like type inference, sealed classes, records. I also think that the combination of gradual typing and type inference is playing a big role in the adoption.
However, I called static typing a "trend", and I'll try to explain why. I think attempts to type Python, JS, Ruby and the popularity of Go and Rust are the natural consequences of people departing from the Java/C++ ecosystem 10-20 years earlier (for good reasons). Now they are rediscovering the good parts of this ecosystem (ease of deployment with binaries/fat jars, static typing, performance). Since Twitter, Github, Youtube, Shopify, Instagram, etc have all that code around, they are going to either improve it, or try to migrate from it. For example, Shopify is working on a compiler to native for Ruby based on LLVM https://sorbet.org/blog/2021/07/30/open-sourcing-sorbet-compiler. Instagram is working on a performance-oriented CPython fork https://github.com/facebookincubator/cinder. Twitter, from what I understand, went back to Java, going through Scala first (which is another example of "better type system"). KhanAcademy is migrating services from a Django monolith to Go services https://blog.khanacademy.org/half-a-million-lines-of-go/. Whatsapp even had a project to do a…
Communication skills, Leadership skills, Research skills and newer tools for formal methods and theorem proving.
The example prompts in the "Teaching with AI" OpenAI blog post are paragraphs of solution specification; far longer than the search queries that an average bear would take the time to specify.
https://openai.com/blog/teaching-with-ai
https://blog.khanacademy.org/khan-academys-7-step-approach-to-prompt-engineering-for-khanmigo/
Is there yet an approachable "Intro to Arithmetic and beyond with Lean"? What additional resources for learning Lean and Mathlib were discovered or generated but haven't been added to the docs?
https://news.ycombinator.com/context?id=38522544 : AlphaZero self-play, LLMs and Lean,
"Q: LLM and/or an RL agent trained on mathlib and tests" https://github.com/leanprover-community/mathlib/issues/17919#issuecomment-1456323219 -> Proof Assistance SE: https://proofassistants.stackexchange.com/
Perhaps to understand LLMs and application, e.g. the Cuttlefish algorithm fills in an erased part of an image; like autocomplete; so, can autocomplete and guess and check (and mutate and crossover; EA methods and selection, too) test [math] symbolic expression trees against existing labeled observations that satisfy inclusion criteria, all day and night in search of a unified model with greater fitness?
I thought the linked article about how Khan Academy eventually migrated to multiple services was a good example of when introducing micro services is a good idea:
https://blog.khanacademy.org/go-services-one-goliath-project/
They had already scaled the mono service about as far as it could go and had a good sense of what the service boundaries should be based on experience.
RCT on Khanmigo is in progress here: https://www.socialscienceregistry.org/trials/13519/history/220432
The same researchers of the Khanmigo trial published the results of a different trial in May 2024: https://blog.khanacademy.org/university-of-toronto-randomized-controlled-trial-of-11k-students-demonstrates-a-meaningful-positive-effect-of-khan-academy-on-student-learning/
Khan Academy did a great writeup on their experience (including thoughts about HTTP/2) with various strategies for serving JS, such as:
- Single bundle
- No bundles (all separate files)
- Hybrid
https://blog.khanacademy.org/forgo-js-packaging-not-so-fast/
Just to be clear: it's not for every student (at least not yet!). We are in a research phase sharing it with a limited subset of users. More details about our approach to the responsible development of AI: https://blog.khanacademy.org/aiguidelines/