Moto G6

Moto G6

I was set to get a new Google Pixel 3 phone $150 off $800 during Thanksgiving.  Then I came across the G6 I could get for $189 at Costco ($50 off).  You can get it on Amazon for $200.   I decided to give it a try and so far, I’m pretty happy with it.  My Google Nexus 6 phone was starting to have issues and no longer allowed Android Auto to work in my car.

The phone is slightly thinner but taller with a 18:9 ratio rather than the standard 16:9. It has tons of features which I’m still discovering.  This is the first phone I’ve owned with a fingerprint scanner and I really like how convenient and quick it is to unlock the phone.  I can define motion actions as shortcuts to various functions. For example shaking it twice will turn on the flashlight!

It has a 12m front facing dual-camera.  Judging from the 1st photo I shot on our back porch, it is plenty nice!

I could buy a phone like this EVERY year at this price and in 4 years I would have spent as much as an iPhone!

CNET Review

TechRadar Review

Solid State External Drive

Solid State External Drive

I want to move all my external storage to solid state drives.  I get nervous that my disk-based external drives will eventually stop working.

This Samsung  T5 SSD 500GB USB 3.1/USB-C  is my first SSD purchase.
It’s tiny and fast!  Love it.  Bought it back in May for $160.  Amazon now has it for $124.
When I fill it up, hopefully prices of the 1TB model will fall and I’ll buy my second.

 

 

iMovie Tips

iMovie Tips

Based on iMovie version 10.1.9

How to create highlight video from Volleyball game

  • Drop entire game into timeline.  You can just use Finder and drag and drop files
  • Use Zoom-In/Zoom-Out slider
  • Start watching using keyboard hotkeys to fast forward until you get to part where you are involved in play.
  • Play normal and decide if you want this clip.
    • For Hitting I like to start just before the set and after SOME celebration
    • For Serve Receive I like to start with ball just before it crosses the net and end after setter sets
    • For Digs I like to start just before hitter hits or maybe include set too, end after next hit of ball
    • Include serve only if it has great velocity or placement, not due to bad SR
  • Position head at starting frame, hit <Command><B>
  • Position head at ending frame, hit <Command<B>
  • Select and delete video before the highlight clip
  • Advance to video past highlight clip and continue
  • Use a Title above the last highlight clip in timeline (Reveal Lower Third) to remind you where you left off
  • Don’t use transitions.
  • Don’t include “lucky” plays like a server that hits top of net and goes in.
  • Don’t include “basic” plays like a serve or free ball that comes right to you.
  • Remember these should be “highlights”, not video of what anyone can do.

Keyboard Shortcuts
<Space>: Play
< L >: Fast Forward (repeat for faster). Use <Space> or <K> to pause
< J >: Fast Rewind (repeat for faster). Use <Space> or <K> to pause
< Left Arrow > Single frame backward
<Right Arrow > Single frame forward (Try holding down)
< Up Arrow> Previous Clip
<Down Arrow> Next Clip
<X>: Select Entire Clip

Split Clip : <Command><B>
<Command>Click to toggle selection
Select All: <Command><A>
Copy: <Command><C>
Paste: <Command><V>
Undo: <Command><Z>

<Option> < F > : Add Freeze Frame using current position. Grab frame handle (circle at top) to shorten/extend time

Remove (soften) Audio:  Position cursor toward bottom of clip in timeline just above sound graph until you see double-arrow cursor, grab and pull down

Advanced Editing

Crop/Zoom
Slow Motion
Stabilize Shaky Video
Adjust Color

Syncing Audio/Music with Video

  • Mute all Audio by selecting all clips <Command><A> and from menu select Modify…Mute Audio
  • Drop in audio file below the video.
  • If you forget to mute audio first, just select all again which will select audio track, then use <Command>Click on the audio track to deselect it. Make sure your cursor is an arrow before clicking.
  • For play-by-play audio, find beginning of match by starting to listen and split and delete when audio is about to leave screen, drag remaining audio back to start. Repeat until beginning of match is found.
  • Find audio for each video clip. Decide if you want to keep video/audio pair, doesn’t have to be perfectly in sync to review
  • If you decide to clip clip, edit audio first.
  • Edit Audio clip just like video deciding when to begin and when to stop.
  • Create a freeze-frame at beginning and/or end of video clip using <Up Arrow> & <Down Arrow> & <Option><F>, stretch using circular handles so that audio will stay with video clip.  Zoom in if necessary to gain better control.  Make sure freeze-frame is not blurred. If last/first frame is blurred find non-blurred frame to freeze.  Make sure video and audio ends at same point.

Miscellaneous

Working on multiple highlight videos at once.

What if you want to create different highlight videos from the same source video?  iMovie only supports 2 video timelines and you can take advantage of that and stack one set of clips over the other.  The top timeline is really designed for overlays like text and such, but it can be done with some careful management.

Another option if you only need to save off a few clips for another purpose is to simply use copy/paste of a clip from your main project to another. After copying, switch projects and paste the clip.  Not ideal but it works.

 

 

GIT Hook to prevent Commit of a file

GIT Hook to prevent Commit of a file

This is one of my favorite tricks.

When I make a temporary change to code, usually for testing, that I do not want to commit, I simply add a comment above the temporary code with the words DO NOT COMMIT.  When I try to commit that file, git will abort the commit and warn me:

+        //  DO NOT COMMIT
pre-commit: Blocking commit because  detect

In the root of your project, open the hidden .git folder.

Use  CMD + SHIFT + . to toggle display of hidden files if needed.

If it doesn’t exist, create a hooks subfolder.

create a file named pre-commit with the following content:

#!/bin/sh

# Check if this is the initial commit
if git rev-parse –verify HEAD >/dev/null 2>&1
then
against=HEAD
else
echo “pre-commit: About to create the first commit…”
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi

# Use git diff-index to check for @DONTCOMMITTHIS
# http://stackoverflow.com/a/7292992/3307822
# https://www.atlassian.com/git/tutorials/git-hooks/local-hooks
#
declare -a strsToLookForArr=(
“DONTCOMMITTHIS”
“DONOTCOMMIT”
“DO NOT COMMIT”
)

for str in “${strsToLookForArr[@]}”
do
if git diff-index -p -M –cached $against — | grep ‘^+’ | grep -i “$str”
then
echo “pre-commit: Blocking commit because $strToLookFor detected”
exit 1
fi
done

echo “pre-commit: clear”
exit 0

How NOT to measure development productivity

How NOT to measure development productivity

Allen Holub believes in #noestimates.

In his blog post KPIs, Velocity, and Other Destructive Metrics he offers this alternative to useless metrics tracking:

Focus on continuous process improvement, and productivity takes care of itself.

He has this to say about Velocity as a useful measurement of productivity:

velocity (average points per sprint) is not a performance metric, and using it as such is actively destructive. For one thing, the basic unit (a point) is not a measurable quantity. It’s a judgment. You can’t derive a quantitative measure from qualitative input.