Skip to content

Latest commit

 

History

History
250 lines (183 loc) · 13 KB

rules.md

File metadata and controls

250 lines (183 loc) · 13 KB

Rules

Some simple rules to follow when doing things.

Life

  • Set goals. Plan. Execute.
  • Don't waste time. Build ideas. Learn. Experiment. Take risks. Ask questions.
  • Share. Write. Be honest.
  • Simplify. Never repeat myself. Remove friction.
  • Use only what's needed. If something doesn't provide any value, get rid of it. Cut out noise (analytics, likes..).
  • Value time. Filter input. Maximize impact.
  • Learn from mistakes. If things fail, learn from it and move on. Let past go.
  • 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. Surround myself with people that inspire me.
  • Be consistent. Make friends with imperfection. Enjoy the process and don't fixate on the goals.
  • Don't judge anyone. Attempt to see another person's point of view.
  • Don't lie to myself nor anyone else. Be confident in my thoughts & actions.
  • Embrace change. Never complain about anything. Be proactive. Be bold & fearless.
  • Build & enforce good habits.
  • Adjust these rules and my workflow to match what I learned.
  • Follow these rules. Take it easy. You only live now.

Health

  • Exercise. 50+ min cardio/weights daily.
  • Eat whole food, plant based diet.
  • Drink lots of water & tea. Limit coffee consumption (1 cup / day max). No added sugar in drinks/food.
  • Sleep at least 8 hours every day. Don't limit sleep, ever. Try go to sleep at same time.
  • Always have good posture. Sit properly and upright, don't bend my back/spine.
  • Take essentials daily supplements as well as daily food mix.
  • Everything in moderation. Avoid alcohol and any damaging drugs (like opiates). Health above all.
  • Lead a happy, mindful, stress free life. Clean up.

Focus

  • Aggressively cut out any kind of distractions when working. Pure focus on task at hand. Have timed breaks.
  • Don't context switch unless it's necessary. Don't visit blocked sites and apps when focusing. Don't touch the phone unless necessary.
  • Spend mindful time on the phone. Listen to podcasts/books. Read/chat. Don't waste time on things that can be done better/faster on mac.
  • When focusing, do the task at hand and nothing else. Break problems down. Solve them.
  • Be mindful of my habits and temptations. Don't succumb to them and keep my focus. Do things with purpose.
  • Do quick exercise bursts during the day to regain focus. Move around & explore new environments for inspiration.
  • On weekly reviews, observe time I spent in Timing and restrict wasted time with Focus.
  • Use one screen on mac. It's easier to context switch and keep focus.
  • Don't listen to distracting music or sounds when focusing. Use Noizio & Dark Noise and listen to Rain, Fire or similar sounds. Or play a song from Focus playlist. Or have nothing playing at all.
  • Use noise canceling headphones to minimize distractions.
  • Only have essential notifications setup. Be in Do Not Disturb mode by default.
  • Take mindfulness breaks and breathe when distracted. Or exercise.
  • Create and consume art. Meet people. Be inspired. Reuse work & ideas.
  • Make decisions based on data/experience. Be decisive, bold & right. Collect meaningful experiences & data points for problems I am solving.
  • 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.
  • Invest in learning/using/building new tools.
  • Wear comfortable clothes. Limit choice in clothing. Wear same clean clothes.
  • Use standing desk. Never sit for long. Sit up right.
  • Only use the bed for sleep ideally. Be purposeful in any environment I am in. Start days quickly.
  • Don't overthink things to the point of not doing anything. Clear up any confusion.

Ideas

  • Share all ideas I have. Add relevant description and links to describe the idea clearly.
  • Start building early. Validate ideas. Move fast. Ship often. Iterate.
  • Let ideas evolve. Listen to feedback.

Learn

  • Always learn new things but be purposeful. Dig deep into fundamentals of whatever problem I want to solve.
  • Document everything. Don't repeat things. Link instead.
  • Ask questions. Don't be afraid of not knowing something and ask for help.
  • There are no dumb questions. Do some research first though.
  • Go deep. Specialize. Be great at some thing and branch out.
  • Learn fundamentals first.
  • 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: ~ 2x + smart speed, Books: 1.5x).

Write

  • Be clear in what I want to share. Be concise. Cut out everything that’s not surprising.
  • Use proper punctuation and capitalize things appropriately. Use simple language.
  • Use imperative tense for briefness when making tasks (2Do, Trello, GitHub issues). Be clear.
  • Remove unnecessary and filler words. Use adverbs sparingly, they often undermine your point. Instead of really like, say love. Say more with less.
  • 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.

Tools

  • Only use what is necessary. Experiment with new tools/apps but never keep things I don't need. Applies to everything.
  • Establish good mental models of what I need and what I use as I approach modifying my workflow and tools.
  • Run less software. Only run what I use and need. Keep all systems clean & purposeful.

Share

News

  • Filter consumed information. Reduce noise. Only follow high signal people & content I am interested in.
  • Separate information into two levels of quality if necessary (ie 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.

Finance

  • Mindfully spend money. Make sure not to support practices I don't agree with.
  • When paying online, make sure 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.
  • Make sure to 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.

Design

  • Minimize decision making done by users. Good design leads.
  • Impress users with great landing page.

Photos

  • Only keep good & memorable photos. Clean up the rest. Sort into albums.
  • Don't over edit photos & share freely.

Email

  • Keep email inbox close to 0 at all times.
  • Pin emails that need attention.
  • Archive important emails accordingly. Delete the rest.
  • Filter incoming emails. Separate personal emails from the rest (newsletters/other).

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 (ie ../issues/ refers to issues of repo).
  • Don't append #readme to GitHub repos that are not curated lists or simple readmes.

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).
  • If README is long enough, add a Contents reference table.
  • 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 my life.
  • Have unified structure for all pages.
  • Interlink pages to guide the reader.
  • Don't repeat myself. Link. Keep files lowercased.
  • 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

  • Meet new people. Go to seminars, talks, conferences.
  • Respect my time. If going on dates or meeting people, make it worthwhile or not go at all.
  • Use same profile picture across all social networks & websites.

Alfred

  • Use descriptives lowercased names for external triggers.

SnippetsLab

  • Upload all non personal snippets as Gists.
  • Create smart groups for new prefixes I add.
  • Add correct language syntax to every snippet.

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 CC0.

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.

Trello

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

Travel

  • 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.