Tuesday, February 24, 2015

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 this prompts your future self to re-read and enjoy the post again.

Thursday, November 13, 2014

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.

Sunday, November 09, 2014

Cool Tools: CPU Analysis (CPU-Z)

The other day my windows machine became really slow. I rebooted, which had no effect.  Looking in procexp, most processes were taking much more CPU then I'd expect, and I had a feeling the problem was the machine was getting stuck with a low clock multiplier.

To test the theory, I ran a tool called CPU-Z and sure enough it showed my CPU was getting the lowest possible bus multiplier.

(To fix the problem I pulled and re installed the battery, and then the CPU stopped being throttled).

Friday, November 07, 2014

Depression reading list

I've had multiple people ask for my book recommendations on depression on bipolar disorder.  Here's my reading list:

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.

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. 

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. 

Wednesday, October 29, 2014

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?

Sunday, October 26, 2014

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 -  Vimium 
Visual Studio - VsVim
OneNote - Vim For OneNote
XCode - XVim

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 interviews - Study Cracking the Coding Interview. 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.
Do mock interviews - ask your friends and colleagues to interview you.  You should fail the first few mock interviews it's normal.
Being rushed
Know your "must be done by" date -  don't get stressed over  your own fake deadlines.
Lack of options for next jobs
Figure out what you want to accomplish
Look around for who is hiring
Start and maintain a list of candidate jobs
Have a worst case scenario job
Disappointing others
Be honest with yourself about what you can control and share.
Think about what you can do to reduce the impact to your  customers, partners,  subordinates and bosses
Pressure from current job
Negotiate with your current boss for time to work on job hunt.
Recall your highest priority is the next job, but you have existing commitments.

Even when you know about the common stressors a job hunt is still an emotional roller coaster. Expect to have "ups" and "downs". Have a support network with whom you can vent, share disappointments and gloat.

Good luck on your next adventure!

Thursday, October 23, 2014

Cool Tools: Git Helpers

This post will enumerate the helpers I use with git, I expect it to refresh as I learn of more. 

git-credential-winstore - Cache your git credentials for windows
gitk - Built into the git distro, gitk allows you to visualize the tree