Systems vs. Concepts

I absolutely love this Minnesota Hockey article, “The Role of Systems in Youth Hockey“. I read it in the Shoreview Arena lobby in a Let’s Play Hockey before one of our Mounds View Irondale Peewee A practices this season and I was blown away.

I’ve been coaching hockey since 2001 and I’ve always taken pride in becoming a better coach. I self-evaluate practices, watch other teams’ games and practices for ideas, and talk with other coaches. I continuously learn and try to get better each season.

It’s only been in the last three years that I’ve been saying and doing many of the things in the article. I really wish I read this article in my first year of coaching hockey. I could have arrived at where I’m at now, much sooner.

“If we can teach the kids good habits and concepts through small area games or drills, it’s really going to help them in the long term.”

This is so true. My assistants and I are coaching kids for their next team. We want them to leave us as better players. In practices, over the course of the entire season, we do lots of small area games and 2v1 drills. I marvel at the speed and creativity with which they play during our practices.

We only had one practice the entire season that had a focus on power play/penalty kill. Looking back, I probably should have just skipped it. The kids may not realize it, but we work on special teams every single practice in the form of small area games and 2v1 drills. No “system” work for us — we just want them to make hockey plays.

Pressuring the puck aggressively, passing and moving to get open again, making rapid decisions, working hard, playing fast with their head up, transitioning quickly from offense to defense and back again to offense is the System.

“An increasing trend at the higher levels of hockey today is the notion that players are interchangeable.”

Right on.

“The result is every player must understand offensive and defensive habits and concepts.”

Our players should know what every player’s role on the ice and be able to take on those responsiblities. You never know how a shift might play out. A forward might have three defensive zone responsibilites in the same shift. We might have a penalty on a defensemen, and need to pull a forward back. There might be a line-change and a defensemen might have to forecheck and pressure the puck.

“All of this stuff is a progression,” said Guy Gosselin, who serves as USA Hockey ADM Regional Manager for Minnesota. “We have to make our kids capable of having higher skill sets so when it is time to implement stuff like this, and it starts kind of getting important in later years, they’re capable of doing it.”

Like I said before, we’re coaching athletes for their next team and I think we’ve done a good job this season. I’m excited to see our players next season and beyond. I believe they have developed great hockey habits for the future.

South Dakota: A Fun, Family Day

A small section of Beaver Creek near Pringle, South Dakota.
A small section of Beaver Creek near Pringle, South Dakota.

We let the kids sleep in after the long drive across Minnesota and South Dakota. Let’s face it. Aleta and I needed the rest, too. Nevertheless, when I woke up, I decided to check out the cabin’s property a bit and then go for a run. The cabin probably sat on two acres with Beaver Creek running behind it. We could not tell in the dark when we pulled into the driveway, but I could tell immediately why our new sister-in-law’s family had a place to call their own in western South Dakota. It was a peaceful setting with the birds chirping and grasshoppers hopping away from me as I walked the small, mowed path. The calm murmur of the creek winding its way through the backyard was only interrupted by the noise of birds chirping or crickets calling.

I pocketed my iPhone and hit the gravel rode for short two-mile run. I figured I should keep it short and sweet since I had not been running in quite some time. I have to admit that I did walk up the incline at the half-way point and silently grumbled about not being in shape as I ran down the hill again on my return back to the cabin.

After a quick shower, I joined the festivities underway in the kitchen and helped make the boys some bacon and eggs, and pack lunches for the day.

The cabin is situated in the Black Hills National Forest, a small 1.25 million acre section of the country, and we were prepared to see as much of it as we could during our vacation. Our plan for the day was to take Wildlife Loop Road, Iron Mountain Road and Needles Highway, a 67-mile trip that would cover just about all of Custer State Park. We took a left out of the driveway and spent a few minutes driving on a gravel road through Wind Cave National Park.

We paid the state park entrance fee, drove less than a quarter mile and were promptly rewarded with seeing our first bison. The big guy even moved by us gracefully through the long grasses on his way to somewhere important.

