Old-Fashioned Drone Video

Back in my early Sony days when I worked at RedZone Interactive, a friend and I got into RC planes. Since the rest of the studio didn’t generally roll in until about 9:00 or 10:00, we had the opportunity to take our planes out in the lot behind the office in the mornings while the winds were quite gentle. It’s a fond memory.

About the same time, I saw online a wireless video camera that was about the size of a matchbook and immediately thought of attaching it to the plane to get a cool POV video while flying. I should note that this was 2004. GoPro didn’t exist yet let alone the whole ‘sports camera’ category. Neither did drones that are so common nowadays. Am I a trend setter? Not really. I just thought it was a fun idea.

Not surprisingly, it was very jerry-rigged. The camera with built-in transmitter was mounted on a stick protruding from the side of the canopy attached to a 9v battery for power. The receiver was on the ground attached to a video camera recording the results. My friend had to spend the entire flight watching the small screen on the camera while constantly adjusting a tuning knob on the receiver to keep the signal usable. The results are pretty poor by today’s standards, but I think it turned out pretty good, all things considered:

 

Fun times. I still have the plane, though I haven’t used it in years. I just may have to pull it out and see if it still works. I probably won’t bother with the camera.

Starting a new chapter

Since my life-changing event back in March, I’ve had the opportunity to meet many different people and learn about several organizations, each one different from the others. I have also spent a significant amount of time determining who I am professionally (my strengths, weaknesses, and motivations). That combined with my belief that technology can truly make a difference in people’s lives and it has helped direct my search.

Through a most interesting series of events that I’m unable to adequately explain here, I learned of an opportunity at Edify which is a very special non-profit organization that is best summarized from the website: “To improve and to expand sustainable, affordable Christ-centered education in the developing world.” They achieve that by supporting private schools through small loans, training, and technology. To date, they have partnered with over 1,600 schools and have impacted the lives of over 300,000 students.

After many conversations it became more and more clear that there was a unique match between their needs and my background and skills. I’m happy and proud to say that they have invited me to join with them in their work and start tomorrow as their Vice President of Information Technology. I cannot convey how excited I am for this opportunity and look forward to making an impact in ways I surely couldn’t have previously imagined.

Having the Summer off to enjoy my family was a significant blessing. In light of having just taken my oldest child off to college for the first time yesterday, it all couldn’t have worked out better. Yet another sign that the Lord’s plans are the best.

Watching a log file in a bash script

For the last few months, I’ve been doing some contracting developing automation scripts in bash. It’s been a fun diversion from my job search and leverages my sysadmin background. It has also improved my command of vi and several tricks in bash scripting. I wanted to share one that may be of help to others.

In the scripts that I wrote, it was necessary to kick of a long-running process and then act on entries written to a log file. I created a watcher routine to accomplish this:

01  successfulRun=0
02  keepRunning=1
03  while [ $keepRunning -eq 1 ] && read -t 3600 line; do
04      case "$line" in
05          *completion string* )
06              echo "Completed successfully. Exiting monitor."
07              successfulRun=1
08              keepRunning=0
09              ;;
10          *error string* )
11              echo "ERROR entry found in log. Exiting monitor."
12              keepRunning=0
13              ;;
14          * )
15              echo "Just another line. Monitor continuing."
16              ;;
17      esac
18  done < <(tail --pid=$$ -n0 -F ${logfile})

It’s a general while loop, but there are some useful features. First, in line 3 is “read -t 3600” which allows the loop to break if nothing gets written to the file for an hour (3600 seconds). After the loop, if keepRunning is 1 and successfulRun is 0, I know it timed out.

Lines 5, 10, and 14 allow for cases for any strings encountered. For my uses, I was looking for a success string which meant my script could continue on. Similarly, if an error string is encountered, I exit accordingly. The last one (line 14) is the default case, which probably isn’t needed unless you want to provide feedback of progress.

The last feature is in line 18. The –pid=$$ option allows the tail command to close the logfile when the parent script completes. That allows for a very nice wrap-up no matter what happens. Nice, huh?

Teaching to the Test

This Saturday is my daughter’s high school graduation ceremony. It’s a celebration of all of the hard work she has put into learning and preparing herself for adulthood. As my wife was going through various papers and projects of her school career, she found this from when my daughter was in first or second grade encouraging everyone to do well on the API test:

The API Rap

It really reminds me why we decided to homeschool our kids. In the five or so years since we took responsibility for their education, I am certain they have learned from more subjects, gone more deeply with ones of significance or interest, and developed skills to more fittingly equip them for college and beyond.

I’m exceedingly proud of both my kids and very much like the people they have become. Would they have become quality people if they stayed in public school? Probably, but I have no doubt they are even better for having not.

 

