Backups and Paranoia

Lately I’ve been on a big paranoia kick when it comes to backing things up after a long time of not caring. I’ve had my fair share of disasters and close calls, but one day I just up and started backup plans for all my servers and personal workstations. Here’s what I’m doing:

Personal Computers

I have a Macbook, home battlestation, and work battlestation. I use Dropbox and Bitbucket, but as wise people have said, source control management is not backup. Everything important on my Macbook and work computer are saved to my Dropbox, and on my home machine (with 3+ TB of storage), I use Backblaze [affiliate link – click to get a month free, and I get a month free] to back everything up – minus VMware images, which are shipped to a 5 TB external drive. It took me over 40 days to get the initial backup into their cloud. But at $5/month, it’s a hell of a deal.

Backblaze Stats


Driveline Baseball’s servers are hosted at various places depending on the application. We have one dedicated server with OVH, two VPSes with Digital Ocean, and a handful of cheap Low End Box style VPSes for one-off tasks. All servers on the OVH and Digital Ocean platforms are backed up weekly using standard imaging techniques (usually their native dashboard’s implementations at reasonable prices), and all code obviously goes through git/SCM. The databases are replicated in a master-slave setup.

However, weekly imaging is definitely too low for critical areas even with SCM and replication, and after being barraged with love for Tarsnap on Hacker News, I finally got off my ass and set up nightly backups of assets, code, and a database dump. After searching the Internet for script examples, I ended up with this:

This script will:

  • Dump all of your databases to a file
  • Compress it with the date label appended
  • Remove the database dump
  • Ship the archives of the webroot, assets folder, and sql backup to tarsnap’s servers with a date-labeled note

Remember, since Tarsnap’s service does deduplication, there’s no risk of paying a ton of money by sending the entire webroot or assets up every night. You only pay transit and storage for blocks that show a delta between changes – which is the beauty of the service.

Stick it in crontab and be sure to set your PATH to see tarsnap’s binaries and set MAILTO in case of explosions.

Eventually you’ll want an automated way to prune backups on tarsnap’s servers so you don’t end up paying excessive amounts of money for very old backups (not that the picodollars you end up paying costs a whole heck of a lot).

I’m pretty happy with it so far!

Scrapped Intro to My First Book

The following is the scrapped introduction to my first book on training pitchers. There’s a good story or two in there which is why I decided to keep it. The remaining 100+ pages needed a lot of help, and if I have anything to say about it, will never be seen by anyone. Ever.

Anyway, enjoy!

As a young boy, I didn’t have a lot of athletic prowess to speak of. This didn’t stop me from participating in sports at all, though – I made a fool of myself on the baseball diamond, soccer field, and basketball courts throughout my youth. Growing up, I lived on a block where all my friends were a few years older than me, so they had a decided physical advantage in all the sports we played. It mattered little, as I always loved a challenge. My father would play basketball with me in the backyard, usually allowing me to shoot over him, but would cover me closely enough where I would complain that my competition wasn’t going to consist of six-foot-tall, two-hundred pound men. He would remind me that eventually, they would.

That lesson didn’t take root for me until years – decades – later. As I grew older, my desire to compete in athletics waxed and waned, until I competed primarily for fun and turned my focus towards schoolwork and academics. When I eventually hung up the spikes and moved to Seattle, I had a lack of hobbies to occupy my time with. My girlfriend (now wife) suggested that I do what all former athletes do: Start coaching. So, I contacted the local Little League and was swiftly put in charge of a Little League team full of 13 and 14-year old boys that I would have to evaluate and draft.

It was about this time that I started to fall in love with sabermetrics – the analysis of advanced baseball statistics. I understood the concepts of scouting for the undervalued assets – at the time, on-base percentage was the stat du jour. I went into the evaluations assuming that parents would carry a lot of bias towards players they knew and wouldn’t account for puberty or large growth spurts correctly. However, besides this very basic concept, I still believed in the majority of old-school theories, having been taught by those types of coaches all my life. Batting average, speed, power, velocity, and the “good face” were what mattered – and those tools couldn’t be taught.

