Sunday, July 20, 2014

Saucony Kinvara Running Socks Review

I recently was checking out a new running store in Edwardsville, IL called First to The Finish and picked up a pair of Saucony Kinvara running socks and I wanted to do a quick write up about them now that I've gotten in a few runs with them.

My first impression is that they have a nice hugging fit without being tight, They also have a nice amount of cushion without being hot. I think one of the features I like best is the heel tab. It is a little thicker than the rest of the sock and really protects the back of your achilles tendon from the back of your shoe. I really like low cut socks, but the worst is when they ride down enough for chaffing to happen. The heel tab really makes that an impossibility.

I got out for a 10 mile run in them yesterday and I really didn't even have to think about socks the whole time. That is a win for me.

Overall I'm very pleased with the socks and will probably get more pairs of them in the future.

Wednesday, July 16, 2014

Getting Web Services to Work Together with IFTTT

I use way too many web services. Between Facebook, Twitter, LinkedIn (for some reason), Blogger, Dropbox, Feedly, Instagram, the list goes on and on! Sometimes some of these work really nicely together. Like how everything shares to Facebook with ease. But sometimes you want to do something a little more obscure. I wanted to do better at blogging about my marathon training this fall as a way to help keep myself motivated. But I really didn't want to post every run I did to Facebook. I know that would get annoying FAST! But I do want to post them to my blog. Unfortunately, does not give me the option for sharing to Blogger, only Facebook, Twitter and Google+. That is where a handy meta service called "If This than That" comes in. is a service that consumes information from a pile of different services where you may have accounts and then does actions with that data on some other service. So this is what I did:

So the tweet from Twitter becomes available as a few template fields for me to place into a blogger post. So now at the end of my run, I can post my run to my twitter account and that will generate a basic post that I can either leave as is, or edit with additional info.

I use IFTTT to do various things like to send me an TXT message every tuesday to remind me to take out the trash or to automatically save a copy of any image someone tags me in on facebook to a folder in my dropbox account. It is a really cool service and is pretty easy to set up. Check it out.

Monday, July 14, 2014

2014 Marathon #2 Training Begins Today

So training begins today, with an average of 4 runs a week (2 easy, 1 speed, and 1 long) for 14 weeks with some cross training in there for good measure! Since my IT band issue from the spring is still being slowly worked out, my speed has really taken a step backwards. My training plan right now has me aiming at about a 4:15:00 time, although I would love to break 4:00:00 this year, it might not happen in St. Louis. But even at 4 1/4 hours, that shaves an hour off my injured time from the spring. So let's get training!

I wanted to start with a shoutout to my nutrition sponsor Hammer Nutrition! I have been using their products for about a year and have been very happy with the results. Hammer Gel and Endurolyte Fizz tablets are my go to for fueling and electrolyte replacement. I'm hoping to do a little better with weekly updates this time around. So stay tuned!

Sunday, July 13, 2014

Blender Add-On: Selection Sets Version 0.3 (updates)

It's been a while since I've created a blender add-on, but some discussion on the #blendercoders channel prompted me to dig back into Python and create this: Selection Sets.

It is a quick way to create ad-hoc groups of items that can be reselected easily. Simply select some items and choose the plus button to add a new set. The items in the set are then displayed below.

Click the Cursor select button to select the objects in the selected group. To add more items to a group, select the group, then select more objects, then click the + in the lower list. You can also remove objects from a group in the lower list. This is a very early release (hence version 0.1) but I feel like it is already useful when Blender groups are too heavy handed.

While I applaud what the new Blender Marketplace is doing, I'm more of a give it away and let people support what they love sort of guy. So if you love this or any of my tutorials and want to say thanks, consider sending me some Amazon cash in any amount  you feel is appropriate! Just send it to Make sure to tell me in the message what thing you are sending the appreciation for :)

(Script Home Page)

Updated to Version 0.3 (download link)

Changes in Version 0.3

  • Set names auto-fix duplicates (which caused problems)
  • Clicking on an operator changes selected set
  • Icon Spacing
  • Better Index Handling
Changes in Version 0.2
  • Icons in list box

Thursday, July 10, 2014

Gearing up for fall training

Fall marathon training is just around the corner and I'm gearing up. St Louis Rock and Roll Marathon is 14 weeks from this coming Sunday and I'm stoked to be getting back on a training plan. I'll be working out the final details this weekend and will let you know my plans soon!

Anyone else gearing up for a fall race? How long a training plan do you like to run?

