//TODO: professional stuff of software engineer 1001010
For OSX it’s .profile not .bashrc

Note to self

`vim ~/.profile`

alias ll=”ls -lsa”

New resume

Time to dust off the resume (CV for the Euro crowd) and update LinkedIn.

TL;DR: Last year we started a new group and half way through we changed focus and I lost interest.  I gave it time and now it’s time to look for something that does interest me.

After 10 years at Blizzard it’s time to look for a new project.  It would be nice to stay at Blizzard with another team, but I need to find new challenges.

Tell your friends, Jason is looking.

-Jason

Note to self: ssh auto login

Sometimes I want ssh to just connect and not ask me for the remote password. By sometimes, I mean last time was 2 years ago.

This works on my mac, your mileage will vary

Make some keys

me@local ~> ssh-keygen -t rsa
Enter file in which to save the key (~/.ssh/id_rsa): ~/.ssh/id_rsa_EXAMPLE
passphrase: REDACTED
passphrase again: REDACTED
bla bla bla info about the fingerprint & ascii art

Ensure there is a ssh folder on remote

Note: you may have to change permissions on the remote .ssh folder and .ssh/authorized_keys

me@local ~> ssh NAME@EXAMPLE.COM mkdir -p .ssh

Send our newly minted public key to the remote

me@local ~> cat ~/.ssh/id_rsa_EXAMPLE.pub | ssh NAME@EXAMPLE.COM 'cat >> .ssh/authorized_keys'

Tell OSX to use our key

me@local ~> ssh-add ~/.ssh/id_rsa_EXAMPLE

Test it out by connecting to it

me@local ~> ssh NAME@EXAMPLE.COM
Welcome to EXAMPLE.COM
Last Login: TIMESTAMP from YOURIP
NAME@EXAMPLE.COM ~> _
flask & pycharm

For a research project at work, I wrote up a quick web service using Flask.  Sure, it’s not as powerful as gRPC.io – but it doesn’t need to be.  I just needed a quick and dirty RESTfull server that any app could connect to.

Two things impressed me

  1. the nearly flat learning curve – thanks in large part to the availability of docs
  2. and PyCharm‘s support for it.

Now the only thing that bothers me is my slow slide to the dark side.  C++ has been my bread and butter for many years, but with Python – all the things are already there.
Want a URL downloader in C++? Find cURL and learn how to integrate it.
Want a URL downloader in Python? pip install requests

Python scripting is way too easy. I have got to get over my biases against it.
My next personal web project will probably be in Flask

Note to future self

  • https://mattcarrier.com/flask-dreamhost-setup/
  • https://github.com/kennethreitz/requests
Weekly code review template

With 8 engineer employees that report to me, I spend a lot of time in meetings and meetings and code reviews and 1-on-1’s.
Coaching so many on multiple projects, as it turns out, takes a lot out of your day!
Here’s the outlook meeting template I use for weekly individual code reviews with my staff. I find it useful to set clear rules so that we don’t waste each other’s time. We’re professional software engineers and we talk about the architecture and not line by line accuracy or holy wars over tabs/spaces – that’s what per commit buddy checks are for 🙂


 

Hello %USERNAME%, This time slot is your time slot for us to review your code.
It may get moved due to schedule conflicts, or illness, or emergencies, or whatever – but we will strive to do this EVERY WEEK.

What this is NOT:
•       Painstaking analysis for perfectly formatted code
•       Checking for C-style off-by-one errors.  I expect that you will test all your code in a debugger & you will find that type of error anyways.
•       The Spanish Inquisition
•       A replacement for buddy checks before each commit.  Buddy checks are required for every commit.

What this is:
•       A professional discussion of the structure and effectiveness of your code
•       Feedback on the readability of your code.  I follow the 3am rule: can I read it at 3am? (..after being woken up by GNOC because servers running it are crashing and everyone is screaming over losing customers and getting bad press)
•       An opportunity to teach me about how your code works

What I hope to achieve:
•       We will both Learn and Grow as software engineers
•       Higher quality code
•       Shared knowledge of how your code works

Format:
•       Show me your work since our last review (usually a week)
•       Talk me through it – Think of me as a rubber duck (http://blog.codinghorror.com/rubber-duck-problem-solving/)
•       I will provide feedback
•       You will take notes
•       If I am wrong, you will tell me why. I do not know all.
•       You will make changes as needed after the meeting.

-Jason De Arte

Next Page