#+TITLE: Longterm * becoming an influencer put the camera down pick something you want to learn about spend the next 10 years mastering your craft pick the camera back up tell people what you have learned kill it https://www.karenx.com/blog/how-to-become-a-designer-without-going-to-design-school/ * small, sharp tools. [[https://brandur.org/small-sharp-tools][article]] Rule of modularity: write simple parts connected by clean interfaces. Rule of composition: design programs to be connected to other programs. Rule of Parsimony: write a big program only when it is clear by demonstration that nothing else will do. Build as simple as possible, but no simple. Do not allow the composition of these parts to assemble a tightly integrated system. * Do I need to go to university? [[http://colah.github.io/posts/2020-05-University/][article]] it's hard to know who should take nontraditional paths, and many people are looking for validation not to do so. realistically, this is the best option for most people, both socially and academically. Some questions: - Do I have things that I deeply want to spend a year of my life exploring and working on? - Do I have a way to support myself that leaves me time and energy to grow? - Can I really work self-directed for months at a time? Do I have examples of me working hard on a personal project or learning without external structure? - Do I have or can I learn the skills I need to work on this project independently? independently? - Do I have sources of community, peer support or mentorship for what I want to do? Those who leave university may be disparaging their efforts to make friends. However, the ability to focus independently for an extended period of time before heading to college is ideal for many people to flourish. * Tools for Better Thinking [[https://news.ycombinator.com/item?id=23339830][thread]] The most underrated problem solving tool is to type out and explain your thought process. Start writing down questions to ask others; as you explain what you have tried, you will begin to realize that there are more things left to try -- some of which being potential solutions. Type your question into StackOverflow to submit; you'll be fearful of asking the question. Rank factors; always express factors as positive attributes. After generating the table, the longest continuous line of check marks for each factor determines the choice (though this can be gamed...) State charts: easy to reason about state changes without the explosion of state machines. These are hierarchical state machines, in a sense. The Inversion Methods: The solution to many hard problems can be clarified by re-expressing them in inverse form. Crossline: structure your thoughts as you type and make cross-references. [[https://fs.blog/mental-models/][mental models for making intelligent decisions]] [[https://medium.com/disruptive-design/search?q=tools%20for%20systems%20thinkers][tools for systems thinkers]] [[https://news.ycombinator.com/item?id=22747409][state machines for complex systmes]] [[https://www.wiley.com/en-us/TRIZ+for+Engineers%3A+Enabling+Inventive+Problem+Solving-p-9780470741887][enabling inventive problem solving]] [[https://en.m.wikipedia.org/wiki/TRIZ][analyzing and forecasting tool]] [[https://untools.co/][tools for better thinking .]] * Working Effectively [[https://www.stevestreeting.com/2010/09/04/work-2-0/][article]] - Problem: staying 'in the zone' is just not healthy or effective for a programmer! However, long periods of concentration are vital for a programmer to better understand their code and succeed. This crazy dedication helps develop unhealthy habits and can prevent you from properly focusing. - Concentration periods are the most important part of programming. Losing concentration means losing all context, and losing all context means that you'll spend lots of time reorienting yourself and entering a stronger period of focus. - It's difficult to adjust, and this leads to substantially decreased productivity. To improve: 1. Embrace interruptions. Learn to accept interruptions and avoid giving up through them. 2. Maintain context outside of your head at all times. Always explicitly comment and track what you're doing, teh decisions you're making. etc. Externalizing thoughts can help you clarify them! Every so often, make sure to record these (the author does this at 30 minute intervals). 3. Ignore tangental issues. Focus on the singular current task and don't worry about things that could get you sidetracked! Write those down with a ticket system that's fast, lightweight and agnostic to the amount of detail put into these thoughts. The most important thing to do is to put this idea away until it can be summoned in a future context. 4. Always know of the one thing you will do next. 5. Prioritize negatively :: assume baseline that you will not do any of the tasks, then assess the negative outcomes of not doing each one. Perform the task that will have the most negative outcome first. 6. Recognize the benefits of breaks. Breaks have great benefits, encourage better health, and can offer a new context from which the problem can be tackled! ** 50 ideas that changed my life https://www.perell.com/blog/50-ideas-that-changed-my-life inversion :: avoiding stupidity is easier and better than being brilliant doublespeak :: saying the opposite of what one means theory of constraints :: focus on the bottleneck, the weakest point of the system, always. preference falsification :: lying to conform to the most socially acceptable opinion at the time mimetic teory of desire: rather than having our own desires, we imitate the desires of others and pursue their ideas mimetic theory of conflict :: similar = fight left off on 10! https://thetechonomics.com/2020/06/03/how-we-automated-99-of-our-newsletter-business/ automated aggregation and newsletter generation for headlines, article links, etc [[https://derivationmap.net/][deriation graph of all of math physics!]] https://moviebarcode.tumblr.com/ cool looks [[https://news.ycombinator.com/item?id=18120322][on automating out of work]] The best work is done when you do it for yourself. you sign your brains away when you go to work for a big company, and these people will likely be B players -- no matter how many great people they hire. most A players have more important things to do with their own time. without ownership, there is a high chance that you will not be at your best. non-technical business :: sometimes daily tasks do not end up driving revenue! the others are driving the revenue, you are maintaining thigns for them. their capacity to define tasks for you may not ever outpace your ability to deliver. automating yourself out of a job could be a goal, but this doesn't work: - system complexity means something can always break! - markets rapidly evolve and parts cease to work in the future! [[https://www.theatlantic.com/technology/archive/2018/10/agents-of-automation/568795/?single_page=true][is self-automation ethical?]] - automation and the 15 hour work week from keynes - though automation continues, humans find ourselves working longer and longer hours -- even though we enjoy benefits from those who use automation and those who owned automated products. - Automation still has the power to reduce the amount of boring work we do.