February 13, 2020

Flexible work schedules - not just an employee perk

For many of us, programming is a hobby as well as a job. But, I can say that for most of my professional career, as much as I enjoy programming, I didn’t really enjoy having a job as a programmer. That’s a shame because you would expect that if you do something that you love, you’ll also enjoy doing it for a living, but somehow it wasn’t that great. Read more

January 18, 2020

My Python setup for 2020

My Python setup used to change a lot, as I would find ad-hoc solutions for my needs. These days I’ve settled on a Python setup that satisfies pretty much all of my different use cases and is easy to use. It is composed of these tools: Pyenv for Python versions Pyenv is nice in the sense that it makes it a breeze to try and use new Python versions that don’t come bundled with your OS. Read more

December 13, 2019

Hacking team communications

One of the daunting things in managing a team is being up to date with what is going on. On one hand, it’s crucial to be up to speed with the team’s progress, but on the other, I hate continuously asking about status or dreadful standup meetings. I guess being an individual contributor up until now, I remember not enjoying this type of management practices. It took me a while to figure out a technique that works well for my needs: Read more

August 10, 2019

Meeting protocols

Engineering teams have a few types of meetings that repeat themselves: weekly, 1:1s, design review, etc. I found that for each type of these meetings having a concrete protocol, firm recurring schedule (where applicable), meeting record, and the meeting doc shared in advance between the members have great benefits, mostly: Individual expression - team members know they’ll get an appropriate stage for their ideas/complaints/feelings so they can express them to me and the other team members in a (hopefully) proactive way. Read more

August 5, 2016

Designing Pythonic APIs

Learning from Kenneth Reitz’s Requests When writing a package (library), providing it with a good API, is almost as important as its functionality itself (well, at least if you want some adoption), but what makes a good API? In this post, I’ll try to provide some insights on that question by comparing Requests and Urllib (part of Python’s standard library) in a few typical HTTP usage scenarios and see why Requests has become the de facto standard among Python users. Read more

March 18, 2016

API and Microservices Management with Kong

Hi all, At the last PyWebIL meetup I took the stand and gave a talk about one a very interesting open-source project - Kong. Kong is an API and microservices management layer that serves as a reverse proxy to your API’s while taking care of generic actions such as rate-limiting, authentication, monitoring and much more. One of it’s key benefits is that it is very plugable, hence it is easy to add your own custom logic (I actually enhanced a plugin to fit my needs). Read more

December 12, 2015

Pycubator - Open Source Python Training

Preparing to teach my first Python class, I searched the web for teaching materials I can use and came up almost empty handed. There is a great variety of Python open books like Dive into Python and How to Think Like a Computer Scientist but they are all for autodidactic purposes and not for classroom teaching. Pycubator is my attempt at establishing an open source Python training slides and exercises that the community of Python teachers can use and hopefully contribute to. Read more

September 23, 2015

Project-based learning

Context The Python course I’m instructing at Avratech (see earlier post and CNN story) is advancing and the students are already a month and a half into their group projects. This post is about my personal experience with shifting my class from teacher-led learning to project-based (learning), but first, have a look at the 5 beautiful projects they’re working on (you might want to use Google to translate the websites if your Hebrew reading skills aren’t in shape ☺): Read more

August 29, 2015

Optimization Tale

I was asked to optimize our web API service. This was the first time I ever experienced anything of that sort so I was pretty excited about it. I read a lot of blog posts and Stack Overflow questions about optimization but still wasted some time on optimizing the wrong parts. Following is the lessons I learned, and some pitfalls that you can avoid on your next optimization task. Locust vs Jmeter The first you want to do when optimizing anything is to be able to measure it’s performance. Read more

July 10, 2015

Teaching Python to Haredim (and a CNN visit)

For the last couple of months I’ve been involved in a great project: getting Haredic (ultra-orthodox jews) man into the software world! Last week, we got an exciting visit from Oren Libermann, a CNN reporter, who published this nice story. My job in the training process is to teach them the Python programing language. Were doing a 3 month course, in which we go from learning the basic features of the language to writing a full blown (but small) software project. Read more

Powered by Hugo & Kiss.