Monday, January 22, 2018

Network Automation Nerds Shoes

Hi Network Automation Nerds, yep, you read that title right, I am writing about shoes in this blog post. For the impatient, just click here on to see the pair for yourself. (Full disclosure: I get $15 royalty from every shoe purchase, which I am happy to donate to a charity).


"Why?" well, let me tell you:

  • I am kind of a sneaker head. Here is the Urban Dictionary of what a sneaker head is. I don't believe I am a die-hard shoe collector (my wife might disagree), but I do like them. I have about 13 pairs of retro Jordan shoes up to Jordan 14 (his last championship year with the Chicago Bulls). Growing up not able to afford them in the 90's gave me kind of a weak spot when I spot the retro shoes. Being blessed with working in the high tech industry where we can wear whatever we want to work, the Jordan's has been my "work" shoes for the last 17 years. 
  • It is kind of fun to see your logo on a physical product. That is why people like to customize so much and T-Shirt swags are prevalent at almost every single start-up's out there. Shoes are about 13x more expensive than a T-Shirt to buy, but hay they are about 20x more durable. At least I hope they last 20x longer anyways. 
  • Prepare and practice for future events. If my company ever goes IPO, one can certainly hope, I already know how to make a pair of IPO-bound shoes for the event! Or at the very least, I can wear this pair at Meet Up's and be a conversation starter. 
I can't wait to see them in person (15-20 wordays and ship from Italy). 


Tuesday, December 26, 2017

Getting a [Late] Report Card for My Book

Hi Nework Automation Nerds, happy holidays! As we are close to the end of 2017, it is literally the last Tuesday of the year as I am writing this post, I thought it would be a good idea to look back at the biggest project I took on in the year, writing a technical book Mastering Python Networking.

By now, you might be tired of hearing about me talking about the book. I dont blame you, I know I am a bit tired writing about them. The process was such a big part of my year there was no way to separate one from the other and whenever somebody asks me "Eric, what are you up to?", the subject of book writing inevitably come up. So I ended up talking / thinking / promoting / reflecting about the book for most of 2017.

I will always look back at 2017 fontly as the year I became a published author, but saved for some occational update and reflections, this is probably one of the last post I will write about the book. I will continue to update the Book Q&A Post and Donation Tracking as new updates become available but they will be contained to the parameters of the two posts.

Don't get me wrong, I am super proud of the work and treasure the work I put in, but I am ready to move on.

There are plenty of posts about author's experiences of writing techincal books, two of the more interesting ones are here and here. I have my own experience, of course, but I don't feel like I am ready to write about it just yet, particularly because I am still wrapping up with my second writing project with O'Reilly that is due out in Febuary 2018.

So what would be an interesting subject about the book to sum up the experience for 2017? How about let's take a look at how many copies the book has sold so far? I know I would be interested in knowing the post-proudction process if I were a reader of the blog.

As fate would have it, I received my Q3 2017 report the Friday before Christmas:

A few things that stood out for me:

1. It is kind of late. 

Noticed that on December 22, 2017 I just received the royalty report from July to September 2017. Essentially the report took 1 whole quarter to generate. If you have read some of the other post by authors, you know this is normal. But it still struct me as odd that it took so long to produce a report. Perhaps this is just Packt Publishing, but I doubt it.

2. More eBooks than Print books were sold, more than 3:1 ratio.

I guess this does not come with a surprise that at a 3+:1 ratio people were preferring ebooks than their printed counter parts. The royalty on ebooks is about 1/3 of the printed book, so on the money front the printed book is more lucrative. But I can certainly understand the prefence.

For me, I know most of my technical books are not only in digital form, a large chunk were in subscription services, such as Safaribooks Online.

3. It exceeded my personal expectations for units sold. 

My wife can back me up on this. When I initially sign on to write the book in January 2017, I told my wife that I think it would be awesome if the book can sell more than 100 copies. In fact, when Packt reached out, I emailed them back and ask them to confirm because I thought the market was so small. I mean, in my mind network engineers are a pretty narrow set of folks compare to systems engineers and developers. If you take that number and estimated that 10% of them will be interested in the book, then you arrive at a pretty small number. Truth be told, I was a bit worried that Packt will loss money for giving me a chance despite my best effor in writing the book.

