Switching from WordPress.com to Self-Hosted Site

I tried to host my blog at WordPress.com for a while to keep my costs down and experiment with my writing and blogging before I made more of an investment into this activity.  I decided to move away from WordPress.com today because I’m committed to doing more writing and content creation about my interests.  You only get better when you practice what you want to get better at doing.  Also, I could not alter my WordPress theme without paying additional money to make changes.  I thought if I’m going to pay money to make changes and customizations then I want more control over what I can do with my site.

I’m looking forward to writing more this year and maybe publishing a couple of ebooks.  If you want to follow me come over to http://davidedgertonjr.com.

Really Been Busy

I’ve been busy with work and getting a project off the ground so I haven’t had time to write like I wanted to.  However, I do have an idea for a couple of ebooks so I may start working on those and provide some of the pieces I write from those on my blog.  We’ll see how that goes but for now I’ve got my head down on a major project at work.

Leaving 2014 Behind

2014 was a great year.  A lot of good things happened so on the last day of the year I want to reflect on the things I was to continue to do, the things I want to change, and the things I want to stop doing all together.  While I have never done well with New Year’s resolutions it is always a good time to take a pit stop on the journey called life.  Coming into 2015 here are a couple of things in those areas I mentioned:

Things to Continue:

  • Healthy eating habits
  • Work/Life Integration
  • Being a good dad and husband

Things to Change:

  • Financial habits – manage resources better
  • My approach to work – better productivity with the time I have
  • Better decision making

Things to Stop Doing

  • Taking non-value added shortcuts
  • Comparing myself to others
  • Procrastination of taking leaps of faith

Everyone has a list like this and I encourage you to take the time to write it down so you can see it and do something about the areas of your life you want to impact.  Happy New Year!

I’m Looking Forward to 2015

I’m sitting here thinking about 2014 and all the great things that occurred.  My family is doing well and it health, have a new job, and I continue to have opportunities to pursue my passions.  As I look to the new year I’m entering the year with a renewed focus on a couple of life areas:

  1. Health – I’m really focusing on getting my health where it needs to be.  I’m planning to lose weight and get the body moving more this year.  I’ve started making progress already but I need to put my foot on the gas to make progress.
  2. Ventures – I’ve been teaching more which I thoroughly enjoy.  I’m getting more into not only statistics but more data science topics so I plan to explore this area even more.  I’ve started to pick up the Python language and have some ideas for some products and services I would like to build.  Once I get comfortable coding I plan to attend a couple of hackathons this year to practice the process of coming up with an idea and building a prototype.  Also I have a couple of CDs worth of music to release so this will be the year to get that music out there.
  3. Family time – I want to get things to a point where I have more work/life balance or work/life integration.  That is going to be challenging but I know I will find opportunities to make it happen

I don’t know if I’m making resolutions but I know I’m making positive changes and going in the right direction.

My Experience Teaching Stats and Python

I made it though my first 3 classes teaching statistics and python.  It has been a learning experience for sure.  We covered descriptive statistics, probability, normal distributions, correlation and regression.  In Python we covered functions, modules, object-oriented programming, and plotting.  For our last class we will get into Excel integration, web and desktop development, and API’s.

Teaching Statistics and Python At the Same Time

Wow,…I have done a blog post in a long time.  I have to do a better job of blogging which I commit to going forward.

Starting next week I’m going to be teaching statistics at the university again which I really enjoy.  This time I’m looking to incorporate the Python language into  the lectures instead of Microsoft Excel or SPSS.  I recently started working with the language to stay in tech shape and learned about its use in data science and business analytics.  I’m looking to introduce my new found interest in the language to my students to help them have exposure to the language and what it can do.

More to come and hopefully more consistent blogging as well.

FlaskVoice – Part 1: UI Design

I came up with a simple name for my Google Voice alternative called FlaskVoice.  I’m going to work with the Flask framework to build this tool and have it interface with my Twilio account to build my own personal IVR and voicemail system.

With a project like this that I’ve never done before, the hardest part is figuring out where to start.  I thought the easiest place to start is with some use cases and a simple UI to capture the basic functionality.

I took a look at the Google Voice interface and mapped it out to see where things were placed and to get a general feel of the application workflow.  Here is a shot of the sketch I completed of the interface:


To start I thought that I would basically need a table structure to show the list of calls, texts, and voicemails I have stored in my Twilio account.  At this stage I’m not trying to do all the things you can do with Google Voice but I do need to cover the basic functionality of listing all communications with my Twilio phone number.  Based on that requirement I came up with a simple UI design that provides a list of the interactions with their respective type, date, who made the call or sent the text, and the content of the message.  Here is the UI design I sketches out for the app:


It includes a label for the logo and a list of transactions that will be displayed within the admin interface.  We may revisit this after we build and implement the basic application but for now this will work.