Wednesday, July 09, 2014

Creating a Stylized Snowflake

I needed to create a bunch of snowflakes for a project recently and came up with a simple way to make a radially symmetrical snowflake without too much trouble that remains editable for duplicating and making adjustments to.

Starting from a clean scene in overhead view, Add a Circle (Shift-A) with 12 verts (F6 and change verts)

Extrude the circle with scaling in (E then S) a couple times then merge the inner most circle at the center (W->Merge->At Center).

Extrude the top 3 verts constrained along the Y axis (MMB during extrude)

In face select mode, select half of the extruded part and where it is connected to the circle, invert the selection (ctrl-I), and delete faces (X->Faces)

Reselect the mesh and Add a mirror modifier from the properties panel, enable clipping

Add an Empty at the origin of your mesh. 

Also add an array modifier, uncheck "relative offset", select object offset and set it to the empty. This will allow us to have an arbitrary rotation. Since snowflakes have 6 sides, set the Count to 6. Also Enable "Merge" and "First Last". 

Now select the empty, and rotate it on the Z axis 60 degrees. (R, Z, 60, Enter)

You should now have a base for an editable radially symmetrical snowflake. 

Duplicate the Mesh and Empty and edit the new mesh. The only place you need to be careful is in the center.

When you are satisfied with the snowflake, apply the modifiers in the modifier panel. 

For my project, I created several of these and put them in a group. Then used that group as a dupligroup for a particle system. From a distance I think it played pretty well. You can of course add a solidify modifier or continue to tweak them to your liking.

Thursday, June 26, 2014

Quick Cycles Tip: Fiber Optic Cable Material

This is a simple yet good looking material for you to check out. At first it wasn't super obvious to me that I could use both a surface and a volume socket at the same time. I found that a Glass Surface works really well with an Emission Volume. You can create fiber optic cables, illuminated plastic, LEDs etc. Tweak the emission color and strength, or the glass Roughness or IOR to get various looks.

Wednesday, June 25, 2014

Striping a Curve in Blender/Cycles

File this little tutorial under "maybe obvious to everyone else but me", but here is a way to add some interesting striped texture to your blender curves that have a bevel object.

To start we add a bezier curve and a bezier circle, then in the curve properties tab for the curve object, we add a bevel object of the curve. This ends us up with a simple tube looking object.

We can of course assign it a uniform texture, but what if we want stripes?

We could add a checker texture to start, but that does not map nicely by default.

 First turn on "Use UV for texture mapping" under the "Texture Space" panel in the curve options tab. Then add a UV texture mapping node. As you can see we are already a ways there.

Right now we can control two colors, but what if we want to control two shaders instead? Instead of feeding the checker into the color input, we will use it to control a mix shader. You can adjust the two colors of the checker shader to determine the mixing values of the checker pattern. Full white/black will give you only each shader on each square. I have kept the white/grey here for no apparent reason.

But we do not want a checker pattern, we want stripes. So to do that we will adjust the UV vectors. To do that we will break apart the UV vector into it's components. If you are not using a version of Blender with with Separate XYZ node, you can use the Separate RGB node to do the same thing.

 Next, add in Math nodes in between the X and Y components (or R&G if you are using the color nodes)

By setting the math nodes to multiply, you can see that the X component affects the checkers along the curve and the Y component affects the checkers around the curve.

So if we set X to multiply by 5 (or whatever size we like) and the Y to 0, we get nice stripes. 

Here I changed one of the mix shaders inputs to a glossy shader so we can see one type of effect we can get.

These are not the only way to mess with the position of the UVs. Try some of the other vector nodes to see what you can accomplish! Try setting keyframes on them to change the pattern over time! 

Go crazy!

As you can see here, mapping an image can also be good, with or without the striping! The Mapping Node can really make this easy as well.

Monday, June 23, 2014

Going from Blender to 2k Digital Cinema DCP