At the draft, I evaluated many of the players with the other coaches – mostly fathers of kids in the league. I identified the best player in the group with relative ease; all the parents knew it too. His name was Corey, and he had everything you’d want in a youth baseball athlete – smooth glovework, great contact skills, early growth spurt, and most importantly, the good face. Corey just looked like a ballplayer, and he carried himself like one, too. There would be no chance I’d be able to draft him, as I was picking at the end of the round, and so I identified some of the other first-round talent.

If Corey represented everything that traditional baseball scouts love, then Sam was his polar opposite. Sam wasn’t naturally athletic; this much was obvious. Sam didn’t have a rocket attached to his arm, and his swing was a little unorthodox. But Sam didn’t make mistakes in the field, Sam poured strike after strike over the plate, Sam flashed the ability to throw a slow curveball that would be effective, and most of all, Sam played the game intelligently.

I chose Sam with my second round pick, and he would carry my Little League team to the last round of the district playoffs – where we would lose a one-run heartbreaker to eliminate us. We had a flamethrowing righty – Sean – who could touch 80 miles per hour with his fastball, but it was Sam who would anchor our rotation. We had two players – Adam and Jeff – that could rival most Little League shortstops with their range and arm strength, but it would be Sam who would commit the fewest errors in the field. Sam batted third for us, displaying outstanding plate discipline, contact skills, and enough power to drive in the speedy runners at the top of our lineup.

After the season, I would elect Sam to the All-Star team, where he would barely play, despite being one of the best players in our league – leading almost all pitching categories and finishing near the top in both batting average and on-base percentage. When I talked to him about this, he told me something I will never forget: “Coach, no one else will give me a chance. You’re the only one who gave me the opportunity to play.”

I write these words about Little League and Sam to illustrate why I chose to study the nuances of developing baseball athletes from the ground up. For every “naturally gifted” player like Corey, there had to be countless dedicated intelligent players like Sam, just looking for the guidance – and the chance – they needed to turn into great baseball players. But how would I learn how to teach the Sams of the world?

I started by spending hundreds of dollars on products from various pitching coaches and gurus out there – Tom House, Ron Wolforth, Paul Nyman, Alan Jaeger, Dick Mills, Len Solesky, and Paul Reddick. I then spent hundreds of hours reviewing their material, and the material of “crazy” theorists out there like Dr. Mike Marshall and Fritz Outman. I even purchased texts only available in Japan from Dr. Ryutaro Himeno and Dr. Kazushi Tezuka and had them partially translated so I could better understand how the Japanese taught pitching mechanics and to learn the secret of the “gyroball.”

From these materials, I learned a great deal of information about pitching mechanics and how to prepare the body for pitching. Most of the coaches believed in throwing and a strict adherence to the specificity of the sport – that is to say, they generally denounced lifting heavy weights and that training in the weight room didn’t have much carryover to fastball velocity.

I believed in this for some time, and trained many pitchers under these operating theories. However, I chose to get involved with barbell training as a way to develop overall fitness for myself. Seeking recommendations, I found the very complete book on basic barbell training – Starting Strength by Mark Rippetoe. After I read this text, I immediately began the novice training program outlined by the book. After a period of six months, I ended up significantly stronger in all the core lifts outlined in the book – the back squat, bench press, strict overhead press, deadlift, and power clean. Stronger than ever, I took the field and started throwing much harder and hit for far more power than I ever had in my life. All I had done in that off-season was focus on maximum strength training and took very little batting practice and threw very little off a mound.

Convinced that maximum strength training could play a major role in how I would train pitchers going forward, I then purchased and reviewed the material of general strength and conditioning coaches and instructors like the aforementioned Mark Rippetoe, as well as coaches like Eric Cressey, Glenn Pendlay, Dave Tate, Greg Glassman, Jim Wendler, Dan John, Greg Everett, Kelly Baggett, and many, many others.

