

Discover more from hrbrmstr's Daily Drop
Mental Model Practices
We haven't talked (directly) about mental models in a while. I shall rectify that today. In spades.
Imagine your mind as an operating system. Ever since you've come to this world you've been programmed by your parents, friends, society… You are currently being programmed by me. With such extensive inputs, your codes develop many bugs; thus you should be doing bug fixing. Another thing you can do is install stronger apps. These apps are called mental models.
The above paragraph is from Mental Model Practices, and the "me" above is Demi B. Yilmaz.
Demi created the Mental Model Practices site to show folks how to learn various mental models (i.e. install better apps).
Each of the ~50 mental model workflows follow the same pattern:
explain the benefit of the model
identify any prerequisites (some models build on previous ones)
describe the model
explain how to practice the model
give at least one example
includes optional extra resources or external references
Here's the list as of this post:
10-10-10 Rule: Better decisions; Frame of the outcome of a decision across three timeframes.
5 Whys: Understand core reason; Asking why multiple times helps us understand the core reason
Acceptance: Decrease negative emotions - Stop judging; Accepting as it is decreases all the negative emotions such anger, anxiety, shame, fear.
Align Expectation: Clarification; Clarifies the decision
Asymmetry: Better decisions; Some actions have disproportional returns. Helps us identify actions with huge upside and limited downside.
Attention: Growth; What you give attention to grows, what you don't declines
Bottleneck: Coming soon; Coming soon
Artificial Deadlines: Better Decisions; Put an artificial deadline to make decisions
Desire Source: Better decisions; Understanding where your desire comes will allow control over the decision
Devil's Advocate: Thinking from the opposing side; Coming Soon
Dopamine Identification: Decreases procrastination; Seeking dopamine increases our likelihood of being unproductive
Entropy: Understand systems; Everything requires energy to keep it at its non-default state.
Gratitude: Increases positive thoughts; Being grateful helps us look from the positive angle.
High Agency: Removes limiting beliefs; High agency people look for ways to overcome a problem rather than accepting it as their limit.
Honesty: Coming soon; Coming soon
Identity Change: Upgrade habits; Changing our identity has stronger impact than changing our habits
Intuitive Thinking: Better decisions; Our subconscious has more data & computing power than our conscious. Can give better results than the thinking mind.
Inversion: Avoid stupidity; Breaking crippling habits is easier than seeking brilliant solutions
Luck Surface Area: Increase luck; Keeping our accomplishments to ourselves limits us from gaining its full potential.
Mental Momentum: Coming soon; Coming soon
Next Step: Make more progress; Go an additional step
Stop Judging: Stop Judging; Coming Soon
Observe Relationship: Better decisions; Observing our relationship helps us determine its benefit
One Thing: Identify high return actions; 20% of the input gives 80% of the output
Opportunity Magnet: Coming soon; Coming soon
Prerequisites: Understanding what’s required; The reason something not happening is that it hasn't met its prerequisites
Process: Decreases burnout, increases consistency; Having a process & aim instead of goals make it more likely achieving it.
Quest Assignment: Creating own path; As quests get externally assigned, we cannot cultivate internal quest assignment skill
Saying No: Decreases being exploited; Saying yes to requests because you don't want to upset people can cause problems.
Scale: Understanding Systems; The rules of systems change at different scales
Simplicity: Makes easier; Reducing complexity will increase understandability, success rate, growth and many other things.
Simulation: Increases chance of accomplishment; Running a mind simulation makes it easier for one to accomplish their goal
Stop Over Planning: Being more present; We occasionally get stuck in a loop where we non-stop simulate an interaction. Planning something once is okay, but non-stop is unhealthy.
Thanking: Increase good things happening; Sharing our thankfulness increases the likelihood of the same action happening
Top 5: Increases health; Once a person resolves these 5, they will be 90% to a happy, healthy life.
Uncertainty: Increase elasticity of mind; Not having concrete beliefs, helps us leave our current path/decision/actions for better ones.
Value Creation: Increase wealth; Certain % of the value created can be captured
What I want: Clarify goal; Ask 'What do I want?' daily.
I haven't read through all the models, but I can recommend starting with identify change, and further recommend pairing working through each mental model with taking notes on each along with your progression through each
. Finally, all of these involve deliberate practice (hence the third word in the site's title) to ensure you maintain progress.JNumPy
JNumPy is a Python package that makes it possible to develop Python C extensions in Julia in just about ~five minutes (presuming you know both Python and Julia).
You may be thinking "boB's Substack got hacked", but I assure you my annoyingly multi-factored Substack account is as safe and secure as is possible within my control.
I write exactly zero lines of Julia code a year and do my best to do {reticulate}
all Python code so I can pretend I'm writing R code instead. However, I can absolutely appreciate a cleverly designed performance hack when I see it, and this is super clever.
JNumPy uses macros on the Julia side (just because I don't work in Julia doesn't mean I do not know Julia 😎) to define a module and exported functions. On the Python side, you import from jnumpy
, initialize Julia and then include, initialize, and import the module. After that, you use the functions defined n Julia just like any other Python function.
Along with the intro code in the README (I won't make you suffer reading source code in Substack's terrible code block), the repo has three other demo examples:
demo/basic
: a tiny Python package to give an example of how to useJNumPy
.demo/kmeans
: a tiny Python package wrappingParallelKMeans.jl
. It produces a 10x performance gain against Scikit-Learn.demo/fft
: a tiny Python package wrappingFFTW.jl
(which, itself, uses the Julia bindings to the FFTW library for fast Fourier transforms). It allows users to access FFT plans for accelerating FFTs.
It's a very new project (just a few weeks old), but it is clever enough to make me want to poke at Julia more.
A History of Lua
Lua is everywhere. It is the de facto scripting language in tons of games, apps, and appliances (like set-top boxes). It's also the best way to write Pandoc filters.
Thanks to Quarto (see the 2022-08-08 edition), hordes of data science and other sci/tech folks will be writing many, many Lua filters for years to come.
Programming languages aren't just a collection of bland syntax rules. They're living, breathing entities with stories. They are designed, birthed, and then grow/evolve. Humans bring programming languages into the world, and — if one is to become proficient in any given language — I think it's important to understand how said language came to be.
Lua started out as in-house language for two specific projects for a large petroleum company in Brazil, and has come quite a long way since then.
But, I'll let you read the story of Lua in the words of its progenitors.
FIN
Did you know Lua can also be compiled to WebAssembly? WasmEatsTheWorld
☮
(I mean, I am a data person, after all, and you can't manage what you don't measure)
Yes, that’s just a modification of the Peloton cult phrase.