Posts

Soft Skills: How to communicate effectively

To be successful, you must communicate your ideas. The heart of communication is a story which must be written. Emma Coats wrote stories for Pixar, and tweeted a series of “story basics”. Most of these are applicable to communicating, and I’m posting them here to remind myself how to communicate better. What do you want to say? Why must you tell THIS story? What’s the belief burning within you that your story feeds off of? That’s the heart of it. Come up with your ending before you figure out your middle. Seriously. Endings are hard, get yours working up front. What’s the essence of your story? Most economical telling of it? If you know that, you can build out from there. How you want to say it? You gotta keep in mind what’s interesting to you as an audience, not what’s fun to do as a writer. They can be v. different. Discount the 1st thing that comes to mind. And the 2nd, 3rd, 4th, 5th – get the obvious out of the way. Surprise yourself. Simplify. Focus. Combine chara...

What positive computing approach are you taking in your designs?

The positive computing book lays out a simple model for the approach your designs can be taking, I summarize it here: Approach Description Example None Happiness ignored Most applications today - no attempt to make users happy Passive (reactive) As issues are found which effect happiness, features are redesigned Comment systems allowing anonymous comments. As anonymous comments filled with negativity, comment systems evolved to allow enforcing a user identity, and to block "bad" users. [TBD: Get a better example] Active Augmenting existing features to make users happier Bing home page - displaying beautiful images that makes users happy. Deliberate The goal of the feature is user happiness exclusively Happify- a tool to train users ot be happier

Measuring In the moment happiness (InMoHap) with moodles (Mu)

This post is in progress to help me flesh out my progress -- feedback please!  TL;DR:  Moodles, abbreviated Mu, is a measure of in the moment  happiness" (InMoHap), which is extremely helpful when exploring positive computing.  The case for moodles.  The goal of positive computing is to make users happier, which means we need to measure happiness to tell if users are happier.   The current methods to measure happiness have limitations (details on request) , so we'll define a new ideal unit for in the moment happiness (InMoHap)  called the moodle, abbreviated Mu. The properties of the Mu is it can be objectively measured at any moment of time with minimal  user interruption.    For example, just as a fit bit can transparently count your steps through the day, a Moodle-O-Meter can measure your InMoHap throughout the day. Examples of using moodles.  To get a good understanding of InMoHap and moodles the following graphs show...

StartupVille: Testing vs Optimizing

TL;DR - Optimizing, is figuring out how to do make a result better.  Testing is checking if something is so good it doesn’t need to be optimized, or so bad you're better off doing something different. Founders spend a significant portion of their time comparing alternative to see which is better and why. For example how to make a landing page more appealing, or what price they should set for a product. This process is incredibly important and called optimizing. Optimizing is often expensive so before you start optimizing, test to see if something has so little traction it's not worth starting to optimize, or has so much traction there's no need to optimize. For example, imagine you have a customer acquisition cost (CAC) budget of 5$ and you run some search ads and get a 0% click through rate.  In that case, instead of trying to optimize search ads, you are probably better off trying a different channel like social network  ads.  Now, imagine when you try social...

Soft Skills: How to suck less

Ira Glass describes the problem of sucking  with the eloquence of the master story teller that he is. Jeff Atwood  has the solution: 1) Embrace the suck - you'll keep sucking until you don't. 2) Do it in public - that way you can get feedback and learn how to suck less faster 3) Pick stuff that matters - the more important it is, the more motivation you have, and feedback you'll get.

Positive Computing: Technology making us happier

TL; DR: Positive Computing is understanding how computing can make normal people happier. Psychology started life as a science dedicated to helping people reduce mental illness.  Recently some psychologists wondered how their craft could help normal people be happier.  This new branch of psychology is called positive physiology. Similarly computing started life dedicated to making people be more productive.  Many early computer engineers expected the increase in productivity to increase happiness. But, while productivity soared, happiness remained flat.   Recently some computer engineers wondered how their craft could help normal people be happier.  This new branch of computing is called positive computing. Positive computing is a brand new field, and I look forward to investing in it heavily.  If you want to go deep into positive computing, there are some resources below: A  slide deck   on positive computing The  book on positive c...

Typeform: Surveys and data gathering

As an entrepreneur, figuring out what your customers need is your top priority. When you have lots of customers, surveys are a great way of doing this. If you're doing surveys I strongly recommend typeform . It's simple to setup, and produces beautiful ux on phones and desktops for data gathering.  When you're thinking of using typeform, don't limit yourself to surveys. For example, I use typeform for sign up forms.  This saved me several hours of initial development, and even more hours when I made changes to my sign up process. 