I revisited the works of the pitching gurus and turned my head towards original research, digging up well over fifty research papers by anyone who had published biomechanical research on pitching mechanics or training methods to improve fastball velocity. Dr. Coop DeRenne’s work showed that various forms of resistance training combined with throwing programs improved velocity over simple throwing programs themselves. His work also outlined how weighted baseballs could have a positive effect on release velocity for pitchers. From these texts, I developed experiments and protocols to test on myself and willing clients for case studies. Sure enough, our first tests worked – extremely well. Pitchers and position players alike were putting 5-7 MPH on their fastballs in a matter of a few months.

It’s these results that have led me to write the first comprehensive book on exactly how to integrate the concepts of maximum strength resistance training, speed and agility, core work, weighted baseballs, long toss, and mobility and flexibility into both off-season and in-season programs to develop elite fastball velocities for those pitchers who just need the appropriate guidance to take them to the next level.

However, this is not an easy program. You will have to work extremely hard to develop the fastball velocity that’s required to compete at the college and pro ranks. All I can do is show you the way. Let’s get started.


A number of baseball writers have spoken out about their anxiety-related conditions in order to spread awareness, and probably to help themselves out. I will be doing the same!

If you believe the statistics, around 18% of American adults suffer from some form of anxiety disorder. The symptoms are different in each person, and the best way to treat it is generally individual as well. In my case, I suffer from general anxiety symptoms and have had bouts of clinical depression as well.

I first suspected this was a problem when I was 12 or 13 years old. I was having a hard time in school, both socially (normal) and academically (not normal), and my parents didn’t seem to support my life choices at the time, choosing to punish me for my slip-ups rather than investigate further into the root cause. I grew up Roman Catholic and was framed by guilt about actions that were “bad.” I remember asking my mother point-blank:

Is it possible that I am depressed?

She didn’t know what to say and flatly denied it, and I went on my way. I grew up with a very strong sense of family hierarchy, and this was reinforced by attending Catholic school and mass – that those above you in authority knew better, and you should accept their statements as fact. Today, I find myself to be a liberal/libertarian-leaning person (I avoid labeling) in most aspects of my life, and this sense being repressed in me at a young age further confused and angered me. I kept a diary of how I needed a change of pace but had no idea how to explore these feelings; remember, the Internet wasn’t a big thing until I hit high school, and even then, it was primarily centered around instant messaging and e-mail – the web had yet to really take off, so research wasn’t readily available. And at any rate, I felt the problem was with me, not something that could be fixed.

My family could not afford a private high school education, and as such, I attended the local public high school with nearly no friends going there. This ended up being one of the better things for me, as I realized I could choose who I wanted to be for the first time in my life. While I discovered who I was and met more open friends, I began to drop my religious beliefs on my own accord and become a much more social person – going from one extreme to the other, priding myself on collecting a rolodex of contacts and always having things to do across many groups of friends. My disappearing faith and changed social attitude ran afoul of my family here and there, but mostly we got through it without major intervention.

I accepted a large scholarship to Baldwin-Wallace College (now University) in Ohio and attended there, thrilled to be living out of the house and on my own for the first time in my life. The years went by as I struggled to figure out what I wanted to study, moving from Computer Science to Computer Information Systems to Business Administration to Economics to Philosophy in a desperate attempt to graduate on time. From age 17 and on, I held a full-time job and was expected to graduate on time, especially considering I had AP credits and college credits out of the way from my Running Start / PSEO option I selected in HS. So much of my self-worth was wrapped up in expectations from my family and society, that I had to finish school despite the fact I was increasingly unhappy with the traditional model of education. I kept repressing it all, lying about attending class, hoping I’d eventually get over it, until I just told my parents that I no longer wanted to attend college because I was a wreck. They were stunned, but mostly supported me, though it was clear it was a large disappointment. I had spent five years in college (including my SR year of HS) and finished just over three years worth of credits.

