Jean Yang Profile picture
Founder and CEO @akitasoftware. Programming languages, APIs, and ✨. Former professor @CSDatCMU. @MIT_CSAIL PhD. Co-producer @zoombachelor.
22 Jan
Something I've been thinking about: "bonus skills," the skills that don't necessarily get advertised, but are often the most transferable across life stages.

Here's a thread of the bonus skills I learned at different stages of my education and career. Curious to hear yours.
In undergrad, I learned how to:
πŸ“š Skim hundreds of pages in one hour and have something intelligent to say.
πŸ™‡πŸ»β€β™€οΈ Be okay with not being the smartest or the most interesting person in the room.
🀝 Be okay relying on other people when working under high pressure.
In grad school, I learned how to:
⏲ Be okay working like crazy right up until the minute of a deadline.
⏳ Be able to wait months and sometimes years for results.
πŸ§˜πŸ»β€β™€οΈ Decouple my identity from work outcomes.
πŸ’– Lean on my friends for support and sanity.
Read 5 tweets
12 Jan
Thought about this Tweet a lot today. Yes, I agree that Parler will come back, but I have yet to see people talking about just how powerful it is that the major players in the build-yourself-an-app starter kit have decided not to support Parler.

A small thread. πŸ‘‡
Back in "the day", you had to run your own servers and build most of your app by hand. You needed a small army of technical talent to scale your site, and even then it was still slow going.

Today, you can build and scale an app like Parler user mostly off-the-shelf components.
By denying Parler their services, companies like AWS and Twilio have deplatformed the platform.

It will now take an app like Parler years, if ever, to support the kind of viral adoption it has been seeing.

Second-order deplatforming is a MUCH more powerful tool.
Read 4 tweets
8 Jan
What programming languages and cars have in common:
🧐 Everyone uses them but few are enthusiasts
✨ Engineering meets design

For a timeline cleanse, here's a thread of programming languages as cars.

First up: Python as the Honda Civic. Practical; ubiquitous; not the fastest.
Go: the Mazda 3 of programming languages. Decently well designed, surprisingly good 0-to-60, and gets you where you need to go.
Rust: the Tesla Model 3. High cost to adoption, but more affordable than some other things. Very safe. Status symbol among tech people.
Read 14 tweets
18 Oct 20
When I was and undergrad and junior grad student, I regularly burned myself out on deadlines. I actually work WAY harder now. And I'm able to do it because I learned to manage my energy better. Here are some lessons I learned.

Thread. πŸ‘‡
The most important thing I learned was to recognize if I'm not working productively on something and step away. To make a sports analogy, pushing through fatigue is how you get better but you shouldn't push through injury. Taking a break early can give you a lot more time back.
Another lesson was to take recovery seriously. Previously, this meant sitting in a catatonic state after I had overworked myself. I now have processes for winding myself down daily, weekly, monthly, and annually. They include meditation, yoga, writing, and doing non-work things.
Read 6 tweets
11 Aug 20
Taylor Swift as important papers in programming languages, a thread.

"An Axiomatic Basis for Computer Programming," C.A.R. Hoare, 1969. Introduced Hoare Logic for proving program properties.

cs.cmu.edu/~crary/819-f09…
"Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints," Cousot & Cousot, 1977. Introduced abstract interpretation for statically analyzing program properties. Now used by Airbus.

di.ens.fr/~cousot/COUSOT…
"Design and synthesis of synchronization skeletons using branching time temporal logic," Clarke & Emerson, 1981. The first paper on model checking for program correctness. Led to the 2007 Turing Award.

cs.cmu.edu/~emc/papers/In…
Read 10 tweets
5 Aug 20
Ok I couldn't resist. Taylor Swift as classic programming textbooks, a thread.
Read 9 tweets
4 May 20
Programming constructs as cats, at thread. 🐱

GOTO
Tail recursion
Strong static typing
Read 6 tweets
27 Apr 20
Just had an good conversation with @panmanphil about data flows:
🧐 Why enforcing privacy/access policies in software is hard
😫 Why static and dynamic analysis aren't the solutions of people's dreams
πŸ›£οΈ Why data visibility/data mapping is The Way

THREAD πŸ‘‡
@panmanphil 🧐 Enforcing security/privacy policies on data flows is not as simple as checking a rule as data leaves the database. *Which* rule you check for *what* data matters and is hard to keep track of. Either devs need to track this or software needs to track this. It's hard for devs.
@panmanphil 😫 Automatic policy enforcement requires automatic data tracking. Tracking data at runtime comes with unappealing performance overheads. Tracking it statically, before you run, gives you way too many false positives. Anything short of this leaves major gaps.
Read 7 tweets
25 Apr 19
Taylor Swift as iconic computers, a thread
Read 7 tweets