Choosing Your Batting Order

Depending on your coaching philosophy, you may have different ways of choosing your batting order. At the lowest t-ball and coach-pitch levels, it might be completely random. To keep it completely fair, you should keep track of the last batter and rotate to the next batter in the next game. Not much to think about here.

Eventually, as players get older, there is more competition in the game and the pressure to win grows. Putting some thought in to your batting order can definitely increase your chances of winning. When coaching young teams, you need to keep a balance between winning and keeping all your players motivated. And don’t forget the parents! Like it or not, there is pressure from parents going both ways, toward being more competitive and keeping it “fair”.

I’ll just make one point about “fairness”. Let’s say you have a rotating batting order and try to bat everyone the same amount. That may sound “fair” but it is not really fair to the players who are putting forth more effort and building better hitting skills, and it’s not really fair to the team or to the parents who enjoy getting a win more than losing. Like I said, at the lowest levels of baseball that is the norm, but as players get older, everyone deserves to have the coach put some more thought into the process.

There is a tradition in baseball that the best power hitter bats fourth, when you are trying to be competitive with the batting order. Many times in youth baseball, your best power hitter has one of the better batting averages on the team. Statistically, my position is that you begin with the best batting average (or on base percentage perhaps) and work your way down. If you look at the math, players at the top of the batting order get more at-bats than players at the bottom, because rarely does a game end with the last player in the batting order. So, if the game is close in the final inning and you have 3 hitters coming up, you want those hitters to have the highest betting average possible. I’ve coached many games where the third or fourth batter in the lineup never gets a chance to swing the bat because the game ends with the final out while they are on deck.

Another coaching philosophy is to “spread out” your hitting talent so you don’t have a bad inning with 3 poor hitters in a row. Statistically, this does not work, because you end up with good hitters not batting more often than poor hitters. You end up with more runners (your good hitters) stranded on base. The bottom line is, to win more games you want your better hitters getting more at-bats.

Now it gets pretty depressing to always bat at the bottom of the order, both for the player and the parents of that player. In the middle levels of competition where winning is not everything, I may rotate the first batter (or you can do this with the third batter, let’s say, to keep it in the first inning). For example, let’s say everyone on the team gets a chance to bat first, no matter the skill level. So my worst hitter may bat first now and then. That is a pretty good compromise between winning and keeping all your players happy.

OK, let’s say as a coach you want to carefully pick your batting order based on performance. Without statistics, you are really just guessing. Players may improve steadily throughout the season, some players may get on a hitting streak, and some may enter a slump. It’s constantly changing. Having the batting numbers handy is the only intelligent way to go. You will also find your players more motivated when they know the batting order is based on results, and not “favorites”.

Baseball Pocket Coach makes it really, really easy to record batting results, and to keep those numbers handy when planning a lineup. I don’t know how many times I’ve seen a parent asked to keep the scorebook, and they look back and say “I don’t know how”. Even worse, they gladly accept the assignment, but when you try to decipher the results after the game, you can’t make any sense out of it so you don’t get any valuable stats. For youth baseball batting stats, you don’t really need to track every pitch and throw and use a special codes like “6-3”. A simple “Single” or “Popout” is all you need to help you with batting results. One or two taps per hitter and you are done. I designed the Baseball Pocket Coach app to be so easy you can coach a base and record batting results at the same time, or to hand it to a random parent with no training. If I’m coaching and using the app, I can quickly tap in the previous batting result while the next batter is walking up to the plate.

When you use this app to plan your lineup, it will show you the batting average next to each player’s name, and you can drag the names in to the batting order that makes sense. You can look at pure batting average, or the last two weeks batting average, or on-base percentage. No more guessing. I know that I have been surprised to see a not-so-good hitter have a high on-base percentage, usually because that player draws alot of walks. If you only rely on your gut feel, you will miss some things. If you have solid numbers, you can make more intelligent decisions, and tweak the lineup according to your gut feel. More tools = better results.

Baseball Pocket Coach app on iTunes app store

HomeKit for Home Control

I have been very interested in the “internet of things” for a while now, and I finally got around to trying out Apple’s HomeKit with a couple accessories. If you don’t already know, HomeKit is a technology that is meant to help you remotely control accessories, or devices, and create a “smart home”. Notice I called it a “technology” and not an “app”. That definition is pretty vague, and from what I have seen, 99% of the people I ask have no idea what it is all about.