The Wildlife Loop Road is an easy, scenic drive. We saw prairie dogs, burros, white tail deer, mule deer, turkey, and pronghorn. It is a little weird to be driving along and come across groups of burros. They are not native to the Black Hills, as they were released from service years ago by folks using them to climb to the summit of Harney Peak. The kids enjoyed them just the same.

Just like the burros, we came across a rather large herd of bison along the road. They attracted the most attention from tourists. Groups of 15-20 cars were pulled off to the side to take pictures or were stopped in the middle of the road because the bison were standing right in their path. Impressive creatures. I’m glad they were so accommodating so we could see them up close.

The kids had done their research and wanted to fish on our trip. We brought four fishing poles and they were eager to get their lines in the water. The Wildlife Station Visitor Center directed us to the Coolidge General Store for a fishing license and some close ponds to try our luck.

While I was buying my three-day fishing license, Nick convinced Aleta that he would be less scared of rattlesnakes if he had a weapon. He is the proud owner of a thirteen dollar hatchet.

We immediately drove down the road after leaving the Coolidge General Store and arrived at the Fish Hook Picnic Area. It’s a quaint little spot for fishing, where a small dam has produced nice little pond and provides nice shoreline casting for anglers. We parked the Expedition in the shade and Aleta quietly read a book, while we tried our luck. The only problem to the entire plan was that we did not catch anything. No nibbles at all and so, we did not last long at this location.

The Grace Coolidge Walk-In Fishing Area Trail is billed as 2.5 mile one-way trail along mostly level ground with several steep, rocky sections. We would find a half dozen dams on the creek and a bunch of creek crossings “that guarantee hikers will get wet.” The sign was right on the money with its description. We found ourselves walking leisurely along the creek on a mostly shady trail among the ponderosa pines. Every so often we would duck off and cast a line in what we thought were great places to catch trout. None of the dams we stopped at yielded any fish, but I got on the board with a small little brown trout at a seven foot wide section of the creek. We thought it was the first of many, bigger fish. A while later, Zack hooked into two more similar size fish and unfortunately, were returned to the creek unharmed. He was thrilled just the same.

The trail wound its way through the woods and we loved the creek crossings. Sometimes staying dry, sometimes not. Other times, a certain kid (Sam) didn’t even care and just walked right on through taking the most direct route that did not involve walking on rocks or logs. That was probably his favorite part!

We read markers along the way that noted the distance we had traveled and about 3 miles into the trail hike, we decided that we were not going to make it to Center Lake, the source of the creek. On our last fishing stop, there was another dam area and some open areas (provided you avoided the poison ivy) to fish the creek. I went upstream a bit and on my second cast, my Mepps spinner was hit hard by a fish. We briefly battled and when I landed the fish, I had myself a decent size rainbow trout. Much excitement from the boys as they were delighted by the fact that we would have fish for dinner.

We tried for more rainbow trout but no other fish were to be caught. We started on our way back to the truck and another leisurely walk along the trail. We did not encounter any other people along the trail, which made our family fishing adventure even more enjoyable.

We had run out of water and needed to do something about that fish, since we still had some driving around the park to do yet. We went back to the Coolidge General Store, bought a bag of ice and put that rainbow trout on ice. It probably was not the most ideal situation, but we did not want to end our day just yet.

The Iron Mountain Road and the Black Hills National Forest beckoned and we started on our way again. Our Expedition took some twists and turns climbing ever higher. We went through the Scovel Johnson Tunnel, which gave us our first look at the Mount Rushmore National Memorial through the tunnel opening. Pretty cool sight! Upward we went on Iron Mountain and ended up at the Norbeck Overlook where we could again take in Mt. Rushmore and the surrounding views.

The Schulte Family with a quick photo at the Norbeck Overlook.
The Schulte Family with a quick photo at the Norbeck Overlook.

We decided after our family picture that we should call it a day and head back to the cabin. We encountered the “pigtail bridges,” tightly looped wooden bridges and two more single lane tunnels burrowed through the mountain. No truck mirrors were lost during the trip.

I grilled hot dogs, brats, and our rainbow trout in the cool air under a bright, moonlit night. Once again, another awesome day.

