RSSAmplifier

Blog

noamelf

Recent content on noamelf

noamelf.comRSS feed ↗25 posts

Latest posts

Building an LLM Wiki for Work

A couple of weeks ago, Andrej Karpathy tweeted about using LLMs to build personal knowledge bases – what he calls “LLM Wikis.” He followed it up with a GitHub gist laying out the full pattern: raw sources go into a directory, an LLM reads them, and incrementally builds a structured wiki of interlinked Markdown pages. The LLM does the tedious bookkeeping – cross-references,…

Managing GitHub Teams at Scale with Terraform

During a recent reorganization, I was tasked with updating GitHub to reflect the changes. Doing the changes manually was out of the question due to the scope of the updates. Initially, I considered writing a custom script to handle the task, but I realized this was a golden opportunity to transition the tedious job of GitHub management to code. Enter Terraform. The Problem Managing GitHub teams…

Easily Mute and Unmute in Google Meet with Custom Shortcuts using Hammerspoon

Introduction As a frequent Google Meet user, I often find myself in situations where I need to quickly mute and unmute my microphone or toggle my video on and off during meetings. In my quest to make these tasks more efficient, I discovered Hammerspoon , a powerful automation tool for macOS. In this blog post, I’ll share a handy script I created using Hammerspoon to set up custom shortcuts…

Kanban is simply great!

Transitioning from team to group management, I wanted to pass some of the techniques I gathered to the team leaders I’m managing, and one of them is to manage ongoing work with a Kanban board . It serves 2 related objectives: It makes work items status highly visible It emphasizes important steps in work items delivery This simple objectives may not sound like a big deal but it has great…

On Mentorship

Mentoring is something I do quite often as part of leading a developer group, but I rarely do it consciously, it mostly just happens in 1on1s and code reviews. I notice many times that I’m not fully satisfied with the end results of a project, but kind of let it slide and settle on the produced results. I do give feedback etc. but if it’s still not right, I just go on.

Team Management Brain Dump

I’m receiving another team to manage directly, which is good news! But it also means I’ll have a lot on my table. I wrote down this list of things that support efficient work for myself to follow: Single “in progress” task - make sure each team member is working on a single task at each given point in time to avoid confusion and context switch overhead. If a task is stuck,…

4 insights from High Output Management

Wanting to broaden my knowledge in management, I picked up High Output Management after I saw it come up a few times on Hacker News. Andrew Grove’s writing is very down to earth and practical and I had quite a few a-ha moments. Here are 4 ideas that stood out for me and I use in my day to day work. 1. Variable Inspection Later, when we examine managerial productivity, we’ll see that when a…

Airflow Summit 2020 talk

Inline with the Corona pandemic, I gave my first online conference talk! The Airflow Summit 2020 was wonderfully organized and I must say I liked the ability to participate in a conference without leaving home. Giving a talk to a computer is a very different experience then giving it live, a lot less interaction with the audience but on the plus side, it’s much less stressful as well. At…

Encouraging flexible work schedules

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. This is not to say…

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.…

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…

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…

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…

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…

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…

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…

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…

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…

Coroutines in Python

In the last Pyweb-IL meetup I gave a short introduction talk about coroutines and their usage in Python. It covers the basic concepts of coroutines and how they can be used in Python. Check it out!

A selfish justification for altruism (poster)

Next week I’m presenting a philosophy paper I wrote about altruism (see previous post ) in a conference at Tel-Hai college! Alexandra, my girlfriend, came up with the idea (and executed it on Photoshop). The triangle represent the main 3 concepts in the paper: altruism, autonomy and well-being. Through those triangles (concepts) the image (life) looks sharper. I’d Love to hear…

Ideal workplace wishlist

Looking for a job, I wrote down things that I find important so I can narrow my search and be more focused. I got plenty of inspiration from Julia Evans post on the subject, so I thought it will be nice to share my list too. So, in my view, an ideal employer: Is creating software to promote meaningful causes that I can relate to. Has an open and transparent culture that promotes teamwork,…

A selfish justification for altruism

During college I was lucky enough to get my parents old car. Driving to college was much nicer than using public transportation or hitchhiking. Considering I didn’t buy the car myself, and the fact that I used to hitchhike before I got one, I had an ambivalent feeling towards picking other hitchhikers. On the one hand I totally identified with their need, and on the other, sometimes I just…

About

My name is Noam Elfanbaum, and I live in Hulata, a beautiful spot in northern Israel, with my wife, two kids, and our dog. My career journey has been shaped by a passion for Python and community-building. I have experience teaching Python classes, freelancing, and organizing vibrant Python community events like PywebIL and Pycon Israel . Previously, I worked at Melanox (now Nvidia) and Cloudlock…

Projects

I have a few side projects, these are the more interesting ones: codeowners-multi-approval-check - Extends GitHub’s codeowners feature by requiring all codeowners listed to approve a pull request, and not just one of them as it works by default. Pycubator - Python training course 1on1questions - Random 1on1 questions to help liven your 1on1s Budget Fixer - Tag your expenses using state of…

Talks

I enjoy giving public talks about subjects I investigate. Here are links to my previous talks: Bootstrapping a ML platform (AirflowSummit 2020) - slides Let’s build a Python profiler in 25 LOC - slides , europython2018 video Designing Pythonic APIs- slides , pyconil2017 video API and Microservices Management with Kong - slides Introduction to Python coroutines - slides