Learning Python programming

This is a short post about my experience in learning programming, and Python in particular – how it’s been going, what’s worked and what I’m struggling with. I’ve spent about two hours per day, five days a week, for about 1-2 months now.

As background I’ve worked in IT (consulting, project management, ERP systems, specifically HR&Payroll) for a long time. When I was younger I never really had an inclination to learn programming – I took one course of Java in college, but didn’t like it as the instructor wasn’t very good.

Here are some lessons / nuggets that I’ve found helpful:

  1. Knowing why I’d want learn is motivating for me. I want to be able to hack simpler solutions myself, and so that I can become a better entrepreneur / consultant. Ever since my experiences with Move Correctly , I’ve found that it’s frustrating to have to wait for developers to complete work.  Waiting can be especially taxing if you choose to go with a fixed price project, which by default leaves you less leverage on the project schedule /completion date…. (separate topic..)
  2. I did the Python course on codeacademy – however I felt that many times there was not enough instruction in the course (no videos), so I would bang my head against the wall for sometime an hour / two trying to get some simple function to work.
  3. The Datacamp Intro to Python for DataScience was quite fun, they award you xp based on successful answers/code, however it wasn’t very challenging and I don’t think that I’d learn to write actual code with their approach. They do have other e.g intermediate courses, but to pay 29USD per month – compared to Udemy’s pricing -doesn’t match up.
  4. In December I started taking the “Python for DataScience and Machine Learning bootcamp” and I’m about 40% through it – mostly the data science parts. After going the through the crash-course I’ve learned about Jupyter notebooks and Python libraries such as Numpy, Pandas, Matplotlib, and Seaborn. I like statistics, and it’s cool to be able to extract meaning out of masses of data for sure. However I have a feeling that this post is correct – ‘Data preparation accounts for about 80% of the work of data scientists‘, and I’m not sure that’s for me… Well -this course has the Machine Learning portions coming up, so let’s see. Overall great value, as I picked up the course for 15 USD.
  5. I’m also taking the “Python Mega Course”  and this has been really great, I can highly recommend it, and great value at 10 USD (year end sale). The best portions so far have been:
    1. Learning to write a Windows GUI program (using Tkinter library), with a connection to a SQL database (SQL lite or PostGreSQL).
    2. Learning to write a Python Flask Web app, setting up a Git/Gitbhub profile and deploying the app to Heroku.
    3. Learning the Bokeh library for data visualization on the web, example here. It’s taking a csv file with volcano locations (latitude /longitude) and using the Folium JS library for the viewing in the browser. If you are interested the code looks like this.
  6. Overall I feel I’m now at the stage where I want to start building applications that I’d be interested to see myself – targeting from start of Feb. I’m also at a stage where I can write simple code for myself, but need frequent references to libraries/google/stackoverflow etc.
  7. I will likely also retain a “trainer / programmer” via freelancer.com to help me with the upcoming challenges. A bit like the Thinkful part-time Python bootcamp, but hopefully cheaper :-). I’m planning to try out say 10 sessions/ lessons with another Python programmer to review any questions / issues I’ll have, as well as concepts/tricks etc.

Here are some development projects I’m considering to try out:

  • Simple game using either Kivy or PyGame frameworks
  • Python Django website with user login using social IDs, Paypal/Stripe integration, user data entry etc.
  • An digital health related data visualisation, perhaps with API pulls.

Look for an update on these within one month.. For now if there’s anything you would like me to specifically work on, pls drop me a line here.

10 thoughts on road-schooling

-after a three month experiment with two kids and a wife working

From August to October 2016 we were living in Airbnb’s, while my wife (Jolene) worked and I was road-schooling the kids. I hear you – what the heck is road-schooling? Simple, it’s home-schooling , but it’s done on the road. Now schooling is a somewhat restrictive terms, I’d call it learning while on the road..

Now before you think I’m a nutter that doesn’t believe in ‘structured’ education, let me say this: both Jolene and I have had great experiences in the public schools we’ve gone to from Finland to Singapore to the US. However just because the classroom format of putting 30 kids in one class, having one teacher up front “teaching” – was invented 200 years ago – and it’s worked so far – doesn’t mean that it’s the optimal for all kids.

 

Really, it comes back to what do we believe “education” is for? Is it so that once kids have learned a “high-school equivalent” (whatever that means) amount of “stuff”, which they will prove by writing down this “stuff” on paper, from their own memory – then they will be ready for college? College also seems to be the default aspiration, which is mostly unquestioned.

What are the goals then of education? IMO, as a child has become an adult, the young adult is able to think critically for themselves, they are able to learn new knowledge and new skills by themselves, and they have found a purpose / mission / ulterior motive, which they are pursuing. Now I’m not saying it has to be a ‘save the world’ type thing, but something larger than yourself is probably beneficial..

Now did this trip in particular achieve the above? No. But I think by showing them that there is something larger out there, there is a vast history which we all are connected to, they can better find their own way in the world. And maybe the next trip, when they are a bit bigger…

 

On to the experiment