However, I am pleasantly surprised at the number that it posted in the first three months of the book's existence. 101 print copies, 101 subscriptions, and 375 ebooks is small compare to Harry Potter or Hunger Games, but it is good enough for me. Not to mention it is being translated to Korean by Packt's Korean publishing partner, Acorn Pub. :)

4. I still have not earned out my royalty advancements.

Sadly, even with the number it posted I still have not earned out my royalty advancements. To clarify, Packt gave me a set amount of money for completing the book, but they count toward future royalty payments. It is somewhat of a bet on the publisher's part, as if the book sells for less than they anticipated, they would loss money on the deal. On the other hand, if the book sells well, they will recoup their cost plus more. For the author, well, let's not talk about the money vs. the time they spent on writing the book because it is depressing... :)

Well, that was my quick update on the book. Happy 2017 and look forward to a productive 2018!


Monday, December 18, 2017

Ansible 2.5 on the Horizon

Greetings Network Automation Nerds!

Just attended the Ansible 2.5 webcast for Network Partners. It seems to me that the changes in 2.4 were more behind the scenes, i.e. persistent SSH connections, while Ansible 2.5 will have more visible changes for network engineers who are writing Playbooks.

Ansible Networking Partner Webinar (December 18, 2017) Recording
Ansible 2.5 Porting Guide
Network Core Roadmap for 2.5

Here are a few of the takeaways for me, all welcome changes:

  • Network automation continues to be more similar to other modules. For example, instead of specifying connection as local and use the provider method for network cli connections, in 2.5, you can specify network_cli or netconf as the connection. This allows the two connection methods to be used directly in shell. 
  • More emphasis on Testing for network modules. "If it is not tested, it is broken", right? 
  • More community building, such as

Here are some of the screenshots from the webcast on the connection method, testing, and community:

Happy Coding!


Thursday, December 14, 2017

Packet Pusher Priority Queue #135 Book Drawing

Hello, fellow network automation engineers! It has been a while since I last wrote about my blog, my apologies. Rest assured that I have not been slacking off, I have been busy working on another book project on Distributed Denial of Service (DDoS) with my good friend Rich Groves that should be out early next year. I am very excited about the project and hope it brings value to you if you are interested in learning more about the topic. 

Many of you have listened or at least aware of the episode on Packet Pusher Priority Queue #135 where I discussed my book and the subsequent offering of a free autographed copy if you sign up on this link a month after the airing of the show on November 9th, 2017. 

I am a few days late, but I have not forgotten about it. In total, there were 271 people who signed up (Thanks!). I exported the list into Excel sorted by the time they were signed up from: 

And I used the following Python script to randomly generate a number between 2 to 272 (since the first row is the header) 10 times: 

  1 #!/usr/bin/env python
  3 import random, time
  6 def rand_int(start_num, stop_num, num_range):
  7     for i in range(start_num, stop_num):
  8         number = random.randint(1, num_range)
  9         print("Run: " + str(i) + " Number: " + str(number))
 10         time.sleep(0.1)
 11         print("----")
 12     return number
 15 if __name__ == "__main__":
 16     result = rand_int(2, 11, 272)
 17     print("Congratulations to the person with Number: " + str(result))

The result was below: 

$ python
Run: 2 Number: 11
Run: 3 Number: 234
Run: 4 Number: 253
Run: 5 Number: 207
Run: 6 Number: 203
Run: 7 Number: 264
Run: 8 Number: 20
Run: 9 Number: 41
Run: 10 Number: 106
Congratulations to the person with Number: 106

I will notify the 106th person on the spreadsheet and arrange for shipping of the book. Thanks again for your support! I hope the blog and book have brought value to you. 

If you have a celebrated holiday at the end of the calendar year, I want to wish you happy holidays! If not, happy coding! 



Tuesday, November 7, 2017

Fun Alexa Skill for Mastering Python Networking

I recently created an Amazon Alexa Skill called "Mastering Python Networking Facts". It went live yesterday. You can check it out here: It will give you a fun fact about the book Mastering Python Networking (Packt Publishing, June 2017) that was published earlier in the year.

Although it is more fun to use this on an Alexa-enabled device, such as Echo Dot or Echo, You can test the skill, and any other skills, without such device. You can use:

1. Web-based EchoSim, Remember to sign in with the same Amazon account with the Skill enabled and allow the browser permission to use the microphone. Press the space bar to speak to the instruction and let go to hear the result.
2. Mobile App Reverb, Use the link on the page to choose the appropriate iOS or Android app. Remember to sign in with the same Amazon account.