I recently started in on a project for a friend of mine to create an advertisement for his small chain of movies theaters to play before movies. I've done plenty of animations before, but I had never thought about what it would take to get it on the screen. It turns out to do it right, you need more than just a quicktime file. Here is the process I went through to make it work. I pulled tidbits from various websites to get the whole process. I'll link to ones I used at the bottom of this post.

  1. Sources: To start, I created my Blender scene and collected my audio files
  2. Render #1: Render the Blender Scene into a series of 16 bit TIFF files at full resolution
    1. 2048x858 with square pixels (1:1 aspect ratio)
  3. Composite: Using my tiff files and my audio, I created a second Blender project to composite the sources into what I wanted the final project to look and sound like. For my project, I used Stereo audio, so I didn't mess with the surround sound options. I will be looking into that for future projects.
  4. Render #2: 
    1. Render out the Composite to 16 Bit TIFF image sequence with any additional compositing/effects/etc
    2. Create the audio mixdown. This is where you could end up with a stereo file or a series of files for surround
  5. Video Path to MXF (Material Exchange Format)
    1. Using openDCP, convert the TIFF files to a JPEG2000 image sequence
    2. Encapsulate the JPEG2000 image sequence in an MXF  file
  6. Audio Path to MXF
    1. Process the resultant audio files as needed (compression, normalization, etc)
    2. Make sure the project will save as 24bit uncompressed WAV at 48k or 96k
    3. Save each channel as a separate mono file (e.g. mix-Left.wav, mix-Right.wav)
    4. Use openDCP to encapsulate the audio in an MXF file
  7. Use openDCP to combine the MXF into a DCP (digital cinema package)
  8. Optional Convert the DCP into a quicktime file for testing on your local computer with ffmpeg


First off there is aspect ratio. A flat 2k render is 2048x1080. But that is not what the 2k digital cinema projects at. The aspect ratio is 2.39:1, so actual render resolution is 2048x858.

Source Files:


DCP (digital cinema package) uses JPEG2000 format. Luckily there is a handy free utility called openDCP which can convert 16 bit TIFF files into JPEG2000. So when I rendered out my blender scenes, I made sure that I was exporting to 16 bit RGB TIFF files. Then using openDCP, I convert the individual frames to JPEG2000 files.


I used the blender compositor to cut up and arrange my audio and export. The audio required for DCP  is a mono .WAV Signed PCM 24 bit format at 48k or 96k sampling rate file for each channel. I used Audacity to upconvert the mp3 files I exported. Make sure that you have a separate file for each channel. Stereo is 2 channels, 5.1 is 6 channels, etc.

There are other items you can do that I haven't touched yet as well.

Intermediate Files:

openDCP then lets you package your JPEG2000 files into a MXF file, as well as your audio source files into another MXF file. These are the 2 files that will be used to create your final DCP folder.

DCP Output:

One main thing I learned is that DCP is not a file. It is a series of files, some contain the data and others contain definitions of that data. The last thing you do with openDCP is combine all these items into your DCP. Once finished you are left with a folder with 6 files. This folder can be ingested into a digital cinema system and played back.

There are not many options for testing you DCP file on your local computer. EasyDCP player has a trial version that will let you play the first 15 seconds of a DCP. Which will let you know if it is working. But another thing you can do is convert your DCP into a quicktime file, to see what your output looks like. The newest builds of ffmpeg can convert MXF to Quicktime. The following line of code will do it.

ffmpeg -i videofile.mxf -i audiofile.mxf -c:v prores -c:a copy

Where the videofile and audiofile are the mxf files that were placed in your DCP folder.


Thanks to the following websites who helped me piece this processes together.

Tuesday, April 29, 2014

5 Lessons I learned at the 2014 Country Music Marathon

I guess I could call the 2014 Country Music Marathon in Nashville, TN the first full marathon that almost wasn't, was almost a half and then at the last second became a full once more.

After training for 13 weeks, I had my first serious bout with IT band syndrome. I adjusted my training, changed my running style and tried to get myself of track to at least run the half marathon in Nashville. After I got there and realized that the only thing I had to do differently to run the half rather than the full was to just run the half course and the timing chip would do the rest, I realized that I could wait to decide until the cutoff point between the 2 races at mile 11. So feeling strong at that point I went left when the half marathoners went right. It took a while (5:14:15) but I finished and learned some good lessons for next time both in the race and in training.

Lesson 1) Since I have started running with a forefoot strike, my calves do a LOT more work while running and they were the first thing to start aching around mile 13 or so and then they were toast by mile 20 leading me back to my old form, while made my IT band knee pain fire up. So the lesson learned was before the next marathon, I need to focus more on calf strength.

Lesson 2) The next thing to really start bugging me was a nasty blister on the inside ball of my right foot. I think the toebox of my right shoe was just a little too loose and was sliding around on me. But instead of pulling over and dealing with it, I kept going. Lesson 2: Stop and make adjustments when needed rather than just pushing on. 