It was around this time that I began spiraling downwards in a depressed haze. I claimed insomnia and got a doctor to write me a script for Ambien/zolpidem, and I took it to pass out and ignore the thoughts in my head. When the side effects hit me super hard – severe short-term memory loss, blacking out while still remaining awake – I started destructive behavior, like calling my therapist at 3 AM and leaving insane rambling messages on his phone. When he’d call me back and leave a message on my voicemail, I’d have zero recollection of doing this, and I’d refuse to call him back, embarrassed. My mother said she heard me crying late at night, perhaps while on the phone with someone.

I told my long-distance girlfriend (now my wife) that I wasn’t suicidal, but that I really didn’t care if I got hit by a bus tomorrow. It wouldn’t be good, but it wouldn’t be a bad result.

It was around this time I decided to try medication and more scheduled therapy with someone to talk to. I was put on Wellbutrin/bupropion and scheduled to speak with my therapist more regularly. He more or less told me that my most meaningful relationships were online and that this was a real problem. When I pressured him into telling me why these “ephemeral” relationships were no less real than in-person relationships, he insisted that they were. I dropped him immediately; at this point, I had a very healthy disrespect for those who invoked their authority without backing evidence.

While working one day, a friend (a real life one!) pulled me aside and asked if I was OK. I told him that I was doing fine and asked why. He told me that I seemed much… dumber… over the last month. That I wasn’t as sharp or as intelligent as a person he had known for years. I immediately suspected the Wellbutrin and flushed my medication. My mood did not worsen, but my intelligence level gradually came back per my friends, who I did not tell I was stopping my medication.

Still depressed and borderline-abusing Ambien, I had a stroke of luck – in a sleep-drug induced haze, I wrote a cover letter and edited my resume to send to PokerStars for an open job in customer support and sent it off. Somehow, this started a chain of events and landed me the job there, traveling to Costa Rica for training. With the new job and money, I moved to Seattle and the depression went away, now that I was with my girlfriend and away from the toxic environment of Cleveland.

For awhile.

Then it came back, because it always does. A change of environment only helps because it doesn’t change the root cause, and I had not yet realized that I was responsible for my environment’s design!

How I got it under control

I quit the IT industry entirely. The environment around most software development companies was eroding my soul. I knew I wanted to work in baseball full-time, and my wife somehow allowed me to take an 80% pay cut with a family to feed to change this in my life. I started experimenting with grey-market chemicals and “smart drugs” to see what the effects would be. Eventually, I found a combination that I’ve been on for years with varying levels of discipline. I learned to control unnecessary anxiety through breathing techniques and logical thinking in combination with the drugs.

Most importantly: I found meaning in my life. I love what I do. For someone with a strong internal locus of control, this was the biggest answer. I was denying what I knew my whole life.

Not everyone is the same. What worked for me may not work for you, and you may want a more traditional route. Heck, without the traditional methods failing, I would have never figured out to move to alternative methods to help combat my anxiety.

Today I am the President and founder of a modestly successful baseball company, I have worked for three MLB organizations, and I have two healthy sons and a caring wife. Do I have problems in life and with anxiety? Absolutely. But it no longer is the primary thing that defines my life. And that’s freedom.

Minor League Baseball Pitch Stringer Data: WTF

While reviewing some proprietary PITCHf/x minor league data from a team that I work for, I started thinking about the death of Minor League Central:

I used to refer to the site for in-depth minor league data. However, after talking to a friend who knows a lot about PITCHf/x and stringer data (he can out himself if he likes), he told me this about the pitch location data that stringers report for the minor league games:

“It’s useless data. Not sure how much more clearly I can state that.”