Whose problem will I solve?

When you work in IT, your daily job is using your experience and skill with technology to solve problems facing the business. Not surprisingly, in the weeks following my departure from my previous employer, it has been a little tough to no longer think about the projects and challenges I had been facing for weeks or months (or even years). Don’t fret, I hardly loose any sleep over things any more as I spend my days with my family. That’s been a total plus of my present situation.

As I interview with companies and discuss the various challenges they face, I find myself contemplating how I would go about addressing them. Some are quite familiar while others are unlike anything I’ve faced before. Which challenges will I ultimately be called on to address? Only time will tell.

 

14 Years, 5 Months, 22 Days

That is how long I worked for my now previous employeer. Yesterday, I was included in a round of layoffs that hit my organization. That is quite a long run and I am thankful for the many opportunities I had and the numerous people I was fortunate to work with. Honestly, we accomplished some great things:

  • The launch of the PlayStation 2, PSP, PlayStation 3, PS Vita, and PlayStation 4
  • Development and release of countless titles from small download (PSN) titles to well-respected AAA ones like God of War, Uncharted, MLB, Last of Us, and most recently Bloodborne
  • The integration of new studios and the spin-off of others
  • The relocation of a studio to a new state-of-the-art location
  • The progression of game development from CD to DVD to Blu-ray and similar development footprints from 100’s of MB to 100’s of TB of storage
  • The growth from region-specific development to a fully world-wide development, QA, hosting, and IT organization
  • The evolution of servers from physical to virtual and a similar progression of hosting from thousands of physical servers to private and public clouds

In large and, more likely, small ways I strived to make a difference and am proud of my legacy there. I wish those that remain well. It is a great group of people that are smart and very resourceful. I hope to work with them again.

It is challenging as this is the first time in my entire career that I don’t know what’s next. That’s ok. I’ll be working again soon. In the meantime, I’ll enjoy the time with my family.

This time, there were no exceptions

I previously wrote about how I use an Automatic Link with my car. While it has been an interesting and useful device, it’s been exceptionally hard to get a perfect score for an entire week. I’ve gotten pretty comfortable consistently driving under 70 mph, but driving in traffic, it is exceptionally hard to not get ‘dinged’ for hard breaking.

After over a year of trying, I finally got a full week of driving with no events, exceptions, or gaps. Now that I’ve got that out of the way, I don’t have to get annoyed whenever a little thing causes a blemish on my score.

I wonder if I should see how low a score I can get?

A perfect Automatic score

A perfect Automatic score

Two Games I’m Looking Forward To

I was able to visit E3 yesterday in Los Angeles. As expected, there were plenty of games and even more people. Interestingly, the two games I’m most interested in weren’t playable or even present (on the floor, at least). I’ll just have to be

No Man’s Sky


This is an amazing looking game made up of a team of four. It’s procedurally-generated world and universe that will encourage exploration. I’m up for that.

Mirror’s Edge 2


I really liked the original and it went years with only rumors of a sequel. Last year they announced development and this year gave a little more information, but it clearly has some time to bake still since EA wasn’t showing it in their booth.

Neither has a release date, though, so I’m not expecting either until late this year, at best.

Support when you need it

This week, San Diego suffered through far too many fires. Fortunately, neither my house or work were directly at risk. Not surprisingly, however, the air quality was quite poor. It was so bad on Thursday evening that facilities and senior management decided to shut down non-essential HVAC units which required the closure of our office for Friday.

There are advantages working in a high-tech industry like video games. One of them is that most of the work is on the computer and, as such, work can be performed almost anywhere. So, when the notification went out Thursday night that the office would be closed and that people should work remotely, if possible, I wasn’t concerned.

The next morning, I got a call from one of my guys that the VPN service (that we’re responsible for) had hit its 100 simultaneous user limit. We’ve never hit that limit before, but this was far from a normal situation.

I’m happy to say that after working with our reseller (CDW) and the vendor (Juniper Networks) they gladly provided a very generous license good for two months while we work out a more permanent solution. Support like this is exactly what one needs when the time comes. They both came through and that counts for a lot.

With the fires brought under control over the weekend, it’ll be work as usual tomorrow. Now to start a purchase for additional licenses…

A Perfect Week of Driving

I got an early Automatic Link by Automatic late last year. It’s a very interesting device to track how you’re driving with the ultimate goal to improve your gas milage. To further encourage good habits, it maintains a score of how the week has gone. After many very close weeks, I recently managed a full 100% score:

Automatic 100 Score

Well, almost perfect. I did have one hard break and less than a minute of going over 70 MPH–I’ll work on that. Considering my car is only supposed to get 29/37 mpg, a 43.7 mpg average over 740 miles is quite impressive. Driving like this has certainly paid for the device!