rockyourcode: Todo.txt: a Simple Tool to Manage Your Todo List, Summary of “Hyperfocus“ by Chris Bailey, Summary of ”What Programming Is Never About”, Focus vs. Seeking Novel Stimuli, Notes on the Pluralsight course “Angular Best Practices” by Jim Cooper, The Terminal Sparks Joy, The Advice Trap: Reflection
Hello 👋! Thanks for subscribing.
Here are the posts from last week:
Todo.txt: a Simple Tool to Manage Your Todo List
Published on: 2021-06-07
tags: DevTools, Productivity
I've been using Todo.txt as a task management tool the last few days.
The main idea is to have a plain text file where you can list your tasks. There is a command-line utility that offers features to manage the todo list. Plus, applications for Android, iOS, Windows or the web exist, too.
A complete primer is available on GitHub:
For me, the tool proved to be a low-key way to manage my tasks that still gives me a good interface via a shell script.
original images from todotxt.org and affliated GitHub repos
Links
Summary of “Hyperfocus“ by Chris Bailey
Published on: 2021-06-06
tags: Notes, Lab, Productivity, Books
These are my notes and summary from the book Hyperfocus by Chris Bailey.
🚀 The Book in 2 Sentences
The book teaches you about two kinds of focus: “hyperfocus” and “scatterfocus”. It offers tactics on how to build an environment that's conductive for better focus and why that's useful for you.
🎨 Impressions
How I Discovered It
Last week I bemoaned my lack of focus. I decided to learn more about how focus works to improve my strategies on becoming a better software developer.
The book “Hyperfocus” was one of the top results.
Who Should Read It?
Everyone who's interested in improving the quality of their (work) life.
The book didn't contain a lot of brand-new information, but the author managed to package the material in a way that helped me put the advice into practice.
The text is a bit thin on the researches. The author also repeats himself often. The material could have been shortened.
☘️ How the Book Changed Me
I've thought that my chaotic environment (work from home with two children) is not conductive to “deep focus”. While I cannot avoid interruptions, I've learned that there are still tactics to improve my routine.
This is the first book on that topic that helped me implement the knowledge on how to better focus.
✍️ My Top 3 Quotes
Above all else I began to view attention as the most important ingredient we can add if we’re to become more productive, creative, and happy — at work and at home.
Let’s say you find yourself with an hour to spend however you want. Take a step back to observe your life from afar.
How would you want to see yourself occupying that time if it were sped up into a thirty-second video?
Would you want to see yourself lying like a blob on the couch watching Sherlock on Netflix or mindlessly tapping on your tablet? Or would you rather watch a video of yourself poring over a hundred pages of a book?Shrink your desired hyperfocus period until you no longer feel resistance to the ritual. Minimize the amount of time you’ll dedicate to focusing on one task until you no longer feel mental resistance to it. Even setting a mental deadline of five minutes will likely be enough to get you started.
📒 My 3 Most Useful Learnings
Hyperfocus is a continous practice.
It's natural to seek out novel stimuli. Our brain chemistry favors that. If possible, control your environment to limit the amount of distractions.
Negotiate with your inner bastard if you can't bring yourself to focus until you no longer feel resistance.
Practice hyperfocus:
The most important aspect of hyperfocus is that only one productive or meaningful task consumes your attentional space.
Choose a task, guard against upcoming distractions, focus on the object of your attention, and bring your attention back when it wanders.
Recharge. Take a break at least every 90 minutes.
You have limited attentional space.
Guard your attention.
Constant task-switching may feel good (“novelty bias”). It hinders productivity, though.
Check for emails or messages only if you have the time, attention and energy to deal with whatever might come in. Keep a tally of how often you check for messages. Predecide when you'll check.
Externalize your tasks and commitments by writing them down/keeping lists. Capture unresolved commitments and ideas and revisit them later.
There are four categories of tasks (think Eisenhower Matrix):
- necessary work: unattractive, yet productive
- unnecessary work: unproductive and unattractive (rearranging papers)
- distracting work: stimulating, unproductive tasks (social media)
- purposeful work: productivity sweet spot, engaging, useful work
Divide your work into these two categories.
Unattractive | Attractive | |
---|---|---|
Productive | necessary work | purposeful work |
Unproductive | unnecessary work | distracting work |
Be mindful of what you pay attention to.
Useful information is typically actionable and helps you to reach your goals. They can be either related to what you already know or completely unrelated.
If you’re in doubt about consuming something, ask yourself: How do you think your life will be different knowing this piece of information?
Aim for useful information (books, courses, etc.) and balanced information (both informative and entertaining, e.g., a TED talk, podcasts).
Get things to bid for your attention. You cannot consume everything.
Scatterfocus for ideas and problem-solving.
Scatterfocus is mind-wandering with a purpose. When you have unresolved tasks (“open loops”) your mind tends to revisit them (“Zeigarnik Effect“).
Do something that doesn't require your full attentional space, and let your mind solve problems. You might want to capture what comes up.
Make it a habit. Go for a nature walk, visit an art gallery, etc.
Links
- Hyperfocus by Chris Bailey
Summary of ”What Programming Is Never About”
Published on: 2021-06-05
tags: Lab, Notes
What Programming is Never About (Informal Lecture) by Abner Coimbre is a 43 minute video about some fundamental software principles.
Here is the gist of it.
Summary
What Is Programming
- Dan North: write software to move information around — information is the real deal
- Noel: programming is about transforming data, process input data to create some output data
What Is Programming Never About
- it's not about the code itself, but rather what you do with the code
- educational materials put emphasis code
- focus rather on problem solving
- spending time on cleaning up “messy code” while you try to figure out the structure of your program is a waste of time
- don't waste time thinking about the code instead of the problem: the end goal is not having clean code, it's having good, working code
- you only have to think about clean code insofar as it has an effect on the end product (bug-free, working code)
Links
- What Programming is Never About (Informal Lecture) by Abner Coimbre
image credit: Dim Hou
Focus vs. Seeking Novel Stimuli
Published on: 2021-06-04
tags: Reading, Thoughts
I started to read the book Hyperfocus by Chris Bailey.
One part stood out to me yesterday:
[... the brain] has a built-in “novelty bias.” Whenever we switch between tasks, it rewards us with dopamine [...]
Continually seeking novel stimuli makes us feel more productive — after all, we’re doing more in each moment. But again, just because we’re busier doesn’t mean we’re getting more accomplished.
Having a smart-phone with enabled notifications is an especially delicious distraction. So is checking e-mail or Slack. Or even switching work-related tasks.
Links
- Hyperfocus by Chris Bailey
Notes on the Pluralsight course “Angular Best Practices” by Jim Cooper
Published on: 2021-06-03
tags: Lab, TypeScript, Angular
Notes
File and Folder Structure
- LIFT: Locate code quickly, Identify code at a glance, Flattest structure possible, Try to be DRY
- organize code into feature areas
- one item (service/component/directive) per file
General Coding Practices
- Single Responsibility Principle (example: re-factor data access service to separate services for user and catalog)
- prefer immutability
- use small functions
Angular Module Organization
- App Module
- Core Module: shared singleton services, app-level components (e.g. navigation bar)
- Shared Module: shared components, directives, and pipes (e.g., loading spinner)
- Feature Modules: feature-level services, components, directives, and pipes
Angular Components Best Practices
- use a prefix selector that matches the feature area of the component
- guideline: move HTML and CSS to separate files if they are more than 3 lines long
- declare input and output properties with decorators:
@Input
and@Output
- delegate complex logic to separate services
- class members order: put properties at the top, so they are easy to see
- class members order: public class members first, private methods later
- implement the interface for the lifecycle hooks
- don't get too granular with creating components (example: HTML attributes that will be hidden behind a component)
Angular Services Best Practices
- extract data access into services
- services provided (injected) into a lazy feature module create their own instance of the injector: for singleton services create a separate “core” module (eagerly loadeded) that contains the root injector
Performance Best Practices
- use AOT (Ahead-of-time) Compilation (use
--production
flag) - use lazy loading
- OnPush Change Detection can help improve the performance, but it's not recommended to use it for the complete application (Angular will look at reference changes instead of property changes)
- pipes are pure per default
Source
- Angular Best Practices by Jim Cooper
image credit: AbsolutVision
The Terminal Sparks Joy
Published on: 2021-06-02
tags: Thoughts, Unix, Vim, DevTools
Today I realized that using tools like the terminal, Vim or Tmux “spark joy” for me.
The term comes from Marie Kondo's bestselling book about tidying up. It loosely translates from original Japanese to ”the feeling of excitement and pleasure”.
I thoroughly enjoy using Unix and its tools. For me, it's like a mini game where I can always learn something new and feel more productive.
For example, you can be productive with Vim after a few days. But even after using it for years, there are still things that I don't know about Vim.
In contrast, VS Code, the popular editor from Microsoft, does not speak to my heart. It's a fine tool, but totally bland.
image credit: Erwan Hesry
The Advice Trap: Reflection
Published on: 2021-06-01
tags: Notes, Communication, Leadership
I'm reading the follow-up book from “The Coaching Habit” by Michael Bungay Stanier, “The Advice Trap”.
The book is full of ideas on how to practice the tips from the author.
One tip regarding reflection is to take inspiration from the military's After Action Review:
- What was supposed to happen?
- What did happen?
- And why the gap?
- What worked?
- What didn't work?
Thank you for reading my blog posts.