# Blog ideas
#đź’ˇ
[[Blog]]
[[Blog articles in progress]]
## General thoughts
Simulate ideal user preferences (Bayesian) and benchmark search against it
## Polls
* Is it easier to start programming now? Did we lose something with the complex computers we have now?
## One for them articles
* [[OUTLINE - How pico8 made me love programming again]]
* Why I pay for my dev tools
* Taking a sabbatical to recover from burnout
* What is burnout
* [[OUTLINE - Git tips and tricks]]
* [[Sound-based debugging]] in Javascript
* In defense of the ivory tower: why theory is important for the practitioner
* The computational interface and it’s history and optimism despite it not ever really happening
* The 5 Ideas I took away from the Pragmatic Programmer
* Writing and sketching and ideation as a process for software writing, teaching science and programming like poetry, see dick Gabriel
* Writing down and reflecting about what you learn and do
* Creativity in software programming
* What I learned as a programmer making music
* Practice every day music every day routine as a means of progress
* 10 tips to make you better at using promises
* Why I like janky languages (golang, php, JavaScript)
* Debugging with sound in JavaScript
* Fuzzing to find lzw kwkwk problem
* How to study for a MOOC
* Resources to learn web security
* Why YouTube tutorials are important for senior developers
* Developer superpower : being product minded
* JavaScript is the best language for prototyping
* Superpower: read complicated codebases
* How to think about quality : when bad code is good software
* What Common Lisp taught me about development
* I am a boring developer: how slow thinking and iteration can lead to innovative solutions
* ❤️ In defense of printf debugging
* Write CLI tools to scratch an itch
* ❤️ Always build a CLI tool to interact with your system
* Using a zettelkasten system for writing down ideas
* Using watercolors and a paper sketchbook for programming
* Sketching and programming: my setup
* What is meta programming? A comparison in C++, typescript, Common Lisp and code generation
* The beauty of naming: an introduction to Peter Norvig's programming style
* Realtime user monitoring and building funnels / personas
* Building a SQL builder
* Dependency injection (currying / function application) / OO is just FP with better performance / parallels between functional programming and standard OO patter
* The Theory of Constraints / the goal
* Queuing / rate limiting / timeouts
- Things I learnt going back into ecommerce
## Quick tips
* Keeping your bash history around
* How does DKIM / SPF / DMARC work
* Using github CLI extensions
* Building a simple github CLI extension
* Tools that made my day
* argocd
* dbt
* mkdocs
* Redux chrome extension
* Format markdown with one sentence per line
* Read a big codebase every now and then
* [[20220524 - Squash commits considered harmful]]
## Tutorials
* Writing a GitHub CLI extension
* Writing datasette extension
### Notes (twitter?)
* Sussman in software flexibility talks about how the regexp language is horrible, but it actually matches the ideas he shows earlier of robustness of biological systems. The regexp syntax is much more robust for humans in many ways. It has been accepted by “natural selection”
### Ideas
* Parallel recipes and machine control, for example “adjust to taste”, gcode as recipe
* Tools trump programming language design
* The worst engineering mistake I made could have been avoided by typing 5 characters
* Don’t trust your gut, test your gut. Everything breaks at some point. Be careful of what you measure when you stress test
* Be weird, be a nerd, the world has never been this good
* [[DRAFT - 2022-05-10 - You need to invent the wheel to avoid reinventing the wheel 1]]
* Architecture, monitoring and … ideas I talked to virginia about this morning when talking about formlabs and the tree center and how everything is like embedded
* Learn new framework every month? Bullshit - how to age well in the software industry
* Always verify your assumptions, measure monitor verify - super power to be effective
* Scale load until something breaks
* Toxicity and hubris in esoteric language communities
* Software developers are just one type of computer users, they are not the expert of how computers should be used / how software should be designed
* Trap of fitting software development concepts on software itself
* Code generation as a powerful tool
* SQL temporary tables generation for log parsing
### Tech articles “for them”
* ❤️ How to lead a good sync meeting
* Build a simple ecommerce search engine
* Rating search engine quality
* Building a recommender
* ❤️ Functional core / hexagonal architecture in php
* ❤️ Tips for learning a new skill fast and deeply:
* Join the expert community and learn by listening
* Find the right book
* Get some muscle memory
* Learn the tool landscape
* Watch the conferences
* The importance of “athletics” when learning a stack
### Generic ideas
* How to dive into a big foreign codebase
* Thoughts about kubernetes templating
* Past struggles
* What x taught me about y
* Recovering from burnout
* X great books / YouTube videos
* Thoughts about sicp js
* Layering functions like in sicp (to be replaced later on with proper implementations) but building the right abstraction (see abstraction barrier page 147)
* Hexagonal app pattern
* Supply chain / e-commerce is where all the cool stuff is
## Php
* Implement datalog in php
* Implement sql builder / builder language in php
## Javascript
* Tail recursion in JavaScript
* Implement datalog in javascript
* overview of the different packaging tools (npx, npm, yarn, pnpm)
* overview of the different bundlers
* overview of the different transpilers
* how does postcss work
* Impressions of an old web2.0 developer
See [[Lessons learnt HTML]] which has some notes.
## General professional
* My ideation and brainstorm process
* Find out what the product you are building is
## General technical
* State machines?
* How do goroutines work?
* How do Qt signals work?
* Different approaches to async: state machines, async, goroutines, task systems
* Latency vs jitter
* Merging single repos into monorepos
* Designing a task system
* Tackling bigger refactors
* Faust Dsp distortion on embedded
## Past projects / showcases
* How does goldeneaglecoin work
* How does the minicommand work
## Music
* Tips on how I learned mixing