Skip to main content

Rules

Life​

  • Make. Learn. Write. Design. Share.
  • Set tasks & goals. Plan. Focus.
  • One task at a time. No distractions. Always mindful of my actions & thoughts. Be calm. Value time.
  • First make it work. Then optimize (pretty, efficient, documented).
  • Ask questions. Be honest, clear & concise. Document everything (thoughts/decisions/processes/knowledge). Learn/Build in public.
  • Simplify & minimize everything. Don't repeat myself. Remove friction. Focus on essentials. Use what I need. Focus on things I can control.
  • Cut out noise (no analytics, likes..). No time wasted. Decide on what matters to me. Focus on it. Maximize impact & growth. Filter consumed information to optimize for signal.
  • Think from first principles. Learn from mistakes. Reflect. Adapt to changes. Think deeply. Move in right direction. 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. Never be jealous. Don't obsess over anyone. Learn from every human I admire/like. Use it to improve my life.
  • Don't listen to haters and nonconstructive feedback. Pay attention to genuine feedback and learn from it.
  • Surround myself with people that inspire me & I can trust to do good. Be my true self. Inspire others. Do things that bring joy and energize me.
  • Create art. Meet people (friendly reach out). See places. Be inspired. Reuse work & ideas. Do what I love. Value myself, my work and freedom to create anything I truly care about anywhere on Earth.
  • Be consistent. Start early. Done > Perfect. Do the simplest thing. Solve problems. Take/do things slowly and methodically. Enjoy the process.
  • Optimize and streamline my workflow & processes I use to get things done. Complete my 6 life habits.
  • Don't judge/hate anyone. Attempt to see another person's point of view. Be kind. Show love & empathy. Self love. No ego.
  • Don't lie to myself nor anyone else. Be confident in my thoughts & actions. Be decisive. Seek & give candid feedback. Respond politely.
  • Always seek to improve and change myself, not others. Grass is not greener on the other side, it's greener where you water it. Don't dwell on imperfections, find beauty in everything.
  • Don't stay in bed. Wake up fast and start the day. Keep straight posture & spine.
  • Create & update rules based on new life experiences. Adapt each rule to suit my life best. Break off all bad habits I have. Learn new positive habits. Seek new novel experiences/relationships. Collect stories. Be a great friend.
  • Learn from the past. Don't make same mistakes. Don't dwell on what has happened or what I can't change. Don't fixate on anything (people/items/..). Anything outside of this moment is imagination. Move onwards. Live each moment. Let past go.
  • Happiness comes from being grateful and appreciative for what I already have. Don't waste time trying to measure my success/happiness by what anyone else thinks it should be. Try and live by my own rules/values.
  • Be happy. Love myself. Be playful. Make new nice memories and enjoy each moment in life. Savor close relationships. Look towards the future. Be optimistic. Appreciate what I have.

Health​

  • Exercise. Start every morning with a workout & shower. 40+ min cardio/weights daily.
  • Eat whole food plant based nutritious diet.
  • Drink lots of water & tea. Limit coffee. No sugar.
  • Reach optimal micro & macro nutrient goals, supplement where needed.
  • Go on walks or do exercise throughout the day when possible as breaks.
  • Brush/floss teeth properly (morning/evening) & wash + clean face daily. Smell nice. Wear clean clothes that make me feel great.
  • Apply sunscreen when going out for long time. Don't frown. Don't touch face or mouth with dirty hands.
  • Accept and love my body and self. I am perfect as I am. Don't care what other people might think of me.
  • Never sit for long. Sit up right (good posture, never slouch). Use great chair. Be comfortable & ergonomic. Use standing desk & vary between sitting & standing. Take breaks.
  • Sleep fully & well. Don't limit sleep. If need to wake up early, go to sleep early. Sleep as much as body needs (~ 8h often).
  • 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. Be calm. Clean up.

Focus​

  • Break problems down using first principle thinking. Solve each step one at a time. Know the end goal. Don't over optimize.
  • 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.
  • When focusing, listen to silence/rain or ambient sounds. Or my Focus/Inspired playlists. Dark Noise & Endel are nice too.
  • 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. Open windows or work outside. Have proper lighting.
  • Wear clean & comfortable clothes.
  • 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. Notion Learn page 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​

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.
  • Don't assume and say that something is straightforward or clear.
  • Don't write assertively when reflecting on personal experiences (no should do, you have to, do ..). Instead say it from personal point of view (I try, I seek). Does not apply to docs/guidelines (where assertion is useful and needed).
  • Writing/teaching in earliest stages of understanding something is most valuable as you haven't built any biases and approach thing with a fresh mind. Its okay to be wrong (sincerely) and update my writing based off new constructive feedback.
  • Minimize use of articles (a, an, the) as they in most cases add noise.
  • Hyperlink words/phrases appropriately. Use descriptive link labels (no this).
  • 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).
  • Clear my thinking and journal. Look back on the day and plan the next.
  • Keep my writing & thinking (especially the wiki) up to date with my latest view on things. Things/opinions change, update accordingly.

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. Don't insult anyone.
  • 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.
  • Only make promises I can keep.
  • Don't gaslight. Be empathetic and respect other's feelings.
  • Don't ignore people in conversations. Listen. Ask questions & be genuine.

