Car Stats: Graphing with Powershell – Where Have I Been?

Previous posts in the series:

I could barely contain myself.  Thurday night, I had all kinds of data.. just calling my name.  

GPS Time, Device Time, Longitude, Latitude,GPS Speed(km/h), Horizontal Dilution of Precision, Altitude(m), Bearing, Gravity X(G), Gravity Y(G), Gravity Z(G),Miles Per Gallon(Instant)(mpg),GPS Altitude(m),Speed (GPS)(km/h),Run time since engine start(s),Speed (OBD)(km/h),Miles Per Gallon(Long Term Average)(mpg),Fuel flow rate/minute(cc/min),CO₂ in g/km (Average)(g/km),CO₂ in g/km (Instantaneous)(g/km)
Thu Jan 03 16:29:06 EST 2013,03-Jan-2013 16:29:11.133,-85.57728556666666,38.24568238333333,0.0,16.0,196.9,0.0,-0.015994536,0.9956599,0.0949334,0,196.9,0,17,0,31.66748047,19.45585442,259.47247314,-
Thu Jan 03 16:29:09 EST 2013,03-Jan-2013 16:29:14.004,-85.57729401666667,38.245684716666666,0.0,12.0,195.2,0.0,-0.015994536,0.9956599,0.0949334,0,195.2,0,20,0,31.66731453,45.80973816,259.47247314,-

Friday afternoon, once work things were completed, I started playing with it.  To start, I tried to read in the CSV file into Powershell.   I figured once I had it there, I could do *something* with it.

I faced some challenges:

  • The CSV column names are not “clean”, so I needed to sanitize them
  • Some files did not have certain pieces of data.
  • CSV import was a string, needed to be casted to a number before certain operations (“137” –gt 80.0 = false)
  • The units are fixed, part of the Torque app. (Actually, part of the OBDII standard)

After getting it read in, I looked around for a graphing library. Turns out I can use System.Windows.Forms.DataVisualization with Powershell. (thank you sir), which had some fun stuff:

  • FastPoint ignores colors
  • Had to turn off auto-scale on the Y-Axis
  • Made the charting controll Dock-Fill in the form

I ended up with this script:

$alldata = @(); 
$files = gci . -r -include "trackLog.csv"
foreach ($file in $files) { 
   $lines = get-content $file
   "Processing {0}: {1} lines" -f $file, $lines.count
   
   # to get around errors with header names not being valid object names
   $lines[0] = $lines[0] -ireplace '[^a-z,]','' 
   
   $data = ($lines | convertfrom-csv)
   $alldata = $alldata + $data
}
"Total of {0} items" -f $alldata.count

$speedmeasure = $alldata | measure-object GpsSpeedKmh -min -max
$speedspread = $speedmeasure.Maximum - $speedmeasure.Minimum
if ($speedspread -le 1.0) { $speedspread = 1.0 }

$mpgmeasure = $alldata | measure-object MilesPerGallonInstantmpg -min -max
$mpgspread = $mpgmeasure.Maximum - $mpgmeasure.Minimum
if ($mpgspread -le 1.0) { $mpgspread = 1.0 }

$ffmeasure = $alldata | where-object { $_.Fuelflowrateminuteccmin -ne "-" } | measure-object Fuelflowrateminuteccmin -min -max
$ffspread = $ffmeasure.Maximum - $ffmeasure.Minimum
if ($ffspread -le 1.0) { $ffspread = 1.0 }

