Rules

Life

  • One task at a time. No distractions. Always mindful of my actions & thoughts. Be calm. Value time.

  • Ask questions. Be honest, clear & concise. Document thoughts/processes/knowledge.

  • Simplify & minimize everything. Don't repeat myself. Remove friction. Focus on essentials. Use what I need.

  • Cut out noise (no analytics, likes..). No time wasted. Maximize impact & growth. Filter consumed information to optimize for signal.

  • Learn from mistakes. Reflect. Adapt. Move forward. Move smart. Move fast. No regrets.

  • Embrace change. Be proactive. Be bold, fearless & open. Take ownership. Never give up. Never complain.

  • Don’t eat animals, don’t hurt any person. Don't waste anything.

  • Don't compare myself to other people. Surround myself with people that inspire me. Be my true self.

  • Create art. Meet people. See places. Be inspired. Reuse work & ideas. Reach out to people.

  • Be consistent. Start early. Done > Perfect. Do the simplest thing. Solve problems. Enjoy the process.

  • Optimize and streamline my workflow & processes I use to get things done.

  • Don't judge anyone. Attempt to see another person's point of view. Be kind. Show love.

  • Don't lie to myself nor anyone else. Be confident in my thoughts & actions. Be decisive. Give feedback.

  • Don't stay in bed. Wake up fast and start the day. Keep straight posture & spine.

  • Create & update rules based on new experience. Build, enforce & learn existing rules.

  • Take it easy. Be playful. You only live now.

Health

  • Exercise. 30+ min cardio/weights daily.

  • Drink lots of water & tea. Limit coffee. No sugar.

  • Reach optimal micro & macro nutrient goals, supplement where needed.

  • Start every morning with workout & shower.

  • Brush/floss teeth & clean face every morning/evening.

  • Apply sun screen when going out. Don't frown. Don't touch face or mouth with dirty hands.

  • Sleep fully. Don't limit sleep, ever. If need to wake up early, go to sleep early. Sleep ~8 hours each day.

  • Everything in moderation. Avoid any damaging drugs (i.e. alcohol/opiates). Health above all. Limit psychedelic use.

  • Lead a happy, mindful, stress free life. No worries. No anxieties. Clean up.

Focus

  • Break problems down. Solve each step one at a time. Know the end goal.

  • When focusing, do the active task. No news/distractions. No context switching.

  • Spend mindful time on all devices. On iOS, listen to podcasts/books, read/chat. Minimize things that can be done faster on mac.

  • Do bodyweight exercises during the day to regain focus. Change environments for inspiration.

  • Listen to focus song on mac/iOS or Dark Noise sounds or play Focus playlist / Jazz when focusing. Or listen to nothing if non noisy environment.

  • Only have essential notifications setup. iOS is always in Do Not Disturb mode.

  • Say no to things. Set constraints & limits.

  • Never give up if problem's worth solving. Optimize for long term growth over short term gains.

  • Always breathe fresh air. Have proper lighting.

  • Wear clean & comfortable clothes.

  • Never sit for long. Sit up right. Be comfortable & ergonomic. Use standing desk & vary between sitting & standing.

  • Only use the bed for sleep. Start each day quickly by waking up & standing up.

  • Don't overthink things. Clear up any confusions. Don't be stuck. Ask for help.

  • Use priority system for everything and don't go outside its bounds. (i.e. Trello Learn board or Goodreads currently reading list)

Ideas

  • Share all ideas I have. Add relevant description and links to describe the idea clearly.

  • Start building early. Validate ideas. Iterate fast. Ship often. Listen to feedback.

  • Look for patterns to draw inspiration for novel ideas.

Learn

  • Always learn new things but be purposeful & focused. Learn fundamentals for clarity.

  • Document everything. Don't repeat things. Link instead.

  • There are no dumb questions. Do some research first though.

  • Build things from scratch to understand. Minimal version that works.

  • Draw or sketch to distill complex ideas. Think through problems together. Discuss.

  • Watch videos at 2x speed, unless it hurts comprehension or it's entertainment.

  • Listen to podcasts/books at fastest speed I can comprehend. (Podcasts: ~1.8x + smart speed, Books: ~1.5x).

  • Teach what I know in a clear way aided by visualization, narrative & interactivity. Learn and teach in public.