Not one to blindly believe a single source – though if I were to believe someone about stringer or PITCHf/x data blindly, it’d be this guy – I decided to do a little checking myself. I figured the stringer data could be consistent within a single stadium, since the stringers should be drawn from a pool of usual employees/interns. And if this was the case, some fuzzing and statistical sampling of the data would make it usable for metrics that I wanted to track, like zone-based pitch-adjusted contact percentages that are strongly correlated with success at higher levels of the game. (Did I disclose something sabermetrically important? Ah, I think it’s well-known enough. If not, go look into it!)

Unfortunately, as I’m about to demonstrate, this good-natured belief was immediately shot down.

Stringer Data vs. Reality

Here’s a plate appearance that occurred on Sunday, July 26th, 2015 at the Akron Rubberducks’ home field, Canal Park. This matchup was between Casey Weathers and Max Moroff in the 8th inning.

Stringer Data

The batter is left-handed.

In order, the location of the pitches are listed by the stringer as:

  • Outer black-middle / arm side, foul ball
  • Outer black-middle / arm side, foul ball (virtually same place)
  • Outer black-middle / arm side, foul ball (slightly lower than the previous two pitches)
  • Middle third-down, ball
  • Inner third-up / glove side, swinging strike

Pitch types aren’t recorded so we’ll ignore those, but the 4th pitch was a slider as you’ll see.

Here is the plate appearance, played back at half speed so you can see the locations a little easier. The video loops, so be sure you are watching from the beginning – you can see the progress bar at the bottom of the video if you hover over it.

(If the video does not play, you can view it at this Streamable link.)

Taking a Closer Look at Each Pitch

First pitch: Said by stringer to be outer black-middle / arm side, foul ball.

Stringer Pitch 1

Actual Location: Middle/up and in, glove side, foul ball. Huge miss laterally.

Second pitch: Said by stringer to be outer black-middle / arm side, foul ball.

Stringer Data 2

Actual Location: Middle/up and in, glove side, foul ball. Huge miss laterally.

Third pitch: Said by stringer to be outer black-middle / arm side, foul ball.

Weathers Stringer 3

Actual Location: Outer black-middle / arm side, foul ball. Correct.

Fourth pitch: Said by stringer to be middle third-down, ball.

Weathers Stringer 4

Actual Location: Outer third-down, glove side, ball. Laterally wrong, but small error. 

Fifth Pitch: Said by stringer to be inner third-up / glove side, swinging strike.

Weathers Stringer 5

Actual Location: Inner third-up / glove side, swinging strike. Correct.

So… is the data good?

Absolutely not.

Sure, 3/5 of the pitches were either correct or had a small enough error, but two pitches were off by the entire width of the plate. This is impossible to correct and represents a massive error. Quality control of stringer data is obviously no good. Spot checking a few other games showed similar results, as well – this wasn’t a case of a stringer having a bad day. There is just no care for the accuracy of the data in the PITCHf/x gameday files.

Gameday Logs
Check out the gameday files yourself, if you like.

While it’s sad that Minor League Central is down, this type of analysis throws the entire zone% based data into doubt as to whether or not it was any good in the first place.

Minor League Central Pitch Data
Probably inaccurate?

Contact rates could still be good (and probably are) but zone-based data yields some of the most relevant information for pitchers and their stuff. But that’s analysis someone on THT or Fangraphs can pick up if they’re so inclined! Chris Mitchell wrote about this on Fangraphs this year, and while he couldn’t find much there – probably because the data is so terrible – it’s probably worth looking into if you want to manually code/string the data yourself, or pay someone to do it. But that’s another post on sabermetrics and outsourcing data collection using Amazon Mechanical Turk or other cheap sources of labor, now isn’t it? (Hopefully that’s enough information to get the real junkies interested in investigating!)

The Tech Behind Hacking the Kinetic Chain