News​

  • Separate information into two levels of quality if necessary (i.e. Twitter Follows / Other).
  • Subscribe to Atom over RSS feed if possible.
  • Be wary of the fact that anyone can lie (on every side) especially when it comes to political news. The truth is often more complicated. Don't jump to conclusions. Have my own opinion/thoughts.
  • Try and not over discuss things that truly don't affect my life in any way.

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.

Relationships​

  • Communicate everything clearly. Be honest, kind and empathetic. Don't avoid/ignore conflicts.
  • Acknowledge and apologize for any mistakes made. Learn and improve.
  • Don't be cruel in my actions and words. Treat my partner and friends with respect. You are only as pretty as you treat people.
  • Never underestimate how hurt someone can feel by your words and actions. Stop your behavior as soon as you see a person you care about hurt by you.
  • Show genuine interest and love in the other person's lives. Especially my partner.
  • Make sure you and your partner views align regarding what matters (children, future, open relationship etc).
  • Don't do things in secret if they can be hurtful to your partner (and friends). Don't lie.
  • Don't bring up hurtful topics again and again. Discuss them once and settle on solution, if any.
  • Don't complain needlessly and be a burden to anyone's lives. It's okay to ask for help and hugs. Share your struggles and the wins. Appreciate each other.
  • Go on unique and spontaneous dates. Try and walk every day and spend time together (i.e. get coffee and walk).
  • Don't show bad intentions, the goal of each relationship is to maximize each other's happiness and pleasure in life. Don't take relationships for granted and don't abuse other's love for you.
  • Ask before doing something that can potentially hurt your partner.
  • Assume good intentions. Call out bad behavior in a friendly way. Don't be passive aggressive and don't make many demeaning jokes about your partner/friend. Don't put people down for the sake of a laugh.
  • Take things seriously. Don't let anyone lose trust in you, especially your partner.
  • If you cannot avoid/stop hurting someone, then better stop communication with them, so you don’t continue doing it.
  • If you feel that something is not right, it probably is not right. Deal with it early.
  • Give your partner freedom to be her/himself. Don't force him/her to change for you. Compromise on things that make the other one unhappy or break up.
  • You have power to influence other people, be gentle and kind.
  • You should have complete love for your partner. Everyone should be confident that they won't be hurt by their partner by someone doing something bad behind their back.
  • Your partner should never doubt your love for them.
  • Lift your partner up & listen always. If she/he doesn't like something I did, stop doing it. Don't argue. Don't be stubborn.
  • Express my genuine love for my partner in all the different ways. Hold her/his hand, give compliments (how she/he looks and clothes she/he wears).
  • Ask how your partner feels and listen. Don't disregard their feelings. It’s good response to just hug and listen if I have no answer or solution (all feelings are valid and are not a sign of weakness).
  • Don't needlessly complain about things to anyone. My life is amazing and it's lucky I even exist. Be grateful.
  • The relationship can only get better if both want it to improve.
  • Don't waste time on maintaining one sided relationships.
  • Don't burn bridges unnecessarily. Try be remembered as a good friend.
  • Set your own boundaries for what make you feel well and have everyone you interact respect them or cut ties with them.

Communication​

  • Show interest. Ask genuine questions. Listen more. Don't interrupt. Don't be annoying and self indulgent. Respect time and don't pressure for response.
  • Praise in public. Criticize in Private.
  • Send cold emails/messages more often. Don't be afraid of no response. Be respectful & concise.

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.
  • Don't panic. Stay calm & reasonable.

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.
  • Design great landing pages.

Photos​

  • Take many photos. Keep good & memorable photos. Clean up the rest. Sort into albums.
  • Don't over edit 'day in life' photos & share freely.
  • Be confident in how I look. Experiment with photos/videos. Not all photos/videos need to be shared. It's the memories that count.

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 (if it looks better with) across all profiles. Don't change it often.
  • Add appropriate short description with link to personal site.
  • Use same username on all services. Preferred (nikiv). If service requires full name, use it (nikitavoloboev). If nikiv is taken, use nikivi or nikivii.
  • Interact with content/discussions freely. Upvote/Like things appropriately. Can later index & search this data.
  • Quality of followers > Quantity. Try cultivate positive online experiences. Filter out negativity.
  • Don't be afraid to express myself (without hurting someone deliberately) out of fear I will get unfollowed/blocked/mocked. It's just their opinion/tastes, I have mine. Feel free.
  • Be open to change. But never ignore my principles/rules (respect my boundaries). My personal happiness and mental well being always comes first.
  • Share things of what I love more than what I dislike/hate.

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 of everything I find useful. Reading books & papers. Meetings, talks.
  • Review read books on Goodreads & add it to wiki.

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.
  • Automate backups.
  • Archive useful content no longer actively used. ~/archive. Preserve useful chat histories & other data.
  • 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). Light is preferred as it's easier to keep focus with lighter backgrounds (more stimulating).

Video​

  • Add time stamps to videos released on YouTube.

Trello​

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

Contacts​

  • Tags # for metadata: i.e. # rust. () for nickname (nikivi). [ for favorites.

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.
  • Move and live in countries with upwards momentum. Don't be a slave to old legacy brands/countries.

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.

React​

NextJS​

  • Lowercase files for pages. CamelCase components & files.