Lesson 3) I trained for the last month using my Nathan VaporWrap hydration vest and was ready to take it with me on the course. It had pockets for everything I needed from nutrition and water to my camera, phone and car keys. As I crossed the pedestrian bridge from the LP field parking lot to the starting line, I was stopped by a policeman telling me that since my pack was not see-through, I would not be allowed to take it in. There had been nothing on the RnR website about not allowing hydration packs. I had to go back to my car and 1 hour before the race re-evaluate everything I was taking with me. Luckily I had my phone armband in the car, so I could still take it, and my Hammer Nutrition shirt and shorts have very good pockets on the back for some gels and my car key. I decided to carry my flask of Hammer Gel for the whole race. So I had to leave some items behind. I was not very happy and it derailed my attitude for a little while. But I made quick adjustments and moved on. So lesson 3: Even if you are sure something is allowed on the course, it might not be. Have a backup plan for your gear.

Lesson 4 & 5) These were lessons learned during training, On my first 18 miler I was completely toast by the time I got home. My mile splits had been all over the place and I felt terrible. After consulting with some of my fellow Hammer Athletes, I realized 2 things needed to change. 1st, I had gone out way too fast and was pushing too hard too soon in my workout. I needed to start out slower and build slowly using my heart rate gauge an "Endurance Zone". Second was that although I had been fueling at every 5-6 miles, and timing-wise this seemed to be ok, my body responded better to more frequent fueling. I found that fueling every 4 miles (which for me is every 32-45 minutes) really kept my energy levels up and feeling good. So even though my calves were just sore by mile 20 and my knee hurt by mile 21, I still had plenty of gas in the tank to keep moving all the way to the finish line. Hammer Gel and Perpetuem solids were my go to fuel source. So learn by trial and error how often YOUR body needs to refuel and stick to it!

My first marathon is something I will never forget. It was so much fun, sometimes it was effortless, sometimes it was painful, but in the end crossing the finish line was so very satisfying and I can't wait to do it again.

Tuesday, February 18, 2014

The Past Few Weeks: The Bad, the Good and the Ugly.

The Bad
Week 6 was interesting to say the least.  Lower mileage during the week ramping up for Saturday's 18 miler. I ended up going out after lunch on Saturday. It was low 30˚s with a brisk wind. Not quite as painfully cold as the week before (no ice on my water bottle this time). I was pumped about this run (and a little nervous to be honest) so I was eager to hit the road. Unfortunately I let my excitement for the new distance get the better of me and I went out too fast. My target average pace was supposed to be 9:45. I felt great the first 4 miles averaging 8:45. Mistake. By mile 10 I was hitting 10 minute miles and by the end it was around 11:30 minute miles and I hurt. My muscles were screaming at me for a while after that one.

28 miles for the week

I consulted with my awesome (and much more experienced) sponsored Hammer athlete group for some advice. Obviously pacing was brought up. I will be managing pace next time using my heart rate monitor to see if I can even out the whole thing and stay feeling better longer.

I also started reading a new book this last week. It is "Racing Weight" by Matt Fitzgerald. After having lost a great deal of weight, my previous hard cut diet was not working for me anymore. It got rid of the bulk of my fat stores but the last 15 pounds or so are gonna be stubborn, so I wanted to get a newer sustainable plan aimed at performance and getting lean, not getting skinny. So far it's pretty good stuff. I'll do a write up later in more depth.

The Good
Week 7 went better. My first 20 miler ever was a rainy 34 degree day. But I got out there and did it. I fueled more often and kept a more even  pace throughout. I ended feeling much better than the previous week. A lot less sore and a lot happier with the whole experience.

33.5 miles for the week

Some Rest
Week 8 was a  good rest week. I ended up putting in a lot less miles, but I was a good recovery week. I missed 1 workout on Saturday.

20 miles for the week

The Ugly

Week 9 : This winter has been the worst for training for my first full marathon. The bitterly cold weather has forced me to log way too many treadmill runs. But so far Saturdays have been 'good enough' to run outside. But sadly single digits and freshly iced roads made running outside not possibly for me. Seeing as it was scheduled only for a 16 miler, I decided to suck it up and do it on the treadmill. Lets just say that I am DONE with winter. 16 miles on a treadmill is miserable. 150 minutes of going NOWHERE! ugh. But I got it done and with a 2%-3% incline the whole time, I feel pretty good about the effort. I missed 1 workout this week.

29 Miles for the week

Next week is back to a 20 miler again. With 37 miles scheduled for the week. We will see how that treats me. 10 weeks until race day.

Wednesday, January 22, 2014