Let’s say you have a light and you want to control it remotely. Maybe you want to turn the living room light on when you are away from home so it looks like someone is home. You somehow need to put that light on your home network, and somehow need to have a means to control it. That’s what HomeKit does for HomeKit-compatible devices, and Apple has wrapped their typical sugar and niceness around the process so that ordinary people can figure it out.

So I ordered a couple HomeKit compatible devices (both are power switches) from two different companies, iHome and iDevices because I wanted to see for myself what the process was like for a couple different brands. Because the ability to connect to a WiFi network incurs a certain amount of cost, a switch is more versatile than say a light bulb. You can plug a lamp in to a switch, or a heater, or a string of christmas lights, or anything you want. I don’t mind spending $35 on a switch (well, I mind a little : ) but that’s just too much for a simple light bulb.

The first thing to remember when unboxing a new device is this: don’t read the instructions! I have a prerelease version of iOS 10 and it comes with a new app from Apple called “Home”. This is all you need to set up and control most HomeKit compatible devices. The first thing written in the instructions is to download a custom app from the manufacturer, but that is no longer necessary when you have the Home app. The proprietary custom app may provide extra features, but I think it’s better to wait until you need something before installing extra software.

There is a typical “Add” button in Home, and after plugging in your new HomeKit device, you tell Home to “Add Accessory”. Home lets you set up “rooms” so you can refer to things like the “switch in my living room”. It’s pretty easy and self explanatory to do that and you can choose a room to place your new accessory. Each HomeKt device comes with a numeric code, and you will be prompted to enter that code or scan it with your camera. That’s all there is to it, the new device should now be ready to go in a minute or two!

Home displays a box for each accessory you add, and you can just tap on the box to turn the switch on or off. Tap and hold to get more options. For example, my iDevices switch comes with a built-in night light so it is like two devices in one, and I can change its color and intensity with a slider. All of this “just works” within the Home app. I had no trouble at all getting both devices set up within minutes.

In iOS 10, the updated Control Panel will also display your favorite accessories by just swiping left. That is very convenient for controlling them so you don’t even need to launch an app. FYI both devices have a push button so you can turn them on and off the old fashioned way, too.

The beauty of HomeKt is that it works with Siri, too. I can say “turn on the light in the living room” and it happens (I named my switch in the living room “light” because it is hooked up to a lamp and that sounds more natural). I can ask Siri “is the living room light on?” and I’m told. That feels pretty neat, I must say!

Now, my original goal was to do this remotely, while away from home. Obviously, a server on the cloud is necessary for this to happen, as well as an internet connection. If you want to download the app that comes with your device, and sign up for an account on their server, you can. However, I wanted to keep things as simple as possible without installing new apps or creating new accounts. That’s where my Apple TV comes in!

Since I had already linked my Apple TV to my iCloud account, I was already done. Those same Siri commands on my iPhone work just as well when I am away from home. My phone sends the commands to the cloud (iCloud, to be exact) and the Apple TV automagically receives the commands over your internet connection, and controls your devices. Super cool!

One other feature of HomeKit which is very useful is sharing. If you want to let other family members also control certain devices, you can send them an invitation and now they can use Siri to turn off the light you just turned on!

Overall, I am very impressed with the simplicity and convenience of HomeKit, especially when combined with the new features coming soon in iOS 10.

My Firefighting Flashlight

Once in a while I like to share some of my favorite tools for the fire service. For my bunker gear, I strap on a Pelican Big Ed right angle flashlight. This puppy is very bright (39 lumens), has a nice ring on top that I can clip on to, and is very rugged. It is Class 1, Division 2 rated.

Personally I prefer the C-battery version, although they also make a rechargeable model. As a volunteer, I keep my gear in my gear bag ready to go, so a long shelf life is critical for me. If you work shifts at the station, you may prefer the rechargeable. About once a year I swap out the batteries so they are fresh and the light is bright. I’ve had my flashlight for over 15 years and it is still going strong.

Do you have a different flashlight you prefer?

Big Ed flashlight on Amazon

31QTJ4GWTFL.jpg

Shortly after writing this post, I checked out a competing flashlight, the Streamlight 90540 Survivor LED Flashlight. I actually have one of these, too, and was surprised that its lumen rating was a whopping 140 in high mode and 47 in low mode. This came as a Christmas gift and never made it in to my bunker gear, but maybe it should replace my Big Ed???

Streamlight Survivor on Amazon

617aKkjfdQL._SL1500_.jpg

Don’t Sync Me, Bro

