edition • 🎹 Music production • 🎨 Graphic design • 🕸 Web development • 🤖 Systems for my parents' small business ◦ 😬 (which they didn't need) 🤓 Homeschool
Solve a problem • 🔍 Not solved yet? • ↩ Previous problem? • 🧱 Use other building blocks, open source • 🥞 Current abstraction layer too low? • ✏ Cost of learning much lower? • 🍒 Convenience much higher?
Solve a problem • 🔍 Not solved yet? • ↩ Previous problem? • 🧱 Use other building blocks, open source • 🥞 Current abstraction layer too low? • ✏ Cost of learning much lower? • 🍒 Convenience much higher?
of view of user • 🏗 Design UX first, build internals to fit it • 🍕 Autocompletion depends on types • 📣 Inline errors depend on types • 📑 Explicit parameters, not **kwargs
of view of user • 🏗 Design UX first, build internals to fit it • 🍕 Autocompletion depends on types • 📣 Inline errors depend on types • 📑 Explicit parameters, not **kwargs
of view of user • 🏗 Design UX first, build internals to fit it • 🍕 Autocompletion depends on types • 📣 Inline errors depend on types • 📑 Explicit parameters, not **kwargs
the same as code duplication • 🔧 Variables, configs • 🪞 Information duplication is a "cache" • 🍝 If duplication needed, keep it close • 🔄 Reduce out of sync
the same as code duplication • 🔧 Variables, configs • 🪞 Information duplication is a "cache" • 🍝 If duplication needed, keep it close • 🔄 Reduce out of sync
needs to be explained before? • 🕸 Graph of concepts • 📖 Explain everything • 📝 Re-read, re-write, clean, trim down • 🐑 Reduce duplication of concepts • 🚲 User's minimum effort • 🚀 …to get maximum value
graphics, emojis, notes • 📑 Consistency for terms and concepts • ✒ Style for terms and concepts • 👷 Enable power users • ✏ Docs driven development • ✅ Test example code in docs
graphics, emojis, notes • 📑 Consistency for terms and concepts • ✒ Style for terms and concepts • 👷 Enable power users • ✏ Docs driven development • ✅ Test example code in docs
• 🏰 Premature abstraction • 🥞 Reduce constraints and abstraction layers ◦ A class ◦ that calls another class' method ◦ when it could be a function • 👔 Harder to detect, looks engineery • ☑ Should have a reason
of Python • 🥵 Achieving simple is harder than complex • 🏰 "Building complex is easier" • 💪 Put the effort, build the simpler stuff • 😎 That's the price of cool products
🌿 Multiple features at the same time • ⛔ Tests failing • 🫙 No tests covering the feature • 🎯 No clear objective • 🙋 No use case • 🧭 Out of scope • 🔮 PRs vs future plans • 🐶🎂 Cake vs Puppy PR — Will McGugan
🙋 Code structure with personal opinions • ➕ Asking for extra changes or features • 🌳 One line change / 1000 lines to review • 📝 Docs with what to review • 🎯 Solves the problem? • ✅ Has tests?
the impact ◦ ...the higher the chance of bitter people ◦ ...weirder the haters ◦ ...weirder complains • 🤷 That's success • 🌑 Dark places ◦ HackerNews ◦ Reddit ◦ Some Forums
• 👹 Keep toxic people away • 🦖 Bad ones fall on their own • 🛡 Protect the community • ⚔ Take action when needed • 🌿 Most people are good • 🏗 Just build things • ✨ Solve a problem
Small sponsorships make you happy • 🥗 ...but don't sustain • 💰 Sizable, recurrent sponsorships are rare • 📦 Mainly receiving something extra in exchange • 🫙 ...it's a transaction, you're selling something • 📺 Open source becomes distribution, marketing
X get hit by a bus" • 🙋 One or two open source developers ◦ …the case for most projects ◦ …even the biggest ones • 🐸 Worrying about poisonous frogs • 🪥 …vs washing your teeth
X get hit by a bus" • 🙋 One or two open source developers ◦ …the case for most projects ◦ …even the biggest ones • 🐸 Worrying about poisonous frogs • 🪥 …vs washing your teeth
the ticket • 🎟 What is the bus ticket • ✈ Airplanes have only 2 pilots ◦ 🎫 …lots of tickets • 🪙 Some value / objective ◦ 😌 Satisfaction ◦ 🏆 Recognition / job perks ◦ 🫙 Sell something