As I’ve gotten older, and hopefully wiser, I’ve finally taken to heart the advice from my hero – Tim Ferriss – and learned that it’s best if you “try out shit”. See if it works. If it doesn’t  – OK, you learn from it. If it does work – great!

So we did an experiment where we travelled through Europe for three months. Sam was 10 this year, Kate just turned 7.

We visited Finland/Helsinki:

We visited Italy: Rome, Pisa, Florence:

 

We visited France: Paris, Normandy D-day beaches, Mont-saint-Michel, Bayeux tapestry, Loire valley castles:

And we hopped to Barcelona:

 

 

What I would do differently based on this experience:

  1. Kids hate museums. Yeah, you probably could have told me that earlier, but I’m thickheaded, so I guess we had to try… It’s not that they specifically hate everything in museums – but the format is usually boring… Read this tiny script about this ancient spoon which they found in some backwater? Yay. There were a few exceptions to this which the kids liked, more on these later.
  2. We were usually in one place for about one week. The idea was that we’d not have to be switching, travelling too often and give ourselves a more leisurely pace to explore. Well – it was still too harried. We had booked all the flights in advance, but e.g finding new Airbnb accommodation for each week – turned out to be a chore. With hind-sight, I’d probably spend two weeks in the more interesting locations (eg. Florence for me).

What worked in terms of learning, enjoyment: 

3. Unstructured play – there were several times when the kids were playing with say a swing, laughing, not a care in the world, no time frame set. No program to rush to, no lessons to attend. I don’t know about you, but I think that’s what being a kid is about.

4. Caen World War II memorial with the time-line of the WWII was really instructive and Sam now has a solid grasp of it, while he enjoyed it at the same time.

5. Visit farms, zoos – many times we’d visit a zoo or an animal farm, and since we’d be in no hurry the kids could feed the animals, hang out with them, while learning about the animals and the environment ‘by osmosis’ almost. Especially Kate seemed to enjoy this.

6. One of us not working... (me :).. It would have been a pain to have to school the kids, work and travel. Now Jolene was able to hold the fort financially, while me and the kids did the chores – including making home-cooked meals, shopping for groceries etc. For example in Italy even the ready-made dinners tasted great!

7. Traveling together with family: we had one week together in the Loire valley with my mom. This worked out great since we all got to experience a new place together, my mom is a franco-phile, so she could guide us, speak to the locals etc.

8. We did physical education everyday. We’d go out to local parks to run, sprint, swing, play soccer, climbing, jumping etc, and at home do hand-stands, planks, push-ups, wheelbarrows, rows etc. It just takes a little bit of imagination, but it’s totally worth it. The kids would be sweaty and work up an appetite, while it helped counter-act all the desserts/gelato/cappucino we ‘had to’ try everyday…

9. Khan Academy & IXL

Both of these online resources were fabulous. For math both Sam Kate were able to breeze through their grade level on Khan Academy (k to 2 for Kate, 5th grade for Sam) math in less than three months. Now I’m not assigning any special status to the kids due to this – I just think that a good online system and one-on-one support are probably much more efficient than the standard class-room format.

10. Structured days

IMO it worked best to have a clear structure to everyday, eg along these lines:

Lesson 1 – 9AM to 9.50 eg. Chinese/Math/Swedish

Lesson 2 – 10AM to 10.50 Physical education (preferably outdoors)

Lesson 3 -11AM to 12PM – Science or Math

12PM-1PM  fix lunch, have the kids help out. Eat together as a family.

1PM- 2PM Relax/ read / prep afternoon / kids play on iPads

2PM— > Go out to visit sights, tourismo..

As a final tip, if you can combine your trip/road-schooling with visiting family, that’s a bonus as well. This year we got to spend time in Helsinki with my family, in Mississippi with Jolene’s brother and we’ve now moved to Gainesville where Jolene’s sister, mom and dad live as well. Especially for those of us who have lived away from family these are precious moments.

Thank you for reading this far – hope you enjoyed it 🙂

 

Chatbots for HR and payroll

Hi there,

This blog page is an experiment with creating a chatbot -or ‘conversational agent’ which can help an HR/Payroll organisation customer service agents to handle the routine, easier questions.

Service center agents often have to handle repetitive tasks which can be demoralising and unfulfilling (e.g. pre-qualification (what’s this issue about?) or authorisation (how can you prove you are John Smith)). The chatbot can do that instead.

Customers don’t like being put on hold or wait in a phone queue – the chatbot is always there and ready to answer questions. Finally customers don’t like to repeat themselves- since all the conversations are logged in the thread, the information is available also to a human customer service rep if required.

I’ve built this below CA (conversational agent) to be able handle simple queries like:

  • “can you send me my payslip”?
  • “What was my overtime balance for the previous month”?
  • “Connect with support team”
  • etc…

There is an “authorisation step” when you are requesting either a payslip or overtime, accepted name values are: “John”, “Sally” and “Pentti”.

These are just some simple examples, more can easily be configured. Give it a go here:

As you’ll note there is no back-end integration at the moment, however the conversational agent is able to greet the customer, understand the queries, do an authorisation check and direct her further if needed.

Pls let me know what you think in the comments, or contact me via the contact page.

Thanks

Oskar