South Dakota Bound!

My wife, Aleta, determined sometime this summer that this was the year our family was going to take an actual vacation. We have never done anything quite like that. Ever. Our vacations usually entail us heading up to her parents place in northern Minnesota. I love those “vacations” actually. Fishing, swimming, pontooning, relaxing around a fire, playing cards or other games, watching the sun go down and hanging out with her parents for the weekend is my kind of getaway.

Aleta’s suggestion that we head to the Badlands and the Black Hills of South Dakota for a whole week was definitely something new and different. She had traveled there as a kid, but I’ve never been close to western South Dakota. I eventually wrapped my head around the idea, we set a date and booked a hotel in Rapid City, South Dakota.

Fate jumped into the picture when my brother-in-law got married in July. His wife grew up in South Dakota and we hoped to get some vacation tips when we met her side of the family at the wedding. We got to know the grandparents at the wedding and during the party the following day. We were thrilled and surprised when they offered to let us use their cabin in the Pringle, South Dakota area.

Spending a week in a cabin just south of Wind Cave National Park with quick access to places throughout the Black Hills was more than ideal. It also meant that we would have access to a gas grill, refrigerator, fire ring and other comforts that a home could offer over a hotel. We were extremely grateful for the generous offer that was extended to our family. We thought it would be perfect.

We got up early, packed enough food to feed a small army and hit the road by 7:45 a.m. Before long, we were traveling west on Interstate 90 and smelling the sweet smell of freshly cut hay. We dropped off the road for gas in Worthington, Minnesota, and took the opportunity to eat the cold pizza we cooked the night before for lunch.

The southern route across Minnesota is generally flat and lined with fields of corn and soybeans. There were groupings of tall, white windmills lazily spinning to keep us company as we drove toward the Badlands and our eventual destination of the Black Hills. The windmills got me thinking about the impact a single might have on energy generation. I had to look it up when I got a chance.

How much electricity can one wind turbine generate?

The output of a wind turbine depends on the turbine’s size and the wind’s speed. Utility-scale wind turbines being manufactured now for the U.S. market have power ratings that range from 1.5 megawatts to 3.0 megawatts.

Example: A 150 MW wind project using 100 1.5 MW wind turbines can generate as much as 600,000,000 kWh annually at a good site, or enough to power 50,000 typical U.S. households. —Wind Resources | Tradewind Energy

I would estimate that we saw over a hundred wind turbines along I-90, so that is quite impressive for passive energy generation.

The turbines slowly disappeared and we crossed into South Dakota. The eastern side of the state is very similar to Minnesota, but rolling hills started to appear as we neared the Missouri River. The scenery was a nice change of pace. I was driving on a section of highway that was new to me. Once we crossed over the river, the terrain flattened, was noticeably less green and started to look like Minnesota farmland again. There was a shift in some of the crops we observed. Sunflowers and a mysterious brown-topped plant now flanked the highway at times and became a topic of conversation. We had to look it up to finally determine that it was sorghum.

It was around Murdo, South Dakota, where our T-Mobile roaming data minutes got capped and we were officially off the data grid. Mapping our route would become difficult, our Spotify music disappeared, access to email evaporated and the kids’ ability to jump on our iPhone’s hotspot went away. We were officially on vacation! Our boys, however, caught a break at the Murdo gas station when they found out they had free Wi-Fi. They happily gobbled up the opportunity to hop online once more while I fueled up the Expedition.

Onward we went and we crept closer to the Badlands. You can see parts of it from I-90 and we opted to travel through the Badlands on the way to the Black Hills. Once we reached Exit 131, we turned south to travel along the Badlands Loop State Scenic Byway and enter the Badlands National Park. No sooner had we paid the entrance fee, we were already parked at the Big Badlands Overlook and out walking to take in the inspiring view. The Big Badlands Overlook is a really impressive way start to our trip, although Nick spotted the sign that warned about rattlesnakes and he suddenly became a bit cautious. Once we were done at the overlook, we drove further down the road to Door Trail. Door Trail allowed us to walk through the Badlands Wall and see the sediment layered spires and canyons. You could clearly see the impact that water had on slicing through the area. The formations were stunning. Zack, Sam and I walked the trail, while Aleta hung back with Nick, away from the rattlesnakes.