Are you a synchronous communicator? I’m not, I prefer asynchronous communication when it makes sense, because it is way more efficient. Let me explain what I mean by that. Synchronous communications requires both parties to be engaged simultaneously. The classic example is a phone call, or God forbid, a face to face conversation. Asynchronous communication does not require both sides to be engaged at the same time. A good example would be texting. While you CAN make texting synchronous if you go back and forth, it is not required. You might get a text message and read and/or respond to it hours later. Another example would be email.

The benefit of synchronous communication is that you get immediate confirmation that your message was received. If you have a time-critical message, or you really need to confirm your message has been received and understood, it may be best to pick up the phone. You COULD send a text message and see if you get a quick response; if you don’t, THEN pick up the phone. Another benefit: it’s way easier to communicate something complex by voice rather than try typing that in a message.

With asynchronous communication, you can send-and-move-on. You get the message out, it’s in writing so it’s hard to ignore/forget, and you spend very little time. If the receiver is tied up or unavailable, you figure they will get to it when they have the time. Perhaps the question is not easily answered, and the receiver needs to think about it or do some research. This is the most time efficient way to communicate. As we all know, terse written communication can be easily misunderstood, so you definitely need to consider that.

Chat software like Slack, HipChat, or Skype can fall in both categories, depending on how you use it. I do alot of remote work so I’ve used pretty much all the telecommunication software out there. Most can do video calling, or you can schedule a “meeting” in advance, both of which are clearly synchronous. You can also use them as pure chat and be asynchronous. You might be engaged in real-time (synchronous) with some folks, and later others may read the conversation and perhaps reply asynchronously.

OK, now to one of my pet peeves. I find it highly annoying when someone has a perfectly asynchronous message and use a perfectly asynchronous method to deliver it, and then they go make it synchronous! Here is what I mean: using Slack, a coworker texts you “Hey John”. And then nothing. Eventually you reply back “What’s up?”. Then, if they are still at their computer, they say “Did the package arrive today?”. Otherwise, if they are not at their computer anymore, you might not get that question for another hour or more, and they don’t get a quick answer.

What’s the big deal you ask? Oh boy, now you got me started! Well, in an ideal scenario, I’m at my computer with not much to do, maybe I’m surfing the web, and I get that message. Oh joy, something to do! I respond, I get the question, the coworker gets a yes or no, and all is well. Right, that NEVER happens to ME when I’m working. It’s more likely I am deeply concentrating on a programming issue and this interruption comes in. Then I think, is this going to be a long conversation? If so, I certainly don’t want to be disturbed right now. Even a short context switch can foul up a good programming zen. Maybe I’m in line at the coffee shop and away from my computer. I don’t really like to admit when I’m away from my desk : ) but if they ask me something that requires a computer look-up, I’ll be caught like a rat. This is someone trying to convert asynchronous to synchronous! Arrrrrggggh!

Now that I convinced you of this evil menace, how do you communicate properly you ask? It’s simple. Keep it async, bro. The proper way to send that message is “Hey John, did the package arrive today?”. If I see that, even while in a programming frenzy, I can quickly respond “yep” and keep on my merry way. (Yes, there are some people that once they know they have your attention, will follow up with something like “Great. How was your weekend?” and now you are trapped in synchronicity) If I’m at the coffee shop, I can quickly respond using my mobile app and it’s done.

If there is a more complicated message like “Hey John, do you think you can get me that estimate by the end of the day tomorrow?” then I can process that message, do a little research, determine the best response, and get back to them when I have a good answer like an hour later: “No problem, i just finished it”. So efficient, so asynchronous!

Please, don’t be that guy who sends me a “Hey John” chat message. You likely won’t get a quick response, just sayin.

Swift Optionals

The more I get to know the Swift language, the more I like it. Any time the compiler finds my bugs before I ever run my app, that’s a good thing. And protecting me against my own mistakes is also a good thing.

Optionals is a thing in Swift that protects you against nil pointers. It’s a language feature that strongly encourages you to check your variables for validity before you run off and assume everything is fine. It’s also a very tricky par too the language to fully understand. Thank goodness for Xcode and all its helpful suggestions, but knowing what you are doing will guarantee you have clean code — not just code that compiles.

This is a good article on Optionals that I found easy to read and very helpful:

Swift Optionals

Swift Tips

This is just a link to an article on Swift that I found useful. “guard” is a new Swift thingy that replaces a design pattern I have been using already. The more I use Swift, the more i like it!

Using Guard Properly

Oh, one more little thing I learned today. The C method of writing for-loops is going away, so you should start writing them in the new Swift way:

for x in 0..n { … }

(works if you never write to x, which normally you don’t)

Carry on!