Write

  • Be clear in what I want to share. Be concise. Cut out everything that’s not surprising. Remove noise.

  • Use proper punctuation and capitalize things appropriately. Use simple language. Be concise & clear.

  • Use imperative tense for briefness when making tasks (2Do, Trello, GitHub issues). Add useful details where needed.

  • Remove unnecessary and filler words. Use adverbs sparingly, they often undermine your point. Instead of really like, say love. Say more with less.

  • Minimize use of articles (a, an, the) as they in most cases add noise.

  • Hyperlink words/phrases appropriately.

  • Use headings to separate sections in articles/docs.

  • Fix mistakes with spell checker.

  • Format text to focus attention. Bold = strong emphasis. Italic = soft emphasis. Syntax highlight Code blocks.

  • Don't repeat myself / duplicate content. Link instead.

  • Add screenshots/screencasts where appropriate. Take accessibility into account (good visibility of text).

Tools

  • Only use what is necessary. Experiment with new tools/apps but never keep things I don't need. Applies to everything.

  • Run less software/code. Only run what I use and need. Keep all systems clean & purposeful.

  • Invest in learning/using/building new tools.

Share

  • Share everything I know and made.

  • Submit bugs and feature requests as soon as I encounter problems I can't solve. Twitter, email, in-app or feedback assistant.

  • Say things that contribute to the conversation. Be honest. Be nice.

  • Keep things I shared up-to-date where appropriate (wiki, snippets, homepage). Especially main pages like rules, workflow, goals, projects, about & now.

  • Proactively update anything I find to be wrong or not well expressed. This includes content that isn't my own. Openly express feedback.

News

  • Separate information into two levels of quality if necessary (i.e. Twitter Follows / Other).

  • Subscribe to Atom over RSS feed if possible.

Compassion

  • Value each animal’s life as equal to that of my own. Don't eat or hurt anyone.

  • Minimize suffering caused to other people. Be conscious of other people's feelings.

  • Strive to empower everyone around me to be better. Show compassion and care. Be humble.

Finance

  • Mindfully spend money. Don't support practices I don't agree with.

  • When paying online, check that payments go through.

Solve problems

  • Aggressively research everything I don't understand. In solving problems, think about it in terms of models I can validate.

  • For programming, think about the data model and operations. Always keep in mind the problem being solved.

Code

  • Write clear code. Explicit over implicit. Readability Matters More Than Correctness

  • Make code run first. Then make it fast (if necessary).

  • Read docs. Update docs where needed.

  • Function name should describe what it does. Good function names summarize what happens inside.

  • Only copy things I understand. Copy correctly.

  • Delimit files with spaces using - instead of _.

  • Use switch cases over long ifs.

  • Open draft PRs for WIP changes, saying what should be added or considered in Notes for reviewers or the related issue. Ask for feedback.

  • Minimize distractions in text editor.

  • Comment over unclear code. Be as descriptive as necessary.

  • Enforce one formatting style for code with automatic formatter.

OSS

  • Give friendly explanation of why the change was rejected.

Design

  • Design for both light & dark interfaces with accessibility & UX in mind above all else.

  • Use platform primitives (web, iOS, macOS, ..) for greater speed & accessibility.

  • Guide user actions with good design. Remove unnecessary decision making.

Photos

  • Only keep good & memorable photos. Clean up the rest. Sort into albums.

  • Don't over edit photos & share freely.

Email

  • Keep email inbox (non newsletter / news) close to 0. Pin emails that need attention.

  • Tag & archive emails that I may need reference of. Delete the rest.

  • Unsubscribe or mark as spam bad email senders. Keep inbox (newsletters, news including) high signal.

Git

  • Version control all projects. Commit often. Squash branches into one good commit.

  • Respect existing git workflow of projects.

  • Prefix branch names with fix/ or feat/ appropriately.

GitHub

  • Add appropriate topics to each repo (languages used, problem space, ..)

  • Use relative links instead of hard wired links (i.e. ../issues/ refers to issues of repo).

  • Have same README & CONTRIBUTING content structure across all my repos.

  • Generate contents table if readme is too long.

README

  • Use HTML for rendering images if control of size or position is needed.

  • Add appropriate quote to briefly describe the repo (often is the same as description but with links).

  • Add a way to visually show the project if possible.

  • Add Related section linking to similar projects if possible.

