Some simple rules to follow for myself doing things.
- Simplify as much as possible. Never repeat myself.
- Learn from my mistakes. If things fail. Learn from it and move on.
- Build ideas. Experiment. Take risks.
- Be mindful of my actions and thoughts. Don’t eat animals, don’t hurt any person. Don't waste anything.
- Don't compare myself to other people. Don't care what other people think of me. Surround myself with people that inspire me.
- Be consistent. Make friends with imperfection. Enjoy the process and don't fixate on the goals too much.
- Don't judge anyone. Attempt to see another person's point of view.
- Use only what I need. If an item/thing doesn't provide me any value, get rid of it.
- Be honest. Don't lie to myself nor anyone else.
- Embrace change. Never complain about anything. Be proactive.
- Adjust these rules and my workflow to match what I have learned.
- Follow these rules. Take it easy. You only live now.
- Do deep work. Minimise distractions. Say no to things. Set constraints.
- Prioritise. Do important things first. Be clear on what I want to achieve. Think long term.
- Do one thing at a time. Resist temptations. Remove friction.
- Think about the problem I want to solve. Don't give up. Don't rush things.
- Always breathe fresh air. Don't stay indoors for long. Open windows or go outside on breaks.
- If my mind wanders and avoids doing the task, take a walk and do some exercice.
- Do things that scale. Try to find solutions that scale with time.
- Reuse other people's work.
- Use the right tool for the job. Only when you master a tool, do you learn when not to use it. Learn new tools.
- Start. Don't be afraid to solve the problem no matter how complex or intimidating it may be.
- Ship early. Get feedback and iterate on it. Rinse and repeat.
- Track all time in Timing. Reflect on it at the end of the day & week.
- Make calendar events based on my Focus Trello board.
- Be very aggressive in cutting any kind of distractions when working.
- Don't visit blocked sites and apps during focus time. Don't touch the phone unless necessary during focus time.
- During focus time, do the activity specified in the calendar, and nothing else.
- Be mindful of my habits and temptations. Don't succumb to them and focus on the task at hand.
- Change location. Work from different places.
- Look at where I spend my time in Timing and cut those out with Focus and scripts.
- Less than 1 hr News time every day.
- Use one screen when coding. Much easier to context switch.
- Don't listen to music when coding and focusing. Use Noizio and listen to rain, train or other pieces.
- Sit up right always. Never slouch.
- Always learn new things. Investigate. Why? How?
- Ask questions. Don't be afraid of not knowing something and ask for help.
- There are no dumb questions. Do your own research first though.
- Ask myself what is it that I am trying to solve or understand.
- Go deep. Specialise. Be great at some thing and then branch out.
- Document everything. Don't repeat things. Link instead.
- Draw. Don't be full digital and use paper and imagination to distill complex ideas.
- Share everything I know and made.
- Share the link on the appropriate website/forum/subreddit. Tweet it.
- Exercise daily.
- Sleep at least 7 hours every day.
- Lead a happy, mindful, stress free life.
- Don't purposefully hurt myself in any way.
- No processed sugar. No food with extra sugar in it.
- Drink water, coffee and tea. No added sugar in the drinks.
- Always have water/tea next to me. Fill up the water/tea if it empties.
- No meat or dairy products. Health and ethical reasons.
- Focus on whole food, pescetarian diet.
- Eat a salad every morning.
- Take Vitamin D & Vitamin B12 every morning.
- Everything in moderation. Avoid alcohol and hard drugs (like opiates).
- Value each animal’s life as equal to that of my own. Don't eat anyone.
- Minimise suffering caused to other people. Be conscious of other people's feelings.
- Say things that contribute to the conversation. Be honest.
- Temporary shares with Transfer.
- More permanent shares are shared with Dropbox (wiki & articles). Don't delete items from shares folder unless the reference to it from either wiki or articles is gone.
- If the files are stored on GitHub somewhere, I can use Rawgit to get a downloadable link of the raw file.
Shipping a product
- Have a nice looking website. The first look matters.
- Don't lock myself into using a service. Have my own system in place and give the social media a purpose. If there is no purpose to it, don't use it.
- Be mindful of the data fingerprint I leave from using a service. If the service disregards my privacy and brings me no value. Don't use it.
- Giving users too many options is often a bad idea. Give very few options but make each one of them count and stand out.
- Use proper punctuation and capitalise things appropriately.
- When adding
:, don't add space beforehand.
- When making tasks (2Do, Trello, GitHub issues), use imperative tense.
- Remove unnecessary and filler words. Use adverbs sparingly, they often undermine your point.
- If something can be said in less words, say it in less words. Be clear and to the point.
- Both in code and prose. Say more with less and never repeat myself.
- Minimise using word here.
- When wanting to reference a certain URL, I don't need to mention and you can see it here. I can most likely just change the thing I want to show and wrap that in URL. It looks cleaner this way and saves space.
- Use headings to separate sections of the article.
- Don't leave unnecessary whitespace between headings and text.
- Don't need to add
:to the end of text when adding image below as it is implicit.
- Only use HTML to adjust the image if the original size is not what I need. Don't adjust images blindly and check how the final image looks rendered compared to the text.
- Use Bold for strong emphasis. Use Italic for soft emphasis. And
code quotesfor actual code, variables, path names and quoting inline (in same sentence).
- Leave one space afer text for image embed.
- Share everything I know and need to reference in the wiki. Document my life and reflect.
- Describe links on the same line with
-separator (if needs more description, then sub dash).
- Interlink entries between each other within wiki where necessary. Don't over do it.
- Don't repeat myself or anyone else. If something has already been said either by me or someone else, link to it (especially in this wiki).
- Try to use other services for logging and other things where possible. Like in the case of Letterboxd and its Lists feature. It's better to make lists there and link to the lists from wiki. Find the right tool for the job. The wiki should act as a glue between things.
- Keep all files lowercased.
- If I am watching a talk, it is best not to jot down notes from the talk itself but capture ideas and note down these ideas in the wiki, sometimes referencing the talk where the idea or insight was taken from for context.
- Think about structuring the content and entries as I add new entries. Should a new category be added for the topic (thing) and under what category should the entry be placed.
- If I move a file anywhere in the wiki, make sure to search for the path to the file in the entire wiki and change the references to the previous file with new one.
- Don't abbreviate folders and files. Unless it is really clear what abbreviation means.
- Add links to headings that link to the description of what the wiki file is about.
- Don't say
I need to, but say
I will ..or
I try to ... Be proactive. Intention counts.
- Version control all projects.
- Do atomic commits and write proper appropriate commit messages.
- Commit often. Commits are cheap. I can always reverse changes.
- Prefix commits with an action (add/remove/fix/update). Use imperative tense.
- On larger projects, prefix commits by scope for easier search and index.
- Commit changes and push before making a release. This way the commits come bundled together with release as change log.
- When making changes to other projects, respect their Git workflow and commit style.
- Add appropriate topics to each repo. Add the languages used in the repo as topics.
- Make many experiments and share them.
- Add credits to repos and acknowledge work of people I am using at end of repos. Under # Credits.
- Use relative links instead of hard wired links. For example in GitHub you can use
../issues/to reference issues of current repo from readme.
- Use HTML for rendering images if I need control on their size and position.
- Add appropriate quote to briefly describe the repo (often is the same as description but with links). Don't repeat what is said in the quote in the description underneath the quote.
- If the README is long enough, add a Contents reference table.
- Don't add anything that is not needed and focus on the content.
- Add a way to visually show the workflow/library in action where appropriate.
- Don't link to Imgur images as links, render them in the README itself.
- Add image fully itself to the repository and reference it iff the image is big enough and requires high quality.
- In screenshots of Alfred prompts and other prompts, show the cursor.
- Add Related section to most repos linking to similar projects either of my own or of other. Not all projects need this.
- Don't add Thank You clause in idea stage projects.
- Don't add Say Thanks badge on curated lists.
Adding resources (links)
- When adding resources and bookmarks. Priorotise adding them to LA curated lists first and LA itself (not Trello). The goal of the wiki is to mostly contain my own notes and references.
- The resources should be moderated and extended by the community through clear guidelines.
- Comment all my aliases briefly saying what they do. Comment all zsh functions. Be mindful that I can then search through these functions and aliases later.
- Write code to be read by other people. Prefer to be explicit over implicit. Readability Matters More Than Correctness
- Make the code run first. Then make it fast (if necessary).
- Read documentation.
- Delimit files that have spaces with
- Use switch cases over long ifs.
- Function name should describe what it does, not when it's run. Good function names summarize what happens inside.
- Practice self documentation. Where possible, document things inline in the code base or app itself in some way. Don't duplicate things.
- Comment over my code. Be mindful of not repeating things. Don't comment obvious things.
- In comments, don't write Will ... Just write what it will do. Remove unnecessary (filler) words.
- Uppercase comments for consistency.
- Use imperative tense. Instead of # Outputs, use # Output.
- Only add one space after the code for inline comments. Don't space them out.
- Write a small comment on top of the file to describe the purpose of the file. Where appropriate.
- All macro names are lowercased. Unless it is necessary.
- When doing macros to focus on something, name the macro like sidebar focus rather than focus on sidebar.
- Minimise inputs and preconditions to macros. Sometimes it's possible that the input I need to a macro, I can get from another place within the macro itself.
- Prefer to make semantic mappings and chunk mappings by theme or context.
- Prefix variable names by action (i.e. EDIT/OPEN/ALFRED). Each variable name should be descriptive.
- Keyword triggers should be one string (no spaces). Try to make keyword be semantically appropriate to workflow and easy to memorise and type.
- Name external triggers with spaces between words (lowercased).
- Release all my workflows (that have no sensitive information) either in small workflows or standalone if they contain quite a bit of code.
- Name all modifier triggers (uppercased).
- Colour Alfred objects that have errors in them and need to be fixed in red colour. Acts as a
- Use one tree structure for organisation especially when sharing maps (makes the map much easier to follow).
- If I publish the article, private note or anything that is not worth keeping. Delete it from Ulysses. Only keep
in progressthings in the library.
Releasing workflows with OneUpdater
- Don't forget to update version number and then also commit the workflow so info.plist on GitHub has the latest version.
- When preparing for interviews, code up solutions myself instead of looking at solutions. Be able to express solution in my own words.
- Only have notifications from real people and 2Do. The rest should be blocked. No badges.
- Spend time on phone mindfully. Read & be proactive.
- Lowercase and prefix all snippets. Notes uppercased.
- Upload all non personal snippets as Gists.
- Create smart group for each new prefix I add.
- Add correct language syntax to every snippet.
- Prefer to use comments in the code itself rather than notes (easier to follow).
- Map command line tools in the curated list. Only add commands where I do want to add some optional commands as snippet to SnippetsLab.
- Attach the URL to snippets as note as a first thing always if URL is needed. Add other notes underneath the URL.
- Plan the next day fully in advance in the calendar. Follow through with the plan but adapt where necessary.
- Only contain things I really need to get done in Today.
- All 2Do tasks need to be actionable.
- Work on tasks based on priority (starred completed first).
- Don't include context in the task title. Add it as a tag instead.
- Add time estimates to tasks that might take more than 10m, where appropriate.
- If the idea is not private. Share it in Trello. Add relevant description and links to describe the idea clearly.
- Let the ideas evolve. Work on it and it might change into something far greater over time.
- Capitalise everything where appropriate (Sentences / Headings / Alfred workflows / GitHub descriptions / GitHub issues and PRs / Comments in SnippetsLab / Main dashed points / Tweets / ..).
- When posting an error or an issue, give as much relevant information as I can to help debug it.
- For asking questions about Alfred workflows, link to the workflow you are trying to edit in the comment. And paste the debugger output from when the issue occurs.
- When asking for feedback, never ask people if they like the product I built. Ask them whether they don't like anything instead.
- Welcome any feedback. The more critical feedback, the better. Iterate on it.
- Prioritise repos in the sidebar based on priority/urgency.
- Only have actual things I am struggling to work through there that need slicing (breaking down of smaller tasks).
- Keep the list to maximum of 5 main nodes in there. If there is more, break them down and move them to either 2Do or GitHub issues and only keep things I am working on.
- Make notes as I read books.
- Review each book I read on Goodreads and add it to an appropriate category. Add the review to books after.
- Work to complete the task I have at hand.
- Set deadlines for all things. Adjust plan according to the deadlines.
- Deadlines set are of utmost importance. Do my best to complete the deadlines I have set for today before venturing in trying to do anything else. Learn how to deal and set appropriate deadlines with time.
- Limit distractions. Strive to increase signal to noise ratio.
- Always turn Focus when starting to work and make things and fully focus on the task/s at hand. Adjust the focus list to block even more distractions and tune my workflow to only do the task/s I have.
- Live by my calendar. Assign tasks and blocks of time in advance and work through each of the blocks. Adjust when necessary.
- Always have water next to me.
- Work away from home ideally.
- Don't make a card of a fact or something that you can easily look up.
- Check my work and go through my calculations again. It's easy to miss something.
- Add products I like to an appropriate collection.
- Meet new people. Go to seminars, talks, conferences.. even if you won't understand much of it. Big chance you'll find something interesting or meet someone.
- Comment over all mappings in vimrc itself.
- Only add things that are essential to me and what I actually use.
- Add all songs I like to my Likes playlist.
- Add all songs I really like to Bliss playlist.
- Add songs to other playlists accordingly.
- License my own code under MIT.
- License curated lists and other things under CC0.
- Prefer to have the prefix reference the meaning in some way for easier mental mapping of prefix to meaning.
- Name and prefix things with focus on clarity. The semantics of prefixes should ideally be obvious. And naming should be appropriate.
- Prefer to sleep and wake up at the same time.
- 5:30AM - Wake up.
- 10:00PM - Sleep.
- Sleep for ~ 7 hours each day.
- No macbook in bed. No phone in the morning before waking up.
- Minimise News time and aim at < 1 hour News time a day. Ideally less. Block everything that is Distracting when working.
- Mark all time past in Timing. Adjust filters and projects to what kind of things I am working on.
- Mark all memorable moments and experiences in Day One.
- Mark memorable moments throughout the day and put them in Photo a Day and Travel journals.
- Only use what is necessary. Experiment with things but never keep things you are not actually using. That mostly includes plugins and modifications.
- Try to establish a good mental model of what you need and what you use as you apprach modifying your workflow and tools.
- Keep screenshots and interesting images saved in Pixave.
- Index knowledge that is actionable in case I might need to reference it later.
- Only run apps I actually need. Quit everything else.
- Delete apps I am not using and have no need over. Only use what I need or may need.
- Have full control over what is going on my system to a reasonable degree. Don't use/install things I do not actually need.
- Do emails in burst. Bring my inbox to 0 every day. Action on each email.
- Archive emails if I want them to be searchable later. Delete emails otherwise.
- Star emails that are important and I may need to reference late.
- Sort newsletters automatically into groups for later viewings.
- Only show relevant emails to me in Inbox.
- Label all emails accordingly (if it is appropriate).
- Don't say Want to. Instead say Will in Changes. This applies more generally too, try be more proactive with anything I do. Intention counts.
- Include all my Instagram posts in Photos. Link Twitter tweets, last.fm, movies seen.
- Track every purchase made with Actual. Put every purchase in its respective category.
- Adhere to my budget that I have set for each of the categories. If there is no budget left for eating out. Don't eat out.
- Keep receipts of expensive purchases for warranty.
- Install packages with nix always. If package not available, then use brew or make a derivation myself.
- Always plan the next day ahead of me with events. Adjust the schedule on the day only where necessary. Stay true to the schedule.
- Only bookmark personal information and links. The rest should be available via curated lists or awesome lists.
- Add any new recipe I discover or make to Paprika. Add correct ingredients, instructions and a photo to each recipe.
- Watch talks and tutorials at 1.5+ speed. Unless it hurts comprehension than watch it at slower speeds.
- Don't save unnecessary information. This mostly concerns tracking data and the like. More data is not always better. Quality and purposeful data is.
- Make the data actionable in some way. Either as a way that you can query it later and read or look back upon in the future (as is case with Day One) or as a way you can immediately take action on in form of analysis of it.
- Knowing what goals you have and the reasons why you are collecting or using certain kind of data is important and saves a lot of time in the future when you want to minimise and simplify things in life.
- Data that is not backed up is lost data. Automate backups.
- Share boards publically that contain no sensitive or private information.
- Order of importance for cards: Watching -> Next -> Important -> No label.
- Add links to wiki or curated lists over adding them to Trello where appropriate.
- All newsletters should never reach inbox and be automated to appropriate mailboxes.
- Use iCloud for newsletters.
- Check everything once I leave a room. In case I forget anything.
- Avoid confusion. Don't use anything only I can understand.
- Be aware of my own quirks and ask myself why I do what I do.
- Don't overthink things to the point of not doing anything.
- Everything evolves with time. Projects, articles, ideas will evolve with time and will never be what I first envisioned them to be.