After we return from our walk, we started driving again and stopped periodically. We hit the Fossil Exhibit Trail, the White River Valley Overlook, Burns Basin Overlook and Pinnacles Overlook. At each stop, we were treated with something new and engaging. There were plenty of breathtaking views with rich colors as the sun continued to drift downward to the horizon.

We arrived at Wall Drug at 6:15 p.m. and walked around the place, refilling our glass and aluminum water containers. The kids spent a little of their own money and then we were off. I can now say I’ve been to Wall Drug.

Once we finally extracted ourselves, we hit the road again and got back on I-90. We were unable to appreciate entering the Black Hills because we travelled along Highway 385 at night. We finally reached Pringle by 10 p.m. and found the cabin soon after. We let ourselves in and eventually got ourselves squared away. I think we were all finally sleeping by midnight. Long day!

Rugged Maniac will be interesting

For the past few years, I’ve been doing Rugged Maniac and Warrior Dash obstacle races. I scheduled myself for two races this year, but withdrew from Warrior Dash due to a July wedding conflict. I find myself staring down my September 12th Rugged Maniac race with extreme trepidation. I usually start running in the Spring but when I could not participate in the July race, I pretty much shut down my training. I’m out of shape and now there’s probably not enough time to prepare…I’m toast.

Oldest son pads the resume: Babysitter

My twelve-year-old son recently took a local community education course that taught him the finer points of babysitting. The course was over six hours in length, probably got him out of his comfort zone in a non-sport environment and he now can administer some level of first aid.

Babysitter’s Training has been developed by the American Red Cross with input from youth just like you. The course is fun and fast-paced with hands-on activities, exciting video, role-plays and lively discussions. You’ll learn to be the best babysitter on the block. Plus, you’ll gain the confidence to make smart decisions and stay safe in any babysitting situation. Bring lunch and babydoll.

Sounds good to me.

Naturally, he came home eager to put his new found skills to use! My wife started networking on his behalf, letting a few families know that he recently completed a course and was available to entertain their kids. One family already took the bait and started doing their due diligence.

My son’s response to the “How much do you charge per hour?” question has caused my wife and I, albeit silently, to have a good laugh. He is thinking that five dollars/hour is a fair wage for being a babysitter. My wife and I have never had to pay a babysitter in the last twelve years. We have been very lucky to have my mom close and available, so we don’t actually know if five dollars/hour is the going rate but we can only guess that it’s not.

I think we’re going to let him learn on his own what his time is worth. He’s happy. So we’re happy.

WordPress function leads to endless fun

Came across a fun one today. A person in the WordPress.org Support Forums wanted a function that would set a post status to Private if the post was assigned to a certain category. My approach was to prevent future posts from not missing out on the opportunity to set the status and does not really address posts that are already in the database.

To start things off, I wandered over to the WordPress Codex for the wp_update_post function and adapted the example listed.

function post_saved_set_to_private ( $post_id ) {
if ( in_category( 'switcheroo' )) {
	// Update post with the following
	  $my_post = array( 'ID' => $post_id, 'post_status' => 'private' );

	// Update the post into the database
	  wp_update_post( $my_post );

	}
}
add_action('save_post', 'post_saved_set_to_private');

Talk about easy! I tossed this function into my theme’s functions.php file so I could try things out on my localhost installation. I was going to be the original poster’s savior.

I tried creating a regular post in a random category. Success! Now the real test — add a new post in the switcheroo category. Hit Publish. Why is it taking so long? What’s the deal? I’m dead in the water. Nothing is happening. This can’t be good. I opened up a new tab to my Dashboard and jumped into All Posts. 900+ new posts set to Private! Hey, that’s not right! So while I set to work on deleting those posts (200 at a time), I began to think about what had happened and I figured it must have something to do with post revisions.