Wiki

  • Treat wiki as my digital brain. Share everything I know or need to reference. Reflect on life.

  • Have unified structure for all pages.

  • Only keep links that are private in bookmarks. Everything else is shared either in wiki or curated lists.

Share files

  • Temporary shares with Transfer. Permanent with Dropbox. Can use jsDelivr to link to GitHub raw files.

Social

  • Respect my time. If going on dates or meeting people, make it worthwhile or not go at all.

  • Use same profile photo & cover photo across all profiles. Don't change it.

  • Add appropriate short description with link to personal site.

  • Use same username on all services. Either full name (nikitavoloboev) or nikivi. Or nikivii if nikivi is taken.

  • Interact with content/discussions freely. Upvote/Like things appropriately. Can later index & search this data.

Web

  • Prefer Apple login if available. Use Google/GitHub/FB otherwise.

Alfred

  • Use descriptives lowercased names for external triggers.

2Do

  • Only have tasks I need to get done Today in Today. Important tasks are stored in Starred sorted by priority. Keep Today list manageable (< 15 tasks).

  • All tasks need to be actionable.

  • Work on tasks based on priority. Strive to keep Starred list close to 0.

  • Add context of task as tags.

Ask questions

Feedback

  • 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. Internalize all useful feedback, make it actionable.

Read

  • Make notes as I read books & papers.

  • Review read books on Goodreads & add it to wiki.

  • Star articles I liked on Reeder. Transfer likes to wiki later.

Licensing

  • License OSS code under MIT or Apache 2.0.

  • License curated lists and everything else under CC4. No need for license file.

macOS/iOS

  • Only run software I need. Quit everything else or delete entirely.

  • Have full control over what is going on my OS to reasonable degree.

  • Yellow arrows & text is nicer to read when annotating images.

  • Don't play games on mac/iOS.

  • Archive useful content no longer actively used. ~/archive

  • Share images freely with Imgur (not tied to account) where direct linking doesn't work.

  • Copy screenshots to clipboard & paste for quick sharing.

  • Use package manager to install things. Keep packages updated.

  • Change OS appearance where appropriate (light interface in sunny areas, dark otherwise).

Trello

  • Order of importance for cards: Watching -> Next -> No label.

Track

  • Track everything worth tracking (lists of movies seen, books read, series watched..).

Travel

  • Mark places I've liked in Google Maps with optional notes about them.

  • Buy transport (plane/train) & accommodation for future events/conferences/travels as soon as possible (when I am sure I am attending event/place).

  • Proof check dates before buying tickets. Don't prepare large liquids (> 100ml) in planes.

  • Check in online as early as possible.

Giving talks

  • Link to a page where people can get the slide deck + recording of talk given after giving any talk/presentation as a final slide. Can reuse the final slide for all talks.

Shell

  • Name aliases/functions optimizing for balance of character positioning and mnemonics (i.e. r -> rg).

Karabiner

  • Sort bindings in the order of keyboard (Q -> W -> E ..). Spacebar is always last key.

Naming

  • Twitter/Reddit/Instagram/GitHub, get literal name if available. On Twitter, lowercasing the name looks good (Twitter will show your custom real name in searches already). Can capitalize username if its multiple words (can rename username if needed). Capitalize Reddit subreddit name as it stands out better in searches & its more recognizable (the name can't be changed later so capitalize even if one word). GitHub is good lowercased, literal name or with dashes. If name is taken, can add _ or HQ/App/Inc in the end or prefix with get or use. For Instagram, if literal name is taken, it's possible to get domain name literal like narative.co. Can use namecheckr to check for available names.

  • For domains, get literal name, avoid dashes. Keep it to one registrar (Google Domains preferred). Prefer .com, (vercel.com), .co (vsco.co) or .io (codesandbox.io) for generic sites. If it's an app, can use .app (linear.app), can also have app in name like feyapp.com if .app is taken. Developer related, .dev (web.dev) is good. Organization, then .org. (telegram.org). ML related, .ai (deepcode.ai) can be good. Design related, .design is good (baseweb.design). Video related, .tv is good (rewatch.tv). Otherwise, .so, (notion.so), .xyz (learn-anything.xyz), .sh (apex.sh) are good. Can also play on domain name like lobste.rs if possible. Make domain name memorable.