[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
$chart = new-object System.Windows.Forms.DataVisualization.Charting.Chart
$chart.width = 800
$chart.Height = 600
$chart.Left = 40
$chart.top = 30
$chart.Name = "Foo"

$chartarea = new-object system.windows.forms.datavisualization.charting.chartarea
$chart.ChartAreas.Add($chartarea)

$legend = New-Object system.Windows.Forms.DataVisualization.Charting.Legend
$chart.Legends.Add($legend)

$series = $chart.Series.Add("Series1")
$series = $chart.Series["Series1"]
#FastPoint ignores color
$series.ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Point
$series.IsXValueIndexed = $false

foreach ($data in $alldata)
{
    if ($data.MilesPerGallonInstantMpg -eq $null) { continue } 
    if ($data.Fuelflowrateminuteccmin -eq $null) { continue } 
    if ($data.Fuelflowrateminuteccmin -eq "-") { continue } 

    $speed = (([double]$data.GpsSpeedkmh              - $speedmeasure.Minimum) / $speedspread)  
    $mpg =   (([double]$data.MilesPerGallonInstantMpg -    $mpgspread.Minimum) /   $mpgspread)
    $ff    = (([double]$data.Fuelflowrateminuteccmin  -    $ffmeasure.Minimum) /    $ffspread)
    
    $higherspeed = $speed; 
    if ($higherspeed -gt 0.05) { $higherspeed = [Math]::Sqrt($speed) }
    $lowerspeed = $speed * $speed; 
    
    # MPG numbers seem to be clustered closer to 0 with a few annoying outlyers. spread them up a bit.
    #if ($mpg -gt 0.05) { $mpg = [Math]::Sqrt($mpg) }    

    # calculate color.   
    $blue = 250*$ff;
    
    # slower = more red
    # faster = more green
    # medium = yELLOW!
    $red = 250 - (250 * $lowerspeed)
    $green = 250 * $higherspeed
    
    $datapoint = New-Object System.Windows.Forms.DataVisualization.Charting.DataPoint($data.Longitude, $data.Latitude)   
    $color = [System.Drawing.Color]::FromARgb(125,$red, $green, $blue)
    
    $datapoint.Color = $color
    $series.Points.Add($datapoint)
    $datapoint.MarkerSize = ($mpg)*5 + 1
}

$chartarea.AxisY.IsStartedFromZero=$false

$Form = New-Object Windows.Forms.Form 
$Form.Text = "PowerShell Chart" 
$Form.Width = 1100 
$Form.Height = 600 
$Form.controls.add($Chart) 
$Chart.Dock = "Fill" 
$Form.Add_Shown({$Form.Activate()}) 
$Form.ShowDialog()

Which reads everything in, scrubs some data, figures some transforms, and yields me the following pretty picture:

image_thumb5

  • Green = faster, Red = slower.
  • Blue = Gas used (doesn’t show very well)
  • Fatter = Better MPG (I should reverse this, probably)
  • The green lines are the interstates (I71, I264, I64, and I265 shown)
  • Stop lights show up as little red dots.
  • I had to hand-scale the window till it looked right. Real co-ordinate systems some other day.

I would like to do this in 3-D, but I haven’t gotten my Processing chops quite figured out yet. Maybe next week!

Car Stats : Automatic Upload to Dropbox

Previous posts in the series:

After the scatterplot fun, I decided to turn on the option which logs whenever the adapter is connected to the ECU.  As a result, I started accumulating files on the DROID.   I need a way to get them to someplace where I could have more fun.

Here’s the solution I came up with:

  •  DropSync:  Is an app that will synchronize from the Droid up to Dropbox in the cloud
    • Configured for 1 way sync (push) only
    • Check every 12 hours.
    • I needed to install the Dropbox app for the authorization to succeed
  •  AutomateIt: Is an app that will check for events, and accordingly fire commands.
    • Rule 1:  When Connected to <my home wifi network> and Battery > 50%,
      • START DropSync
      • START <my favorite podcatcher> (experiment still in progress)
    • Rule 2: at 10pm turn Airplane mode on
      • I could probably make this “if battery < 50% turn airplane mode on”
    • Rule 3: at 6am if battery > 50% turn Airplane mode off
  •  Torque
    • No longer set up to invoke Airplane mode when power is lost.
    • Always log when connected to ECU
    • Log every 5 seconds

The result: When I pull into my driveway, and turn off the car..  it detects my home wireless network, starts dropsync, and uploads the files to the network.   Sometime later, it goes into airplane mode.   Sometime in the morning, it comes off airplane mode.   When I start the car the next morning, there’s usually plenty of battery left.

Things gave me a whole slew of files in Dropbox, each in a timestamped folder:

image image

GPS Time, Device Time, Longitude, Latitude,GPS Speed(km/h), Horizontal Dilution of Precision, Altitude(m), Bearing, Gravity X(G), Gravity Y(G), Gravity Z(G),Miles Per Gallon(Instant)(mpg),GPS Altitude(m),Speed (GPS)(km/h),Run time since engine start(s),Speed (OBD)(km/h),Miles Per Gallon(Long Term Average)(mpg),Fuel flow rate/minute(cc/min),CO₂ in g/km (Average)(g/km),CO₂ in g/km (Instantaneous)(g/km)
Thu Jan 03 16:29:06 EST 2013,03-Jan-2013 16:29:11.133,-85.57728556666666,38.24568238333333,0.0,16.0,196.9,0.0,-0.015994536,0.9956599,0.0949334,0,196.9,0,17,0,31.66748047,19.45585442,259.47247314,-
Thu Jan 03 16:29:09 EST 2013,03-Jan-2013 16:29:14.004,-85.57729401666667,38.245684716666666,0.0,12.0,195.2,0.0,-0.015994536,0.9956599,0.0949334,0,195.2,0,20,0,31.66731453,45.80973816,259.47247314,-

Next up:  Consuming the data!

Car Stats: Speed vs Instant Mpg

Previous posts in the series:

This is using the built in scatter plot in Torque. 

  • Limited to {I chose} 2000 samples; after which it starts to get weird.
  • Logging every second.

The question I have: Is it really that much more gas efficient to drive slower on the interstate?

Answer:  I can’t tell yet.

speed vs instant mpg

  • This is from a drive around the interstate.. starting from Blankenbaker Parkway (Zaxby’s parking lot), out to the mall, up I264, up I71, to the rest area before Crestwood.
  • I tried not being obnoxious driving 55 .. even though it’s the speed limit, its relatively quite slow.  I think the stretch from Hurstbourne to I264 is downhill.  50MPG?
  • Interestingly, I’m seeing some indication that driving 75 vs driving 65 is more efficient – however, that might have been related to the big truck in front of me.  There was a lot of traffic, made it harder to do the experiment.
  • It looks like the “worst” mpg gets barely worse, but the “best” mpg is much better at lower speeds. 
  • To get this, I had to export to a file on my droid, and then email myself the file, then edit it in Paint.Net.

I’ve figured out a better way to get this data long term, will revisit this later with more data. (next post!)

Car Stats: OBDII + Android + Torque (feat GoPro Hero3 Black)

Part of my Christmas loot was a big fat bonus from my Employer. This has lead to various toys to play with. One of them was a BAFX Products ELM327 OBD Scan Tool to use in my car.

Another Christmas item (from my wife) was a GoPro Hero3 Black.

So I combined showing them into a single video.   The video shows it better than I could explain it; and really, there’s a ton of sites explaining Torque out there.  What I wanted to show was the “how integrated it feels” bit.

Here’s the video:

[youtube=http://www.youtube.com/watch?v=BzjDxn0Ln7Q&w=448&h=252&hd=1]
Testing Hero3 Black by demoing Torque

My take-aways:

  • The newness wears off after a week.   Sometimes, its distracting.  
  • My car uses 0.2 gallons per hour when idling; more when warming up.
  • The color on the Hero3 initially seemed bland, but was much more “workable” than the Hero960.   Much better Midtones, more data to work with.
  • I like that I can pretty much leave the droid in the car.   It has Navigon USA on it as well, it can double as a GPS, even though there is no cell service activated for it.

Fun fun!

Trying to find a Twitter app for an Android tablet

sad-twitter-bird.jpg

I have been searching for a Twitter app for my Nexus 10 Android tablet for a few weeks.  None of the ones I have tried have worked for me.   Here’s the list so far.  My apologies to a developer if I misrepresent your app, kindly correct me and I’ll retest.

Echofon for Twitter (Beta)Echofon: While I love this app on iOS, the android version does not [yet] mute by client.  Its not very tablet-friendly either.  When they do, I’ll likely switch back to them.

Plume for TwitterPlume: The inline rendered pictures are far too wide (and not tall enough) to be useful.  Still too wide in three column mode;  and I wish that the three columns could all show information from the same stream.  But no, I have to look at 3 month old direct messages instead.

Flipboard: tries to be smart about what it will show and what it won’t, resulting in missed stuff.  And doesn’t mute but heck its like its muting everything. Very pretty though it has the best UI.

Twitter: I refuse to use it.  If its like their website, it has “sponsored tweets”  .. no thanks.  And, it doesn’t have mute.

Seesmic: So far, its working okay.  It does previews, it does mutes, and while it is not intelligent about using all the space available on the tablet, it’s the least obnoxious one (apart from Flipboard). 

What am I looking for?

  • Must have the ability to mute by keyword search.  I really don’t want to see all the GetGlue, Foursquare, and Untappd things that my friends post, while I do want to see their other stuff.
  • Must have the ability to preview pictures and/or article text.   I don’t want to waste time following the link.
  • Must show a lot of information in a small space.
  • Must not skip information.

If I were to dream I would want an app that did the above and:

  • Configured against multiple sources (twitter, facebook, etc)
  • Rendered the view using little squares
    • Either picture or text in a square
    • 2×1 Rectangles possible, depending on the form factor of the picture / content. 
  • Allow square sizes to be variable – zoom in/out to get more/less information on the page
  • Allow grouping by chronological or by user or by popularity (or both)
    • both:  map chronology across the X axis; and user across the Y axis;  give everything a gravitational pull that yanks them together and/or tries to keep them in order, and see what happens.
  • Allow grouping by slicing first
    • 1st priority is: all stuff by my wife;
    • 2nd priority: stuff by my family;
    • 3rd priority: stuff that’s popular;
    • 4th priority: everything else
    • This is only possible if the time frame to slice over is configurable on the page; defaulting to “since the last time I checked”, or maybe “the oldest unread thing up to a week ago”.
  • Mark things as read vs unread so that if I don’t find it one view, I can find it in the other. 
    • Either hide things that are read, or display them dimmed, configurable.

I would probably call the app “SquareReader” or something like that.    Except that there’s a credit card processing tool that seems to have the dibs on the word “Square” at the moment.

Ah yes.  If somebody would pay me for the time, I’d write it.   Smile

The Hobbit

I was quite shocked to find that some folks on Twitter whose opinions usually match mine, did not like the Hobbit.  So it was with great trepidation that I went to see the movie tonight. I watched the 2D version tonight, and I’ll watch the 3D HFR version on Tuesday.

Critically acclaimed Drama it is not.

Goofy Yarn it is.

Songs it does have.  (All of them?) Almost Bollywood worthy transitions they are.

Well tied the intro is, to the Lord of the Rings.

Introduce additional content they are. 

Walking there is. Ponies too.

Gandalf giving single word orders, there is.

New Zealand tour it is.  The detail/color of the grass in Hobbiton gave me pause.

A crush does Gandalf have. 

In all, I’m very glad to have watched it.  I’m glad I could support all those hard working passionate New Zealanders.

I am VERY much looking forward to seeing the Higher Frame Rate version on Tuesday.  Few theaters have it… For example Stonybrook does not.  HFR only in 3D.  In the normal 24p whenever they pan the screen by more than a few degrees a second, everything blurs for me and I cannot focus on anything. There was a lot of detail in the Goblin stuff that was just too fast for me, couldn’t focus, and I’m hoping the 48p fixes that.  I’m glad that PJ can try out this technology update.

In other geeky news: using Google Docs for burn ups and demo notes and status reports so that our team can update concurrently, reducing human communication overhead.

Wedding Video–Part 1–Acquisition

imageThe geekiest thing I’m doing right now is editing a wedding video for my friend Stuart. 

I’m very glad I did this wedding as a gift – ie, not getting paid.  If I were to get paid, there’s a lot of things I would do differently. Here is what I have learned:

Pre-Wedding Checklist

  • At least two of the same kind of camera, preferably of a resolution higher than the final product.  
    • You want better than the final resolution for stabilization – any software needs to loose some pixels in order to stabilize. 
    • Hint: film at 1080p, render at 720.   Unless you are Über with your camera moving Skills.
    • Cameras that do well in low light – the dancing at the reception, for example.
  • Two GOOD tripods, which extend at least above head-level high.   OR, a Balcony. 
    • When everybody is standing, it will be challenging to get the right folks in the video.   I had one tall tripod that didn’t move well, and one short tripod that did move but was no more than head high.
    • The $55 tripod at Target is not it.   While moving, it jars and shakes – that’s where an actual video tripod is worth the $.  Next time. 
  • One audio recorder to keep somewhere in the altar area.  In my case, it went in a flower pot.
  • As many extra little cameras as you can afford – to cover the angles when none of your other cameras has a shot.  I had a GoPro near the altar area in front of the entire congregation, on the floor. 
  • A gray-scale/color card.  These can get expensive – but you can cheat and print your own.  It doesn’t need to be perfect, its mostly to color balance between different cameras.
  • An assistant to run the other camera is REALLY nice.
  • Enough battery power for N+2 hours on each camera.  
    • I planned poorly for mine – I came prepared for 5, but it turned out to be 8. 
    • Enough time to charge all batteries. You may not get it onsite.
  • Enough card space for N+2 hours on each camera. 
  • A pair of silent black shoes, and a black outfit, to not draw attention to one’s self.   I used these guys.

Rehearsal Checklist

  • Ask the question:  Where will the congregation be limited to?   If I had asked this, I would have know about additional places I could have put camera #2 that would have not been affected by standing folks.
  • Film the entire rehearsal like you were doing the real service.  It helps you know where to be and where to point at any given time.   I changed my plan about 3 times during the rehearsal.
  • Get B-Roll video of the performers performing – mostly their fingers (since they will not be wearing the same stuff during the real thing)
  • You need a reception rehearsal as well – or at least ask the questions:
    • Where will the bride and groom enter from?
    • Where will the cake be cut?
    • Where will the toast be delivered from?  (I assumed the table, but it was from the singer’s microphones)
    • What’s the general order of events? 
    • Where is the dancing going to be?

Post Rehearsal Checklist

  • Re-charge all batteries.
  • Offload and clear all memory cards.
  • Final plan on where the cameras will be.   Remember the 180 rule

Pre Wedding

  • Place all the cameras, tripods, etc, in position.
  • Get some audio without anybody else there – to establish baseline noise (to be used later in noise reduction)
    • I used AGC (automatic gain control) on my recorder, but it would be better to have that turned off if you want high quality audio – however, that also needs practice.  My fear was that I’d have the gain turned too low, so I went with AGC turned On.  That makes noise reduction harder.
  • More B-roll.  By this time, all the flowers, etc will be in place.
  • 5 minutes before action time, turn everything on. 
    • Use a checklist.  Yes, I DID turn on the audio recorder.  Yes, I DID turn on the GoPro.

During the Wedding

  • If you have an assistant, one camera should be fixed on a subject at any point in time.  This is where the stationary Go-Pro or wide-angle cameras really help – you can always fall back on them even if everything else is moving.  
    • If you are a solo act, this works out – I would adjust one camera, pad over to the next (in my silent shoes), adjust it, then back to the first, etc.
  • Slow slow SLOW sweeps. 
    • This is where the good tripod really helps.
    • Do NOT zoom in all the way.  This is where recording at a resolution higher than the result is helpful – gives image stabilization room to play.  This is where having the grid turned on helps – keep most of it inside the center grid.   (But, if you are recording at the final resolution, obviously, don’t do that)

After the Wedding

  • Record the entire receiving line.  
    • From an angle where you can see the guest’s faces.
    • These are the people who are important to the Bride and Groom.  

During the Reception

  • You probably will not get to eat a full meal.   Plan accordingly.  
    • Why: Some of the footage you will want is people getting served food.   That cuts into eating time.
    • Then, while eating, the toasting will probably begin.    Or, people will demand they couple kiss, and you’ll want to be ready for that.
    • This does not exclude Cake.  Cake can be eaten easily.
  • Friendly kids and throw away cameras make for great video.   10 years later, its whatever the kids did, that gets watched, not the boring grown-up stuff.   I was blessed with two volunteers.

 

That’s probably about it, on lessons learned.   Don’t worry – while it sounds like I had a train wreck; au contraire, I’m 90% proud of what I’m able to produce – I have good editing skills.     The editing part is a separate post.

Entertainment / Hobby Queue (10/26/2012)

I have found myself with nothing to do tonight.   Not, as in, bored, but more like a moment to breathe.   As I sit back and relax, I realize I have a long queue of stuff that I want to do .. sometime.  I’m making a note of them here.   As I write this, I realize I also have misgivings about some things, they need to leave the list, I do not have the time, I must be picky.

(Creative Commons photo by Simon Law)

Video Editing Queue – Priority

  • Soccer Banquet:  player and coach interviews – mostly done, needs trimming and color correction and some titles.
  • Soccer Banquet: to be determined – JV, V, Seniors, Action shots, Clips of celebrations, Senior Parents flashback – waiting on media from my wife to set the grouping.

Video Editing – Not priority 

  • Now that I have multicam software, finish off the Café Unity Wizard of Oz video .. so I can delete the originals (22G) and replace with a single 4G video stream.   (Also amazing is how Premiere does 2 pass VBR etc – to get crisp high quality video in less space – as compared to consumer MPG generation)
  • Likewise, reburn the surrounding video to a DVD for Noumuas, but I want to attempt color correction on it now that I have learned how.
  • Battle of igNew vs Heartland – Basketball competition – its going down tomorrow.  I won’t be there, but supposedly there will be two GoPro’s in the mix. 
  • Niece Macki’s Oldham vs Shelby competitive girl’s soccer game.

Archiving

  • I *still* have all those old photos that need to be digitized.   I might just find a service and get them sent off.  I really want to color correct some of the stuff from the 70’s.  
  • Of course, none of it is of any use to anybody other than me.. I have no biological offspring who would care.
  • I have about a decade of digital pictures that I could try to organize and comment on.

TV

  • Staying up to date with Grimm, Top Gear Ameriica, Top Gear BBC, Doctor Who. Only one is currently in season.
  • Backlog of seasons: Doctor Who.  I’ve browsed the top 10 so far.  I might let this one go.
  • Battlestar Galactica?  I think they completed their story arc now.   I might let this one go.
  • Richard Hammond Crash Course.   Not started yet. 
  • There’s probably more excellent TV that I have missed, but I don’t know about ‘em, so I can’t list ‘em.
  • I think I’m giving up on Wild Alaska Flying Frozen People with Wind and Visibility Problems and oooo it could be dramatic but it really isn’t, but its pretty and I love watching airplanes fly.
  • Ice Road Truckers, if I get really bored.  Similar to the above. 

Movies

  • The Hobbit.  Oh yeah.   Probably twice, in the theaters.
  • Avengers
  • John Carter of Mars
  • reference Howard Tayler’s yearly reviews of movies, I seem to agree with him (except that I liked Wolverine)
  • Harry Potter!  I stopped watching the movies somewhere between 4 and 5 I think.
  • I once thought I would watch the entire LOTR, but with the directors or some other commentary track.  I might have to shelve this.  I think its beautiful what they did, but its in the past now, let it go, look at the new.
  • There are many feel good important movies about the beauty and challenge in our world —   Racing the Rez is one of them..  I want to watch more of these.   There’s also a movie about high school football that @CoachKennyBurke referenced in one of his videos.

Books

  • I have an active subscription to Schlock Mercenary.
  • I have many non fiction books.. math books, geeky books.. that I have gotten this year, that I can’t even remember.  Some by Martin Gardner.   There’s something about a very peaceful tribe in the Amazon.    I could possibly put these in GoodReads, but I’d rather actually read them.
  • Graphic novels from Humble Bundle that I just bought.  I got through xkcd the other night, it was great.
  • Shannara?  I grabbed 1 and 3, tried re-reading, but I’m finding it too dry and too.. suspicious?  the characters are not deep enough for me to relate any more.  I think I have to pass on it
  • Barbara Hambly is currently on my list.    I have 2 or 3 of her books lined up.
  • 2 anthologies (?) of Science Fiction short stories thanks to my Mother in Law.  I’ve read a few stories from each.
  • I read through the first 6 books in the “Warriors in the Wind” (cat stuff) series.  I am hesitant to start on the next 6.  Same shit, different paw.

Youtube

  • ViHart, CPGrey, VSauce, SlowMoGuys (sorry no links, you can youtube them if you want)
  • I seem to catch up about every month or so.

Music

  • I’m reasonably current now, thanks to Sirius XM. 
  • Mostly will involve banging on drums really loud.  
  • Some day I want to revisit trying to mix two or three songs together to make a mashup.
  • I do want to spend some time and just go through all the music that friends post on facebook, and listen to a bunch of it.  Just to see what’s important to them.

Code projects

  • Burnup/Burndown – currently working on it, at the rate of 1-2 hours every other week (link is to github)
  • Gmail super-archiving program – to delete all but the most recent of a pattern match; moving the most recent to an “Offers” folder.   Access via Imap, probably. 
  • Recovery Program Mapping – to help generate maps of 12 step meetings sorted by Date, Time, and mapped across a city.  Because that’s really hard to do.   Make it donation-based. 
  • LPC revisited in C# and .Net – to pay homage to where I learned OO for real.  

Games

  • XCom – I only played a few levels.  It was fun.   I probably won’t go back to it.
  • DayZ – I only played a bit; won’t go back to it unless its with a group of buddies
  • Civ5 – I did everything I wanted to do with it; I can shelve this
  • XPlane – I did all the travelling to places that I already know; I still have my cross country trip to do, however, I’m not feeling it right now.  Maybe in the dead of winter.   I have a TrackIr now, should be fun.
  • SPAZ – meh, it was interesting for a night.  Probably shelved
  • Borderlands – curiosity satisfied, shelved
  • SimCity – curios, might download demo, then shelve.
  • Portal – I really should play this.   Its so famous.

Then there’s another part of life.. that’s not work, its not family, and its not entertainment…  Its been ignored.  It’s the segment that I only seem to find the desire to work on, after I’ve spent some energy getting charged back up using entertainment.   It is:

Exercise

  • Get back to Yoga
  • Get back to resistance training / toning all muscles in general
  • Get back to running
  • Bonus: Swimming (== toning core muscles)
  • Bonus: Bicycling
  • Bonus: Soccer

If I ever say I am bored.. I need to come back and read (and freshen) this post.   And I’m not even listing the other areas of life I could get more involved in – recovery work (going to more meetings, taking on more sponsors), teaching (I think I would enjoy it, one on one, for those who want to be better developers), yardwork, house fixing, etc etc etc…

Life is Full.   That’s probably good.

Video Editing Quandry

I have a Quandry.  Or a Conundrum.  (Quandaundry?  Condrumdum?)

I’m working on one of the High School Soccer Banquet videos,  the one where I interviewed the seniors, asking them various questions (in retrospect, there were so many other questions I could have asked that could have been more interesting)..

I also have the coach’s description of each of the players.  It’s a bit long.  Coach said I could probably get a few seconds from that.. well, gosh darn it, he’s a good egg, he loves the players, I want to use all of it.

One way to do it would be to go player by player.. have the coach’s version.. then have the player’s answers.  Put that way, its about 23 minutes of footage, though I’m sure I could cut it down.  However, I think its boring.

I have another version:  Where I have the title of the question, and then each of the player’s answers.  This version is down to probably 10 minutes, but it does Not include the coach’s blurb on each player.  The coach’s blurb would get repetitive.   I also have 7 players, and 5 questions, so I couldn’t spread the blurbs between the questions.  (Or could I?  5 fits into 7 pretty well if the seven goes on the outside edges)

I also have these “cute” moments that need homes.    Celebration score during a Fifa game.. Giggling when they hear the goofy question before the interview… Googly-eyeing the camera… “Is this on?” … etc. 

Another alternative is to put the coach blurbs with the “focus on Senior” video – a totally separate video with baby pictures ‘n’ stuff.    I’m thinking in that video, each senior would get their own soundtrack.  *hmm*  Yeah, that might work better.

OOOO!  Idea.  I’ll have the coach’s blurb, but I’ll duck the audio when he says their name.. and then I would switch to the player’s baby pictures, and start building up.. and when I finally get to their current action pictures, I’ll put their name in for 1 or 2 seconds (on some highlight music part).   Yep.  that’ll work

Ok.  Conundrum solved.     Thank you for listening. 

Soccer SOUNDZ

2012-10-05 11.53.49I’ve neglected the blog a bit.. High School Soccer Season was upon us, and the priorities became: Soccer, Work (billable hours), Wife, and household chores.    I have the day off today (long story), and what have I been geeking out with?   

I have gotten my setup for soccer sounds to where I want it.  Background: previous seasons, a radio announcer guy was a parent, he brought a soundcart in from the station and provided sound effects during the game.. like celebration music after a goal was scored, crash sounds when a car got hit, “I get knocked down but I get up again” when a hurt player got up.   I “volunteered” myself to cover that starting last year, so I’ve been doing it pretty much every game.   Just a few more games left (my kid is a Senior).

Hardware

Audio-Technica AT8202 Adjustable Inline Attenuator

Audio-Technica-AT8202-Adjustable-Inline-Attenuator

The announcing booth has spots for two mics, and no other inputs.  So, I got this attenuator to convert the line-level out from <my equipment> into a mic-level – this avoids the annoying problem of having to have the volume REALLY low and have it get REALLY LOUD all of a sudden.

Yamaha-MG102C-Input-Stereo-Mixer

I could go straight from the laptop headphones to some funky XLR cable, however, QUICKLY controlling the volume on a laptop is hard.  When you have to use your eyes on the field, tactile/touch is very important – so I got a mixer.  I could have gotten a cheaper mixer, with less channels, but I’ve found that the mixer is a good tool to have in unusual situations..  and since I make myself “of service” in audio and video kinds of ways, this is pretty useful.   

Not Pictured:  1/4” TRS to XLR Male cable

Not Pictured: 1/8” TRS (headphones) to RCA cable

A Laptop.   The first season, I did this with a Netbook, so it doesn’t need a lot of processing power. (However, having a wide enough screen to have both apps open is a good thing)

Software

Screenshot

SoundByte is the best program I have found.  It cost me around $40, well worth it.  It relies on underlying Quicktime to play MP3’s, etc.    It does the sound effects, the “introducing your starting line up” music, and the playing of the national anthem, etc.   I did have to supply all the audio files – which was easy, as my predecessor left me a collection of his favorites.

I use iTunes DJ as the driver for music during halftimes.  It allows me to weed out stuff that’s coming up, balance volumes between everything that’s played, and cross-play between tracks .. and I can shift-select to see the total playing time of an upcoming segment.      

Music Selection

When I first inherited this, I had no clue what to play for music.  I was worried about royalties and legality and all kinds of stuff.  I tried to find FIFA soccer soundtracks… I used Spotify in offline mode.  

The good news is, another thing I’ve done is make mixes for cheerleading squads – and they tell me which music to make it from.  Hence, I’ve built up a collection of music from those requests – I started using that.

Further, I got tired of listening to “80’s on 8” and “Classic Rewind” on Sirius, and switched to more current stations – Pop2K, 20’s on 20, The Pulse – while coding – and when I hear a song I like, I tag it and usually end up buying it later.  More good music for the playlist. 

The end result is – it doesn’t really matter what’s playing, as long as there’s something there.  So don’t worry about it.  Grab some stuff, be careful of explicitness (“mommy, what does ____ mean?”), and move on.

Also, each team (girls, boys, soccer, football, etc) seems to have a mix CD that their seniors put together. using iTunes, I can import the entire CD (CTRL/I – set album information).    The benefit of this is iTunes helps balance the volumes and crossfade the tracks, giving a better sound experience.  The drawback is, usually its not checked for explicitness.  I leave that up to the coach:  Coach, have you approved the music?  And if he (or she) has, then its on him.

Process

This is as much to express the geeky-ness of the process, as it is a “here’s how I did it” so the next parent can invent what they want to do.  This is after all my last year doing it, 4 games left.

Prep:  in Soundbyte, there’s a menu option to set fade rates.  I set everything to 5 or 10, which gives about a 2-3 second fade-out.   I’ve also arranged music by color and columns.  I’ll refer to those below.

Process: Pre Game Setup

I usually arrive 30-40 minutes before the game starts, plug in my equipment, and get the “soccer music playlist” playing in iTunes.    Once the kids get on the field and warming up, I bring the volume up a bit more and switch to their imported playlist.

Prep: as we get the lists of names for the starting line-ups in, I usually chase down a parent and extract pronunciation so the announcer has it easier.

About 2 minutes before game time, I fade that out (physical volume knob), stop iTunes playing, switch over to “filller” music (3rd column) in SoundByte, and bring the volume back up.  Sometimes its Hawaii 5-0, more often its “Thunder” (which sounds like an NFL pregame orchestra something something).  This gives the background for the announcer to do his thing:  “Welcome ladies and gentlemen … to the … “ (etc etc)

When they are ready to do the starting lineup for the visiting team, I hit CTRL/F which fades out the current track, and switch it to another track in the 3rd column.. usually “Mission Impossible” (sneaky of me)

As that finishes and we go to introducing our kids, I’ll Ctrl/F again and switch to “Eye of the Tiger” or “We will Rock you”, and bring the volume up a bit.  Usually the announcer will be a little more excited voicing these guys.   

As that announcing finishes, its time for the national anthem.   Ctrl/F to fade it out, give people time to stand and come to attention (3-4 seconds) and then play one of the yellow-colored buttons – I have collected 4 National Anthems that I like so far.   I vary it up between games. 

Aside: one of the benefits of having a background track while announcing, you tend to pace your announcement to the music AND the parents get a chance to clap.

As the national anthem ends, I’ll drop the volume by hand, CTRL/F to stop it, and go back to the intro music (Thunder) as the teams take their spots on the field.  I’ll lower the volume somewhat when the ball gets to the center spot.. and lower it even further as everybody seems to get ready… then when the Ref blows his whistle, I’ll fade out (CTRL/F), bring volume back up to normal.

Process: When a Goal is Scored

[youtube=http://www.youtube.com/watch?v=T_0pHanV4-E&w=448&h=252&hd=1]
Video showing the sounds involved in scoring a goal, amongst other things

 

I usually only do this for our team, but if we’re hosting two other teams playing, I’ll do it for both teams.

As SOON as we realize that a goal has been scored, I reach over and tap “Q”, which is hotkeyed to play an “Oh Yeah” clip (from Yello).    This gives me the 5 seconds or so to get my mind straight, and pick the next sound to play, which is one of the green color clips – those are all little exciting celebration music clips, which don’t have to be any more than 30 seconds long or so.     What this also does, is give the announcer and the spotters a bit of time to argue out who shot the goal.. and then the announcer can announce the goal.. it takes the pressure off them a bit.  

As the kids get back to the center line, I usually bring the volume down just a tad (physical knob) when the ball hits the centerline, and when the Ref looks like he’s ready, I’ll hit CTRL/F to fade it out, then bring the volume back up.

Process: Post Game Teardown

The announcing booth has a CD player that many teams use that don’t have this kind of setup. I take one of the many pre-game warmup CD’s, and stick that in, play + pause, a few minutes before the game is over.  When the game is done, I hit play, and that provides music as everybody starts to leave the stands – and then I get to uplug everything and pack it away.

Process: Lugging it around

UPPTÄCKA Briefcase IKEA Extra protection for your laptop in a separate padded compartment.I use an Ikea UPPTÄCKA bag for the Mixer and Cables, and I have my normal laptop backpack for the laptop.  It’s a haul, but it works.  I usually get into the games for free, ‘cause its obvious that I’m there for business (well, to be fair, I have a second backpack for camera equipment, and a tripod, so I look like Dick Van Dyke in Mary Poppins.)