It is very inspiring to learn time management from system admins (SAs). We all share the same challenges - interruptions, simultaneous projects and rush requests.

And SAs have to deal with those issues more often, as Thomas Limoncelli says

Management judges an SA by whether projects get done. Customers, however, judge you by whether you are available to them.

Here are principles of time management.

  • Interruption is the most significant enemy of productivity.

    • Sharing a mutual interruption shield with co-workers so that only one person is distracted in one period.
    • Blocking a large chunk of project time
    • Closing the door (not suitable for managers)
    • letting junior engineers sit outside to filter incoming 80% interruptions for you first
  • unify all time management information into one place.

  • conserve the brain power for things important.

  • don’t make yourself think to manage time; instead, develop routines, habits, and mantras.

    • Routines are serials of pre-defined steps happen at a particular time.
    • Habits are routines people can do thinngs without thinking.
    • Mantras are simple rules of thumb.
  • keep focus during the project time. It takes discipline though.

    • Discipline gains people more self-esteem. Self-esteem is like poker chips. When we have high self-esteem, we tend to take bigger bets and win bigger.
  • manage your social life with same tools.

# Requirements

  1. Data size: Data size of values is too large to be held in memory, and we should leverage the external storage for them. However, we can still keep the data keys in memory.
  2. Single-host solution. No distributed design.
  3. Optimize for write.

# Solution

  • In-memory hashmap index + index hint file + data files
  • Append-only for write optimization. Have only one active data file for write. And compact active data to the older data file(s) for read.

# Components

  1. In-memory HashMap<Key, <FildId, ValueOffset, ValueSize, Timestamp>>

  2. Data file layout

|crc|timestamp|key_size|value_size|key|value|
...
  1. (index) hint file that the in-memory hashmap can recover from

# Operations

Delete: get the location by the in-memory hashmap, if it exists, then go to the location on the disk to set the value to a magic number.

Get: get the location by the in-memory hashmap, and then go to the location on the disk for the value.

Put: append to the active data file and update the in-memory hash map.

Periodical compaction strategies

  • Copy latest entries: In-memory hashmap is always up-to-date. Stop and copy into new files. Time complexity is O(n) n is the number of valid entries.

    • Pros: Efficient for lots of entries out-dated or deleted.
    • Cons: Consume storage if little entries are out-dated. May double the space. (can be resolved by having a secondary node do the compression work with GET/POST periodically. E.g., Hadoop secondary namenode).
  • Scan and move: foreach entry, if it is up-to-date, move to the tail of the validated section. Time complexity is O(n) n is the number of all the entries.

    • Pros:
      • shrink the size
      • no extra storage space needed
    • Cons:
      • Complex and need to sync hashmap and storage with transactions. May hurt performance.

Following up questions

  • How to detect records that can be compacted?
    • Use timestamp.
  • What if one hashmap cannot fit into a single machine’s memory?
    • Consistent hashing, chord DHT, query time complexity is O(logn) with the finger table, instead of O(1) here with a hashmap.