Startupville: Would you tell a single dad he needs a mom for his kid?

If you would, I've got news for you, he already knows, and what you said was futile. Just as the single father already knows his child would benefit from a Mom and telling him won't help, it's not helpful to tell a founder he needs a partner. Like a single father, a Solopreneur knows the benefits of a partner are huge, but is wary of settling on the wrong partner. Having a partner who wouldn't cherish their baby through thick and thin, is far worse then going through the same think and thin alone.

Startupville: The three founders - Hustlers, Hackers and Hookers

To run a startup you need three personas represented by your founders:Hustlers, Hackers and Hookers. The hustler is the founder who can breaks down doors, she unlocks segments, captures funding, she's makes sure the startup engine never stalls for lack of leads or funding. The hacker is the founder who builds it. She is a McGyver and can build anything quickly. When there's a technical problem she can get it duct taped and bubbled gummed back up in giffy to keep the technical side of the business running. The hooker, often called a designer,  is the least known of the founder personas, but possibly the most valuable. His job is to love the customers. He listens to the customers emphatically and deeply understands what customers need,  even when the customer can't describe it.  This founder figures what should be built, how it should work. what it should look like, all within the constrains of the business model and technology. Often startups don't have dedicated...

Startupville: What's it like running a startup?

Running a startup is hard. Soul crushingly hard.  I suspect if you haven't done it before, you can't understand it, but I'll try to explain it with an analogy: Imagine you decide to row across the Atlantic  alone. You don't get a GPS, you don't get a map, you don't even get a compass, all you can do is navigate by the stars.    Oh yeah, you do get a one way radio you can't turn off. At first, as you leave your home filled with confidence. You know you're a strong rower,  you think you know where you're going, and you  you feel great! But then it gets dark and cloudy,  you can't see the stars, you have no idea where you are, you have no idea if you're going in a circle or heading back to where yous started, and you're tired, rowing is hard work.  You become filled with fear and doubt.  Even if you wanted to go back to a place you thought was safe, you don't know how to get back. And did I mention rowing is hard work, and you'...

Startupville: Why is no one referring my project?

TL;DR - Your customers don't provide referrals because it's a risk to their credibility. Remove the credibility risk, and your referrals will follow. As an entrepreneur I imagined  my user count would grow by leaps and bounds as soon as my happy customers started providing referrals. However, when it came time to start providing referrals, my customers kept saying they would, but didn't follow through. At first, I assumed my customers weren't providing referrals because they were lazy.  Thus I spent a bunch of time nagging my customers. Guess what? No referrals. Then I assumed the problem was that my customers had no idea what to say for the referral.  So I spent a bunch of time creating a referral message my customers could use. Guess what? Still no referrals. Then I got wise and asked one of my favorite customers why he wouldn't refer me -  and he told me the answer. "Igor, I won't refer you because when I refer you it's my credibilit...

Cool Tools: World Time Buddy

Disclaimer:  I know the CEO, I know this sounds like spam, but it's still awesome. Keeping multiple time zones strait is a pain.  Missing a meeting because you came 3 hours too late is worse.  World Time Buddy makes it easy to keep track of time zones. Check it out. https://worldtimebuddy.com

Soft Skills: Your three selves

A week ago, I was at a gala, and I ate a few chocolate truffles because they made me happy. I suspect it was wonderful, but honestly I don't remember if that was the case. Even worse, as I try to button up my pants and the pants are too tight, I'm feeling quite unhappy about eating the truffles. In the above paragraph there were three "I"'s or "selves" being referenced. The present experiencing self, the future remembering self, and the future experiencing self. To concisely refer to these three selves we'll call them the experiencing self, the remembering self, and the future self. As you think of three different selves there are two big questions. First, when you thinking about the costs and benefits of an action, think through the cost and benefits for the different selves. Second, decide which of the three selves you want to optimize for.  With luck your present self enjoys this post, your future self remembers enjoying the post, and ...

Cool Tools: Vim Tricks

This post will help me remember cool tricks I learn in VIM.  It's mostly for me to find things I've forgotten how to do ... Select an XML/HTML tag block Tag blocks * tag-blocks * For the "it" and " at " text objects an attempt is done to select blocks between matching tags for HTML and XML. But since these are not completely compatible there are a few restrictions. The normal method is to select a until the matching . For " at " the tags are included, for "it" they are excluded. But when "it" is repeated the tags will be included (otherwise nothing would change). Also, "it" used on a tag block with no contents will select the leading tag .

Depression reading list