If you are wondering about the sketch pad I used I bought some great products from a company called UI Stencils (http://www.uistencils.com) that makes stencils for building web apps, mobile apps, and anything else you want to build.

In the next post, let’s look at the data model for the application and see how we can use Flask and the examples I have to build this out.

Building a Google Voice Replacement with Twilio and Python


I think I’ve found a project I want to work on to learn how to develop web applications with the Python language.

I have been a fan of the Twilio API for a year after completing the Ruby exercises on Codecademy.  I’ve enjoyed writing small snippets to do small things like send my wife an SMS to say I was coming upstairs from my home office.  Recently I started using my Google Voice number to facilitate calls with my students that I teach at various local schools.  The app is great when it works and I have not been getting calls passed through to me the way they should.

So I decided build a Google Voice alternative with Twilio and Python.  While I don’t know enough to simply start coding the app, I have enough of the basics with the language and my technical background to start putting together the app.  This will be a great way to create something useful while learning the nuances of the Python language and its ecosystem.

So the next series of posts will be my entire process for putting together what I call a “Personal IVR and Voicemail System” with Twilio and Python.  I’ll include the code I create or use from the help docs to build the solution.

This will be interesting, fun, and challenging at the same time.

Python – My New Toy


I haven’t written anything in a while so I failed to live up to my once-per-week blogging commitment.  That’s okay since I’m only doing this for me but I will work on posting a little more frequently.

Anyway, I recently discovered the versatility and power of the Python programming language.  How did I come across this wonderful tool and never had an opportunity to work with it before is something I wondered.

I teach a statistics class for a local university in their MBA program.  One of the things I noticed was that the students had weak Microsoft Excel skills as a whole.  That observation led me to think about introducing something else to help with the computational part of the class that might also be fun to work with during the process.

I remembered one of my coworkers at my last job mentioned that she was working on a project that involved using Python for data analysis.  At the time I didn’t give it much thought.  Then I was on Codecademy and saw that there was a Python module.  I figured it was worth a try so I starting working with the lessons on Python.  5 days later I was through the entire course (between work and family commitments) and was totally stoked about the language.

I went out and bought a Raspberry Pi; which uses Python as its coding language of choice.  After hooking the unit up to my LCD and plugging in a wireless USB mouse and keyboard I was off and running.  I was able to write some scripts and do some neat things with this computer that was the size of a credit card and only cost me $35.

Now I’m really stoked.  I found some modules to help with my statistics class.  I started playing with the Numpy and Scipy modules and was able to do some of the analyses that my students complete in a short amount of time.  Where I fell off the boat totally was when I went back to Codecademy and learned how to use Python to interact with APIs.  I started researching APIs that had Python SDK or wrappers and found some that I use to make cool stuff.

When I was learning Ruby a few years ago I discovered a framework called Sinatra that made it really easy to write web apps and apis.  I found that Python has a similar framework called Flask that I’m experimenting with to build small apps.  The Rails equivalent is called Django so I’m thinking I will be spending some time with these two frameworks to understand when to use one versus the other.

In the end, I think I found a new toy that my help me do all the things I want to do with the same language.  That is in itself very cool.

The 6P Framework for New Job Onboarding

When I worked on my MBA I focused on marketing and learned about the 4Ps of marketing framework (price, promotion, product, and placement). I always thought this framework was fundamental to my understanding of the marketing function and how it adds value to the organization. It was also easy to remember to the exam.

I thought it would be a great exercise to come up with a similar framework for starting a new job at a new company. I started a new assignment with a large manufacturing company this week and I’m using the following 6P framework to get my feet wet:

  • Products, Positioning and Proposition. I think it is important for every new employee to learn as much as you can about the products and services the company creates and distributes to customers. This knowledge will help you connect the work you are doing to the end deliverable that is going to the people the organization was created to serve. This leads to the company’s value proposition and what makes it different from others in the industry. This is the “what” of the equation and it is important to know what you provide to the market.
  • Processes and Procedures. The company over time has developed its way of doing things and it is important to understand why certain processes and procedures are in place. This is the “how” that every employee should understand and the context for why the process was created. Everyone get oriented to the employee processes and procedures from the human resources department as a part of the onboarding process, but employees should also learn more about how the company operates its business in general.
  • Policies and Purpose. The policies are the boundaries of the organization. These rules and regulations help you put the organization and its work into perspective and help you understand the space where you can operate. Along with learning the policies you should learn the purpose of why those policies were put in place. No one wants to be told what to do and not do without understanding the purpose so take the time to ask questions about why the policies were created.
  • People and Personalities. It is always good to learn as much as you can about your team, your manager, your organizational structure, and the senior leadership of the company. It is also just as important to learn about their way of working, their interests, and their incentives. This knowledge is good to have so you can understand how decisions are made and the motivation around those decisions. You should spend time understanding the roles of the people you interact with and their work styles so you can prepare and be equipped to be effective in your role.
  • Perception and Perspective. The organization you work for has a reputation in the industry and it is good for you to know where the company stands in the market it competes. I think it is good to know what customers, collaborators, and competitors think about your organization and its impact on the industry. Do some research on the industry and its participants to find out how your company is viewed and what the industry perception is of your organization. Also look at the industry factors that may affect your company and begin to get familiar with the impact those factors have on the company’s performance.
  • Performance, Potential, and Possibilities. Last but not least, do all you can to understand how your performance is going to be evaluated and measured. You need to be clear on what you need to do to meet and exceed expectations of your performance while learning how to manage those expectations. I had a previous manager teach me that your performance informs your manager and the organization of your potential. When company leaders and persons of influence see your potential, then you will gain the exposure that leads to new possibilities for your career.

This is the framework I’m using to navigate my new organization. If you have suggestions please feel free to make comments.