Week 5 Recap

Week 5 of 19 is in the books. I'm already a 1/4 of the way into my first marathon training plan and things are going well. I'm in the middle of a long run mileage ramp-up. 14 miler in week 4, 16 miler this past weekend, next is 18, then 20.

The 16 miler on Saturday went well. I think it would have gone a little better had it not been for the cold. At 18°F it was a bit chillier than I like to run in, but there was no way I was gonna do 16 miles on the treadmill. So 3 layers of long sleeve shirts, 2 layers of gloves and my trusty cold gear tights, mask and a fleece headband and I was off. It was a first for me to have to break the ice off my water bottle valve to open it each time I took a drink. I averaged a 9:31 pace which is actually 14 sec/mile faster than my plan called for left me feeling good about the outing. Had a banana before the run, Perpetuum Solids about 4.5 miles in, Hammer Gel at miles 8 and 12. Also had an Endurolyte Fizz in my water bottle. Energy-wise I felt good throughout the run.

Total mileage for the week was 30.8 miles.

Monday, January 06, 2014

Hammer Balm or as I like to call it "Relief that Smells like Christmas!"

Tight and sore muscles, we all get them from time to time. The foam roller comes out and you try to work out the kinks, but sometimes you need a little extra something. Here is where you have some options, you can of course go with the standard medicated ointments, that first smell like a medicine cabinet exploded and two, feel like you have just unleashed the fires of Mount Doom on your tired legs. Enter a much better option: Hammer Balm. I got a sample tube of it back a while ago and have been using it lately. I have to say it's a great alternative. First of all, it does not hit you like a ton of bricks. It is a gentle soothing feeling rather than an intense burn second, it smells like Christmas! Hear me out, when I was a kid, we did an art project in school where we made an ornament by taking an orange and completely covering it with cloves. This was a good 30 years ago. The moment I opened the tube, I discovered that clove oil is one of the ingredients of Hammer Balm and it was Christmas, especially for my aching calves! So instead of burning out my eyes with medicine smell, you get a product made from Clove, Ginger and Arnica and Cayenne. It comes in 3 sizes, 4oz, 1.5oz and 1/3oz. The 1/3 oz has lasted a surprisingly long time since you don't need a lot of it to work and at $4.95 it's also a great size to try it out.

If you are looking for an alternative for those aches, give Hammer Balm a shot, it might be exactly what you are looking for.

Friday, January 03, 2014

Marathon Training Week 3

Part of the problem with starting training in the middle of the holidays was going to be schedule. So this past week we left town for the great white north to visit my wife's folks. Luckily they are members of a nice little fitness place called Xperience Fitness in Vadnais Heights, MN. I swapped my week 3 and 4 of my plan so that week 3 would be a recovery week ( a choice I may still regret ) so I put in 3, 6 mile runs at around a 9 min mile pace. I should have also gotten in another 5 mile run, but was not feeling great on Monday so was a workout behind for the week. But that's ok. I'm coming out of the holidays without too much extra baggage since I didn't slack off the workouts and tried to keep my eating in check to at least some degree. Also this next week begins my official sponsorship with Hammer Nutrition, so that is awesome too!

2013 A Running Year in Review

2013 has been quite a year as my first year of serious running.  I thought I would try to make some sense of it in a quick post.

  • In late 2012 I had started running, then at the turn of the year, I decided to step up my running and start focusing on weight loss. I was about 230 pounds and dealing with the beginnings of some weight related health issues. I ramped up the running to 3-4 times a week @ 5k distance on the treadmill. By summer I had made it to about 175lbs. Since then I've been fluctuating from 175-185. I still have about 10-15 pounds to lose. That's for next year.
  • June 1st, while visiting my folks in Phoenix, I ran 13.1 miles in a single workout for the first time. It took over 2 and a half hours, but I did it. It was a run to the top of South Mountain and back again. It was a truly inspirational moment watching the sun rise over the valley as I ran up the mountain road by myself.
  • September 28th, I ran the FCC Preschool 5K for the 2nd year in a row and ran it 10 minutes faster than last year at 24m 55s. So there is my 5K PR
  • October 27th, I ran my first 1/2 marathon in St Louis. The Rock 'n' Roll 1/2 Marathon was a great experience and let me set a 1:52:25 PR. 
  • December 25th, as a Christmas gift from my family, I registered for the Rock 'n' Roll - Country Music Marathon in Nashville, TN.
  • December 28th, the last run of the year, I hit the 1134 mile mark for 2013.