After enabling, an example of the usage would be:
[User] Alexa, open Mastering Python Networking Facts.
[Alexa] The book has a total of 426 pages, more than 100 pages than originally estimated.  
It is a variation of the Alexa Skills Fact Template with two important differentiation:

1. The backend Lambda function is written in Python instead of Node.js. Only seems fitting that a skill on Python book should be written in Python, right?
2. The 'facts' were populated in DynamoDB table so the content is decoupled from the Skill itself.

In a later post, I will show you how to write the skill.

Leave me a comment of how you think the Skill can be improved.

Happy Python Hacking!


Wednesday, October 4, 2017

Mastering Python Networking Book Charity Donation Tracking

This is the place where I keep track of the charity donations from the royalty proceeds of my book, Mastering Python Networking (, by Packt Publishing.

Please note that I plan to donate 100% of the proceeds to charity, but would like to research the charity projects first before my donation so the proceeds might not be donated at the same time I received them.

[Update 11/05/2018] Second Edition was released on August 28th, 2018 (! I will donate the proceeds to charity from the second edition as well.


June 2017

- SmileTrain (
- Tzu Chi Foundation (

August 2017

- Tzu Chi Foundation (
- Python Software Foundation (

September 2017

- Lake Washington Schools Foundation Pantry Pack (
- 21 US Virgin Island Relief Fund (
- Tzu Chi Foundation (

October 2017

- PyLadies (
- Tzu Chi Foundation (
- Python Seattle Chapter thru PSF
- Humble Bundle for PSF

November 2017

- Tzu Chi Foundation (
- Imagine1Day (

December 2017

- Tzu Chi Foundation (

January 2018

- Humble Bundle (
- Tzu Chi Foundation (
- Leukemia & Lymphoma Society (

February 2018 

- Tzu Chi Foundation (
- Every Town for Gun Safety (

March 2018

- Tzu Chi Foundation (

April 2018

- Tzu Chi Foundation (

May 2018

- Tzu Chi Foundation (

June 2018

- Fundraiser for Mkwanazi Compassion International

July 2018

- Tzu Chi Foundation (

August 2018

- Tzu Chi Foundation (

September 2018

- Tzu Chi Foundation (

October 2018

- Tzu Chi Foundation (
- Lake Washington School District ( 

November 2018

- Tzu Chi Foundation (

December 2018

- Tzu Chi Foundation (

January 2019

- Tzu Chi Foundation (
- Humble Bundle (

February 2019

- Tzu Chi Foundation (

March 2019

- Tzu Chi Foundation (

April 2019

- Tzu Chi Foundation (

May 2019

- Python Software Foundation 2019 Q2 drive (
- Tzu Chi Foundation (
- Humble Bundle (

[To be continued..]

Thursday, July 6, 2017

Mastering Python Networking Book Q&A

It has been an incredible last few months for personal and professional growth in writing and publishing my first book, Mastering Python Networking ( Link), by Packt Publishing. Packt has a wonderful supporting team for the book, from content editing, copy editing, to graphic design. It has been a great book publishing learning experience for me.

For those who were curious about the experience, background story, and other aspects of the book, I have put together this list of Q&A's based on what people have asked me. I will add to the list when new questions arises.


Q. What is the motivation for the book? 

A. When I was writing about the book, I try to answer the question of, "If I am a network engineer trying to learn about automation and SDN, what would I need to know?" In other words, this is the book I wish I had a few years ago when I started down the network automation and SDN path. I hope to help others to avoid the mistakes I made and shorten the learning curve.

Q. How did you get the opportunity from Packt Publishing? 

A. This blog! I think the OpenFlow Tutorial entry along with some of the other work I have done for InternetworkExpert opened the door for me on this one.

Q. What is the book about? 

A. You can read the book description here. Basically it is about how to automate network tasks with Python packages.

Q. Where can I get the book? 

A. I am glad you asked! You can get the book here on Packt website or Amazon.

Q. Can I take a look at the book first before purchase? 

A. Sure! This book is part of the Packt subscription library that you can start a 30-day free trial for.

Q. Where can I get the code used in the book? 

A. You can get the code from the book page as well as the Packt GitHub repository.

Q. What are you doing with the money from the book? 

A. All royalties from the book will be donated to charity, although I have not decided where yet.

Q. Are you interested in writing more books? 

A. Absolutely! But I need to take a break first to recharge. :)