Last post

The Blaag

More Posts

Fair warning up front: this is not a Terraform, AWS, or Elasticsearch tutorial. You'll need to know a bit or read the docs to apply the examples. When I wanted to add the AWS version of ELK (Elasticsearch, Logstash, Kibana) which is Elasticsearch, Cloudwatch and Kibana, I hit a road block that Terraform did not support provisioning the actual streaming of logs from Cloudwatch to Elasticsearch naively. Googling lead me approximately nowhere, and I had to devise a solution from scratch.



In addition to software development and maintenance, I also teach. I give courses in Python and DVCS (Git and Mercurial), and I also do custom-build courses for a specific team or company. The courses have a strong focus on understanding by solving problems, with theory intermingled with exercises and discussion.

All courses are given in Swedish or English, with course material and exercises in English.

Basic Python

This is a course for those who already know programming, and would like to learn Python from the ground up, or for the developer who has done some work in Python but wants a broader knowledge and foundation.

During the course we will work with a strong focus on practical knowledge and learning by doing, so that attendees can work independently with Python after the course. A large amount of exercises are built to give the oppurtunity to use test-driven development to explore Python, and discussion of the exercises gives a deeper understanding of the oppurtunities that the language offers.

This couse is a full-day course. The attendees are required to have basic programming and computer knowledge, and to bring their own laptop to be able to complete exercises.

Course contents

  • What is Python, and what is it not?
  • Basic syntax
  • Builtin data types
  • Basic constructs
  • Comprehensions
  • Ideomatic ("Pythonic") Python
  • Tools for testing and TDD
  • Introduction to Object Oriented Python
  • The standard library
  • Text parsing and manipulation
  • Using databases
  • Writing web applications
  • Servers and asynchronous tools
  • Automate and integrate with other processes
  • Python packaging and the Package Index (PyPI)
  • Python 2 vs 3
  • Alternative Python implementations

Advanced Python

In contrast to the basic Python course, this course is for the Python programmer who wants to add depth to his Python repertoire, and learn the ins and outs of the language.

The course has a project-like structure where we build a product from the ground up, iterating and enhancing as we learn new tools.

This couse is a full-day course. The attendees are required to have some Python knowledge, and should ideally have worked with in a Python project or two. Attendees must bring their own laptop to be able to complete exercises.

Course contents

  • Introspection
  • Third party tools for Python development
  • Synthetics
  • Building web applications on WSGI
  • Advanced Python Object Orientation
  • Integration with C
  • Run-time code/AST manipulation
  • Consuming the Internet with requests
  • Profiling Python code
  • Strategies for parallellism
  • Documenting Python with Sphinx
  • Strategies for supporting Python 2 & 3