These keywords and templates of sentences help you influence people.

  • I’m not sure it’s for you, but …

    • recommend in a non-intrusive way
  • Open-minded

    • “Are you open-minded to do something?” this encourages people to do something.
    • or if you are criticizing something or someone but still want to show the empathy, you can say “I am helping someone be open-minded.”
  • What do you know about

  • How would you feel if?

    • How are people motivated?
      • Avoid a loss
      • Aquire a potential gain
    • Emotion comes first than logic
    • People make decisions based on what feels right first. Interestingly, when we make decisions for ourselves, we should avoid harmful emotions. (By Ray Dalio)
  • Just imagine

    • Creating pictures in the minds of others is done by telling stories.
  • When would be a good time?

    • One of the biggest reasons your ideas fail to get heard is that others tell you they just don’t have the time to consider them.
    • The preface prompts the other person to assume that there will be a good time and that no is not an option.
  • I’m guessing you haven’t got around to

    • By pushing for the negative scenario, you get people to rise to the positive or to tell you how they are going to fix the thing they said they were going to do.
  • Simple Swaps

    • Do you have any questions? => What questions do you have for me? When emphasizing “questions”, instead of “you” (the audience), then the audience will ask less questions.
  • As I see it, you have three options … Of those three options, what’s going to be easier for you?

  • There are two types of people, …

    • This may help people make final decisions.
  • I bet you’re a bit like me

    • It often results in the other person comfortably agreeing with you.
  • If … then …

    • people like to hear something with logic behind, no matter if it really makes sense…
  • Don’t worry

    • it’s particularly useful in high-stress scenarios, when confronted with someone who is panicked - it puts people at ease.
  • Most people

    • When you tell people what most people would do, their brains says, “I’m most people, so perhaps that is what I should do too.“
  • The Good News

    • “The good news is ….” causes people to face forward with optimism and zap any negative energy out of the conversation
    • by bring more positivity to situations with “the good news is …” and responding with, “that’s great,” you soon start shifting the balance in people’s thoughts.
  • What happens next

    • finishing a process with a question that is effortless to answer is the key to gaining a rapid response and a positive outcome.
      • the easier the question is to answer, the easier you gain your decision.
  • What makes you say that

    • success in negotiating is all about maintaining control in a conversation, and the person in control is always the person who is asking the questions.
    • so when we get objections like
      • I haven’t got the time
      • It’s the wrong time
      • I want to shop around
      • I haven’t got the money right now
      • I need to speak to somebody else before I make a decision about this.
    • by treating every objection you face as nothing more than a question, you can quickly regain control of the conversation by asking a question in return.
  • before you make your mind up

    • fight for the last chance before you say “no”.

Good to great

2067 2018-11-03 20:51

Leading a company to leap from good to great = pushing a giant flywheel to breakthrough with

  1. Disciplined People
    1. Level 5 leadership: executive > effective leader > competent manager > contributing team member > highly capable individual
    2. First who then what
  2. Disciplined Thought
    1. Confront the brutal facts
    2. Be a fox after being a hedgehog
  3. Disciplined Action
    1. Culture of discipline
    2. Technology accelerators
  1. Target a few hundred or a thousand key people, not millions.

    1. e.g., Dropbox began with a fun demo video in the initial launch. People can register but in a waiting list to use it. Use something new and exciting to attract users.
    2. e.g., eBay in 2012 partnered with Gogo to provide free wifi access to ebay.com during flights. The brilliant part is that it can track the data to see whether it is beneficial and thus they can continue the partnership.
  2. Do not target all people - target the right people

    1. e.g., Uber offered free rides for Austin’s SXSW conference for several years, which attracts thousands of tech-obsessed, high-income young adults.

    2. Hacks

      • Pitch media websites to write about us.
      • Post in Hacker News, Quora, Reddit.
      • Write blogs.
      • Kickstarter.
      • www.helpareporter.com to connect to reporters.
      • Invite users for free or with some incentives.
    3. Stunts

      • Create the aurora of exclusivity with “invite-only”
      • Create fake users to make it more actively than it is. (Reddit did this)
      • Catering to a single platform exclusively (PayPal and eBay)
      • Launching for users group by group (Facebook and colleges)
      • Bringing on influential people for their audience and fame
      • Sub-domain on the e-commerce site to donate (Amazon)
  3. Focusing on new user sign-ups (acquisition) instead of awareness.

  4. Growth Techniques = marketing + engineering

    1. e.g., Airbnb made tools to make cross-posts to Craigslist.
    2. Sean Ellis: “Focusing on customer acquisition over ‘awareness’ takes discipline… At a certain scale, awareness/brand building makes sense. However, for the first year or two it’s a total waste of money.”
    3. In-effective actions
      1. Big blowout launch 2. Build it and they will come. (Aaron Swartz: users have to be pulled in.)
© 2010-2018 Tian
Built with ❤️ in San Francisco