I've had multiple people ask for my book recommendations on depression on bipolar disorder.  Here's my reading list: The Noonday Demon: An Atlas Of Depression An extremely well written book about depression. It helps a reader understand the experience of depression from a superb story teller. The author also has a gripping  TED talk . An Unquiet Mind: A Memoir of Moods and Madness A psychiatrist's story of bi-polar disorder, a very well written personal memoir.  It gives a good feeling of the highs of Mania as well as the lows of depression.  Bipolar Disorder Survival Guide, Second Edition An engineering manual for laymen on bi-polar disorder.  This is a great book if you'd like to understand the current medical knowledge around bi-polar disorder, as well as what you can do to for yourself and your loved ones. 

Don't under estimate e-mail. It's the new drag and drop and notification system.

This will likely roll up into another blog post, but writing it down so  I don't lose it. In the 2000's using a computer meant using the windows desktop. Two common capabilities from those days were the ability to do a user initiated share of data between applications, and the ability to asynchronously notify the user. User initiated data sharing on the windows desktop was accomplished with drag and drop. Today there are no apps so there is no notion of sharing between them, except - e-mail. For example, if you want to share a video via youtube, you can send a mail to a special youtube address. Asyncronous user notification used to be done with notification windows in the bottom user of your screen.  Today there is no notion of an on your latest device alerting platform - except e-mail. For example if youtube wants to tell you your video is ready to be shared, you get an email. Cool how the world evolves eh?

Cool Tools: Vim Keybindings

This post will enumerate the vim emulators I use, I expect it to refresh as I learn of more.  The VIM community is very passionate and frequently adds plugins to support VI keybindings in random tools. Here are the tools I use with their vim key bindings.  Chrome/Firefox  -   Vimium  Chrome/Firefox   Textboxes  -   Wasavi  Windows Command Line  -  Clink  ( instructions ) Unix Command Line  - set -o vi OneNote  -  Vim For OneNote Visual Studio - VsVim  (my customization here ) Visual Studio Code  -  VsCodeVim IntelliJ -   IdeaVim  (my customization  here ) XCode  -  XVim  (my customization  here ) Jupyter Notebooks -  jupyter-vim-binding Happy VIMing. 

Soft Skills: Job Hunt Stress

This post targets currently employed developers who want to switch jobs.   Job hunts are stressful, and my goal for my job hunts is getting the job I want without getting too stressed.  My job hunting stresses come from: lack of confidence, being rushed, not having options, disappointing others and the pressure from my current job responsibilities. By expecting and mitigating each of these stressors I greatly reduce the stress during my job hunt. Below are my stressors and mitigations: • Lack of confidence ○ Study for technical interviews - Study Cracking the Coding Interview  and system design questions . Expect to spend 4-8 hours a week for 4 to 8 weeks.  The longer it's been since you've interviewed last, the longer this will take. ○  Prepare for behavioral questions - Think through your previous projects for situations that demonstrate leadership, confidence, team building and be prepared to discuss them. ○ Do mock interviews - ask your fri...

Cool Tools: Git Helpers

This post will enumerate the helpers and commands I use with git, I expect it to refresh as I learn of more.  This is now basically out of date, and a place to jog my memory.  I'd recommend finding your problem and solution here: https://github.com/k88hudson/git-flight-rules Tools: Source Tree - a superb gui for git. I use it for all but the simplest commits. gitk - Built into the git distro, gitk allows you to visualize the tree Uncommon, but useful operations Move recent commit from master to a branch. git branch newbranch git reset --hard HEAD~3 # Go back 3 commits. You *will* lose uncommitted work.*1 git checkout newbranch Get a local copy of a server branch (tracking branch)     git checkout   See which branches contain which commit  git branch -r --contains See pretty view of history (all after tag 1.2.38.0) git log --decorate --oneline --no-merges  1.2.38.0.. Even prettier git log --pretty=format:"%C(yellow)%h%...

Soft Skills: Read the best book you can.

When I have time to read, I want to read the best book I can. When I hear about a book I want to read, I either add it to the list of books I want to read, or I start reading the book immediately.   If I add the book to my  "to read" list, I'm almost certain I'll never read the book.  On the other hand, If I start reading the book right away, I'm almost certain the book is worse than books I've already added to my "to read" list. So, I'm going to try to build the discipline to only read the best book on my "to read" list, instead of reading the last good book mentioned to me.   I suspect this technique will be hard,  but reading the best books might be worth it.  If this works, I'll try to apply the same technique to other aspects of my life like movies, toys I want to watch, and people I want to have lunch with.