In 2013, I wrote an article titled The Tech Behind The Dynamic Pitcher, which detailed the technology that I used to write my first baseball training book, market it, and sell it online. In December 2014, I released Hacking the Kinetic Chain, a much more in-depth resource on training baseball pitchers for both velocity and durability. I thought it might be fun to discuss what changed from The Dynamic Pitcher (TDP) to Hacking the Kinetic Chain (HTKC) and what I was able to re-use!

Hacking the Kinetic Chain
Hacking the Kinetic Chain

Stuff that Remained the Same

Long-Form Sales Copy

We switched to OptimizePress 2.0 and used that instead of 1.0, which made page build-out and A/B testing significantly easier.

Sales Copy HTKC

However, the other concepts were basically the same.

Purchasing the Product + Membership Site

We were able to re-use most of the same code from TDP sales in the Driveline Baseball Online Shop, which automatically generated usernames and roles for people who bought HTKC from the site. While OptimizePress 2.0’s APIs were a bit different, it wasn’t too hard to adapt the existing code – knocked it out in an afternoon.

HTKC Shop Page

We used OptimizePress 2.0 for the membership site as well. It required only minor tweaks and was much more extensible, so that was a nice addition.

HTKC Membership Site
HTKC Membership Site

Writing the Book

I again used Microsoft Word for layout, rough draft, and final copy.

Hosting the Content

I hosted the content largely on Amazon S3 for speed and reliability purposes. While it cost us significantly more than just getting Digital Ocean VPSes and sticking the files on there, we wanted to have the highest possible quality without spending a ton of time in configuration, and S3 is the perfect application for this.

Things that Changed

Publishing the Book

HTKC is both a PDF and a physical book that is spiral-bound, so we needed a publisher. We briefly considered selling the book on Amazon CreateSpace or another similar platform, but when we saw the costs and the restrictions, we went with an online printer. After comparing rates and reputations, we settled on, which has done outstanding work for us. Printing and shipping times are quick enough, but customer support and previous history of work is what sealed the deal for us. Highly recommend these guys.

Shooting Training Videos + Commercial

TDP did not have a video commercial / spot to promote it, but HTKC does. We knew we wanted to do the videos in a much higher quality given the price of HTKC, so we also committed to shooting a commercial with professional editing, shooting, and equipment costs all being absorbed by the company.

We hired Riley Morton and went to work. Here are some of the pictures of the “studio” (our downstairs shared-use spot) that we blocked off for shooting:

Shooting Training Videos
Shooting Training Videos
Studio Lights
Zero overhead lights on!
Red Epic Camera
Red Epic Camera – $50k Retail!

This was exhausting, but ultimately a lot of fun. The final commercial can be found on the HTKC main page, or below embedded in a Vimeo player:

Can’t say enough about Riley’s work here. He did an amazing job for us and it certainly led to higher conversions, sales, and overall satisfaction with the final product.

Promotion / Mailing List

We gave away three copies of the book, a Marc Pro unit, and a bunch of our own PlyoCare and Elite Weighted Balls leading up to the launch, which definitely got the word out, added a bunch of emails to our membership list, and gained us Twitter followers. We also dripped the content over a few weeks leading up to the final release date, which helped build momentum.

For TDP, I just pushed a button and said “go.” Not the best way to do it! I also wrote follow-up emails at the end of the sales period ($100 off for a short time) with more personal notes on how I created it and the backstory of the book (which had been in production for six years, seriously), and that not only boosted sales but helped me connect with clients on a more meaningful level. Readers want to hear that you actually care about the content and your relationship with the clients, not just receive constant sales letters that are thinly-veiled promotional emails to line the business’ pockets with funds.

What I Learned, Part Two

Writing a book is a TON of work – especially when you increase the size (260+ pages) and scope (videos, online training programs, promotions…) of the project. I couldn’t have done it without the help of my newly-hired CEO, Mike Rathwell, and for our next project, we’ll be leaning heavily on our new employees that we’ve hired. Surrounding yourself with the best help you can afford and find is by far one of my strongest recommendations when your business begins to grow.