Indeed. Now here’s the good part. If I had only scrolled down the wp_update_post Codex page just a little more, I would have avoided the problem I had created.

===Caution – Infinite loop===
When executed by an action hooked into save_post (e.g. a custom metabox), wp_update_post() has the potential to create an infinite loop. This happens because (1) wp_update_post() results in save_post being fired and (2) save_post is called twice when revisions are enabled (first when creating the revision, then when updating the original post—resulting in the creation of endless revisions).

If you must update a post from code called by save_post, make sure to verify the post_type is not set to 'revision' and that the $post object does indeed need to be updated.

function my_function( $post_id ) {
	if ( ! wp_is_post_revision( $post_id ) ) {
	
		// unhook this function so it doesn't loop infinitely
		remove_action('save_post', 'my_function');
	
		// update the post, which calls save_post again
		wp_update_post( $my_args );

		// re-hook this function
		add_action('save_post', 'my_function');
	}
}
add_action('save_post', 'my_function');

In the example above, you see a check to make sure that the post is not a revision. If that passes, the function then removes the action, does the update and then adds action back again. This is how you avoid an infinite loop and finding out you have 900+ posts that you didn’t want at all.

Armed with new information, I updated my original function to include the crucial part about avoiding an infinite loop and came up with the following function.

function post_saved_set_to_private ( $post_id ) {
	if ( ! wp_is_post_revision( $post_id ) ) {

		// unhook this function so it doesn't loop infinitely
		remove_action('save_post', 'post_saved_set_to_private');

		if ( in_category( 'switcheroo' )) {
			// Update post
		    $my_post = array( 'ID' => $post_id, 'post_status' => 'private' );

			// Update the post into the database
			wp_update_post( $my_post );
		}

		// re-hook this function
		add_action('save_post', 'post_saved_set_to_private');
	}
}
add_action('save_post', 'post_saved_set_to_private');

I believe I got the function working and learned a little something along the way.

Apple TV, AirPlay and the Harman Kardon Aura Wireless Speaker System

My family has been pretty happy with the addition of our Harman Kardon Aura Wireless Speaker. The setup was pretty easy and the HK Remote iOS app is fairly straight-forward to use.

The sound quality has been a huge improvement over the television or the iMac speakers. AirPlay compatibility was a huge selling point for us. We can send music from our iOS devices and other Apple computers quite easily.

Our only gripe is when the Apple TV occasionally loses its connection with the speaker and defaults back to the television. We have the television on mute and when it flips like that, we need to switch it back in the Apple TV’s AirPlay settings.

It could be more of an issue with my second generation Apple TV. When the fourth generation Apple TV comes out, hopefully in June at WWDC, I’ll get the new model and perhaps solve my issue of losing the speaker.

I’m not an audiophile but the sound coming from the speaker sounds great to me.

schulte.mn is back again, too.

There was a time where I was running a self-hosted blog on schulte.mn, but I found that I just didn’t write enough to continue to pay for hosting.

As I mentioned before, I used to have the schulte.mn domain running a WordPress installation. My hosting company, TextDrive, moved me over to Joyent and then back again to a TextDrive after some sort of rebirth. I admit that I didn’t keep up with all gory details regarding my hosting. I think the second incarnation of TextDrive slipped off quietly into the night and along with it, my old posts and site. I wasn’t super invested in my old content. C’est la vie! I had to look that up. I did try to jump back into the fray with Linode a few years later, but even then, it was more than I needed for a simple blog. I’m sure their services are great — it just wasn’t a good fit for me.

Eventually, I just started to redirect schulte.mn over to Twitter. Twitter is something I actually use and it seemed like a logical move on my part.

I got back in the blogging game on May 7th with WordPress.com and decided just the other day to reestablish schulte.mn again. WordPress.com makes it so simple to map a domain. Seriously. $13/year is all that it will cost me for the service. Very reasonable. Did I mention easy? It was!

The worst part of the whole process is waiting for the DNS propagation to complete. The changes eventually completed in less than 24 hours but it seemed like an eternity when everything else went so smoothly.

Not only can I say, I’m back, but schulte.mn is back, too.