{"@attributes":{"version":"2.0"},"channel":{"title":"noamelf","link":"https:\/\/noamelf.com\/","description":"Recent content on noamelf","generator":"Hugo -- 0.137.1","language":"en","lastBuildDate":"Wed, 01 Jan 2025 00:00:00 +0000","item":[{"title":"Managing GitHub Teams at Scale with Terraform","link":"https:\/\/noamelf.com\/posts\/2025-01-01-managing-github-with-terraform\/","pubDate":"Wed, 01 Jan 2025 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/2025-01-01-managing-github-with-terraform\/","description":"<p>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.<\/p>\n<figure class=\"align-center \">\n<img loading=\"lazy\" src=\"gh-tf.webp#center\" height=\"400px\"\/>\n<\/figure>\n<h2 id=\"the-problem\">The Problem<\/h2>\n<p>Managing GitHub teams and repositories at scale involves considerable manual effort, including:<\/p>"},{"title":"Easily Mute and Unmute in Google Meet with Custom Shortcuts using Hammerspoon","link":"https:\/\/noamelf.com\/posts\/mute-google-meet\/","pubDate":"Mon, 08 May 2023 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/mute-google-meet\/","description":"<h3 id=\"introduction\">Introduction<\/h3>\n<p>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 <a href=\"https:\/\/www.hammerspoon.org\/\">Hammerspoon<\/a>, a powerful automation tool for macOS. In this blog post, I&rsquo;ll share a handy script I created using Hammerspoon to set up custom shortcuts for these common actions in Google Meet.<\/p>"},{"title":"Kanban is simply great!","link":"https:\/\/noamelf.com\/posts\/kanban\/","pubDate":"Mon, 15 Mar 2021 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/kanban\/","description":"<p>Transitioning from team to group management, I wanted to pass some of the techniques I gathered to the team leaders I&rsquo;m managing, and one of them is to manage ongoing work with a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Kanban_board\">Kanban board<\/a>. It serves 2 related objectives:<\/p>\n<ul>\n<li>It makes work items status highly visible<\/li>\n<li>It emphasizes important steps in work items delivery<\/li>\n<\/ul>\n<p>This simple objectives may not sound like a big deal but it has great implications on the team&rsquo;s ability to deliver work predictably and reduce communication and process burden.<\/p>"},{"title":"On Mentorship","link":"https:\/\/noamelf.com\/posts\/on-mentorship\/","pubDate":"Wed, 27 Jan 2021 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/on-mentorship\/","description":"<p>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&rsquo;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&rsquo;s still not right, I just go on.<\/p>"},{"title":"Team Management Brain Dump","link":"https:\/\/noamelf.com\/posts\/mgmt-brain-dump\/","pubDate":"Wed, 07 Oct 2020 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/mgmt-brain-dump\/","description":"<figure class=\"mid\">\n<img loading=\"lazy\" src=\"brain-dump.jpg\"\/>\n<\/figure>\n<p>I&rsquo;m receiving another team to manage directly, which is good news! But it also means I&rsquo;ll have a lot on my table. I wrote down this list of things that support efficient work for myself to follow:<\/p>\n<ul>\n<li>\n<p>Single &ldquo;in progress&rdquo; 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, it goes to the &ldquo;blocked&rdquo; queue so it&rsquo;ll be clear that we have a problem.<\/p>"},{"title":"4 insights from High Output Management","link":"https:\/\/noamelf.com\/posts\/high-output-management\/","pubDate":"Thu, 30 Jul 2020 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/high-output-management\/","description":"<p>Wanting to broaden my knowledge in management, I picked up <a href=\"https:\/\/www.amazon.com\/dp\/B015VACHOK\/ref=dp-kindle-redirect?_encoding=UTF8&amp;btkr=1\">High Output Management<\/a> after I saw it come up a few times on Hacker News. Andrew Grove&rsquo;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.<\/p>\n<figure class=\"mid\">\n<img loading=\"lazy\" src=\"book-cover1.jpg\"\/>\n<\/figure>\n<h3 id=\"1-variable-inspection\">1. Variable Inspection<\/h3>\n<blockquote>\n<p>Later, when we examine managerial productivity, we\u2019ll see that when a manager digs deeply into a specific activity under his jurisdiction, he\u2019s applying the principle of variable inspection. If the manager examined everything his various subordinates did, he would be meddling, which for the most part would be a waste of his time.<\/p>"},{"title":"Airflow Summit 2020 talk","link":"https:\/\/noamelf.com\/posts\/airflow-summit-2020-talk\/","pubDate":"Mon, 27 Jul 2020 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/airflow-summit-2020-talk\/","description":"<p>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&rsquo;s much less stressful as well.<\/p>\n<p>At Bluevine we use Airflow to drive our ML platform. In the talk, I presented the challenges and gains we had at transitioning from a single server running Python scripts with cron to a full blown Airflow setup. Some of the points that I&rsquo;ve covered are:<\/p>"},{"title":"Encouraging flexible work schedules","link":"https:\/\/noamelf.com\/posts\/flexible-work-schedule\/","pubDate":"Thu, 13 Feb 2020 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/flexible-work-schedule\/","description":"<figure>\n<img loading=\"lazy\" src=\"work-harder.jpg\"\/>\n<\/figure>\n<p>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&rsquo;t really enjoy having a job as a programmer. That&rsquo;s a shame because you would expect that if you do something that you love, you&rsquo;ll also enjoy doing it for a living, but somehow it wasn&rsquo;t that great. This is not to say I&rsquo;m not grateful for earning a great living and working in a mostly interesting field, but that work can also be really fun! There are a few reasons I can think of why is that, but the main one I believe is that in many jobs, the playfulness and self-expression aspects are lost in a sea of seriousness, procedures, and politics.<\/p>"},{"title":"My Python setup for 2020","link":"https:\/\/noamelf.com\/posts\/my-python-setup-for-2020\/","pubDate":"Sat, 18 Jan 2020 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/my-python-setup-for-2020\/","description":"<p>My Python setup used to change a lot, as I would find ad-hoc solutions for my needs. These days I&rsquo;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:<\/p>\n<h3 id=\"pyenv-for-python-versions\">Pyenv for Python versions<\/h3>\n<p><a href=\"https:\/\/github.com\/pyenv\/pyenv\">Pyenv<\/a> is nice in the sense that it makes it a breeze to try and use new Python versions that don&rsquo;t come bundled with your OS. e.g. try out the <a href=\"https:\/\/www.python.org\/dev\/peps\/pep-0572\/\">Walrus operator<\/a> and Python 3.8:<\/p>"},{"title":"Hacking team communications","link":"https:\/\/noamelf.com\/posts\/hacking-team-communications\/","pubDate":"Fri, 13 Dec 2019 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/hacking-team-communications\/","description":"<p>One of the daunting things in managing a team is being up to date with what is going on. On one hand, it&rsquo;s crucial to be up to speed with the team&rsquo;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:<\/p>"},{"title":"Meeting protocols","link":"https:\/\/noamelf.com\/posts\/meeting-protocols\/","pubDate":"Sat, 10 Aug 2019 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/meeting-protocols\/","description":"<p>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:<\/p>\n<ul>\n<li>Individual expression - team members know they&rsquo;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.<\/li>\n<li>Higher participation - the protocol and schedule are known in advance, so members have time to prepare and articulate what they want to say.<\/li>\n<li>Taking turns - since everyone is used to the way the meeting works, it&rsquo;s possible to delegate the job of running the meetings between different team members - making it more a cooperative effort then the team lead role.<\/li>\n<li>Visibility of decision-making process - running the team and making the decisions is not being made in the head of the team lead, but is a visible, recorded process.<\/li>\n<\/ul>\n<p><img alt=\"Meeting protocols\" loading=\"lazy\" src=\"https:\/\/noamelf.com\/img\/pixel-cells-3947913_640.png\"><\/p>"},{"title":"Designing Pythonic APIs","link":"https:\/\/noamelf.com\/posts\/designing-pythonic-apis\/","pubDate":"Fri, 05 Aug 2016 00:00:00 +0000","guid":"https:\/\/noamelf.com\/posts\/designing-pythonic-apis\/","description":"<p><em>Learning from Kenneth Reitz&rsquo;s <a href=\"http:\/\/docs.python-requests.org\/en\/master\/\">Requests<\/a><\/em><\/p>\n<p>When writing a package (library), providing it with a good API, is almost as important as its\nfunctionality itself (well, at least if you want some adoption), but what makes a good API? In this post, I&rsquo;ll try to provide some insights on that question by comparing <em>Requests<\/em> and <em>Urllib<\/em> (part of Python&rsquo;s standard library) in a few typical HTTP usage scenarios and see why <em>Requests<\/em> has become the de facto standard among Python users.<\/p>"},{"title":"API and Microservices Management with Kong","link":"https:\/\/noamelf.com\/posts\/api-and-microservices-management-with-kong\/","pubDate":"Fri, 18 Mar 2016 21:19:00 +0000","guid":"https:\/\/noamelf.com\/posts\/api-and-microservices-management-with-kong\/","description":"<p>Hi all,\nAt the last <a href=\"http:\/\/www.meetup.com\/PyWeb-IL\/events\/228958390\/\">PyWebIL meetup<\/a> I took the stand and gave a talk about one a very interesting open-source project - <a href=\"https:\/\/getkong.org\/\">Kong<\/a>. Kong is an API and microservices management layer that serves as a reverse proxy to your API&rsquo;s while taking care of generic actions such as rate-limiting, authentication, monitoring and much more. One of it&rsquo;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).<\/p>"},{"title":"Pycubator - Open Source Python Training","link":"https:\/\/noamelf.com\/posts\/pycubator-open-source-python-training\/","pubDate":"Sat, 12 Dec 2015 17:35:04 +0000","guid":"https:\/\/noamelf.com\/posts\/pycubator-open-source-python-training\/","description":"<p>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 <a href=\"http:\/\/www.diveintopython.net\/\">Dive into Python<\/a> and <a href=\"http:\/\/www.openbookproject.net\/thinkcs\/python\/english2e\/\">How to Think Like a Computer Scientist<\/a> but they are all for autodidactic purposes and not for classroom teaching.<\/p>\n<p>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. It utilize <a href=\"https:\/\/github.com\/hakimel\/reveal.js\/\">RevealJS<\/a> to create stunning slides, that are actually written in Markdown and hence easy to use with source control, and the exercises uses and the exercises are actually <a href=\"http:\/\/jupyter.org\/\">Jupyter notebooks<\/a> so students can run their code straight away.<\/p>"},{"title":"Project-based learning","link":"https:\/\/noamelf.com\/posts\/project-based-learning\/","pubDate":"Wed, 23 Sep 2015 17:29:00 +0000","guid":"https:\/\/noamelf.com\/posts\/project-based-learning\/","description":"<h4 id=\"context\">Context<\/h4>\n<p>The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Python_%28programming_language%29\">Python<\/a> course I&rsquo;m instructing at Avratech (see <a href=\"http:\/\/thespoon.ghost.io\/ravtech-and-cnn\/\">earlier post<\/a> and <a href=\"http:\/\/edition.cnn.com\/2015\/07\/08\/world\/israel-ultra-orthodox-jews-high-tech\/index.html#\">CNN story<\/a>) 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 <em>teacher-led<\/em> learning to <em>project-based<\/em> (learning), but first, have a look at the 5 beautiful projects they&rsquo;re working on (you might want to use <a href=\"https:\/\/translate.google.com\/translate?hl=en&amp;sl=iw&amp;tl=en&amp;u=jewishtimes.avratech.co.il\">Google to translate<\/a> the websites if your Hebrew reading skills aren&rsquo;t in shape \u263a):<\/p>"},{"title":"Optimization Tale","link":"https:\/\/noamelf.com\/posts\/optimization-tale\/","pubDate":"Sat, 29 Aug 2015 16:38:46 +0000","guid":"https:\/\/noamelf.com\/posts\/optimization-tale\/","description":"<p>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.<\/p>\n<h4 id=\"locust-vs-jmeter\">Locust vs Jmeter<\/h4>\n<p>The first you want to do when optimizing anything is to be able to measure it&rsquo;s performance. I looked for a Python based (my favorite language) load testing solution and found <a href=\"http:\/\/locust.io\/\">Locust<\/a>. Locust is a quick and easy package to run a threaded load testing programs with nothing but Python code. Everything was great until I sadly realized that Locust aggregates the results, meaning: I couldn&rsquo;t get a <em>raw<\/em> CSV to store and analyze later on using graph tools of sorts.<\/p>"},{"title":"Teaching Python to Haredim (and a CNN visit)","link":"https:\/\/noamelf.com\/posts\/ravtech-and-cnn\/","pubDate":"Fri, 10 Jul 2015 14:13:48 +0000","guid":"https:\/\/noamelf.com\/posts\/ravtech-and-cnn\/","description":"<p>For the last couple of months I&rsquo;ve been involved in a great project: getting <a href=\"https:\/\/en.wikipedia.org\/wiki\/Haredi_Judaism\">Haredic<\/a> (ultra-orthodox jews) man into the software world!<\/p>\n<p>Last week, we got an exciting visit from Oren Libermann, a CNN reporter, who published this nice <a href=\"http:\/\/edition.cnn.com\/2015\/07\/08\/world\/israel-ultra-orthodox-jews-high-tech\/index.html#\">story<\/a>.<\/p>\n<p>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.<\/p>"},{"title":"Coroutines in Python","link":"https:\/\/noamelf.com\/posts\/coroutines-in-python\/","pubDate":"Sun, 10 May 2015 12:16:55 +0000","guid":"https:\/\/noamelf.com\/posts\/coroutines-in-python\/","description":"<p>In the last <a href=\"http:\/\/www.meetup.com\/PyWeb-IL\/\">Pyweb-IL<\/a> meetup I gave a short introduction talk\nabout coroutines and their usage in Python. It covers the basic concepts of coroutines and how they\ncan be used in Python.<\/p>\n<p><a href=\"https:\/\/noamelf.com\/intro-to-python-coroutines-talk\">Check it out!<\/a><\/p>"},{"title":"A selfish justification for altruism (poster)","link":"https:\/\/noamelf.com\/posts\/a-selfish-justification-for-altruism-poster\/","pubDate":"Sun, 26 Apr 2015 20:35:00 +0000","guid":"https:\/\/noamelf.com\/posts\/a-selfish-justification-for-altruism-poster\/","description":"<p>Next week I&rsquo;m presenting a philosophy paper I wrote about altruism (see <a href=\"https:\/\/thespoon.ghost.io\/a-selfish-justification-for-altruism-2\">previous post<\/a>) in a conference at Tel-Hai college!<\/p>\n<p>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&rsquo;d Love to hear you&rsquo;re opinion on it.<\/p>\n<p><img loading=\"lazy\" src=\"https:\/\/noamelf.com\/content\/images\/2015\/04\/poster-1.jpg\"><\/p>"},{"title":"Ideal workplace wishlist","link":"https:\/\/noamelf.com\/posts\/ideal-workplace-wishlist\/","pubDate":"Sun, 26 Apr 2015 08:15:17 +0000","guid":"https:\/\/noamelf.com\/posts\/ideal-workplace-wishlist\/","description":"<p>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 <a href=\"http:\/\/jvns.ca\/blog\/2013\/12\/30\/questions-im-asking-in-interviews\/\">post<\/a> on the subject, so I thought it will be nice to share my list too. So, in my view, an ideal employer:<\/p>\n<ul>\n<li>Is creating software to promote meaningful causes that I can relate to.<\/li>\n<li>Has an open and transparent culture that promotes teamwork, creativity and employees initiatives.<\/li>\n<li>Has talented people working for it, and a strong technical leader (that guides, but don&rsquo;t micro manage).<\/li>\n<li>Encourages open source, and participation of its employees in pro-social projects.<\/li>\n<li>Has interesting problems to solve and uses a wide range of technologies to do so.<\/li>\n<li>Has offices in [near-your-home] Tel-Aviv or allows for remote work.<\/li>\n<li>Cares about it&rsquo;s employees work\/life balance (because he understands it&rsquo;s significance to his employees and to the quality of the work they produce).<\/li>\n<\/ul>\n<h6 id=\"following-questions-to-ask-in-interviews\">Following questions to ask in interviews:<\/h6>\n<ul>\n<li>What do you feel about the product? Do you think it is meaningful?<\/li>\n<li>Do the employees know the financial status of the company? Are the salaries kept secret? Do you give out team bonuses or personal ones? Do you allow to work on personal, work related project (not part of the official work)?<\/li>\n<li>Who is the technical lead? what is his experience? Can I speak with him?<\/li>\n<li>Do you contribute to open source? Do you support local social projects?<\/li>\n<li>What is the kind of problem you need to solve? what type of tools do you use? What is the latest technology you adopted and why?<\/li>\n<li>Where are the offices? Do you allow for remote work?<\/li>\n<li>How may hours is in a workweek? in a single day? In which occasions will you expect to work longer hours?<\/li>\n<\/ul>\n<p>That&rsquo;s what I came up. I try to remember it, since it&rsquo;s a little embarrassing to take out the phone in the middle of an interview and read from it.<\/p>"},{"title":"A selfish justification for altruism","link":"https:\/\/noamelf.com\/posts\/a-selfish-justification-for-altruism-2\/","pubDate":"Sat, 25 Apr 2015 09:42:58 +0000","guid":"https:\/\/noamelf.com\/posts\/a-selfish-justification-for-altruism-2\/","description":"<p>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&rsquo;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 didn&rsquo;t feel like picking up a stranger. It&rsquo;s funny but it became a real conflict for me.<\/p>"},{"title":"About","link":"https:\/\/noamelf.com\/about\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/noamelf.com\/about\/","description":"<p>My name is Noam Elfanbaum, and I live in Hulata, a beautiful spot in northern Israel, with my wife, two kids, and our dog.<\/p>\n<p>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 <a href=\"http:\/\/www.meetup.com\/PyWeb-IL\/\">PywebIL<\/a> and <a href=\"http:\/\/il.pycon.org\">Pycon Israel<\/a>. Previously, I worked at Melanox (now Nvidia) and Cloudlock (now Cisco), gaining valuable experience in the tech industry.<\/p>"},{"title":"Projects","link":"https:\/\/noamelf.com\/projects\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/noamelf.com\/projects\/","description":"<p>I have a few side projects, these are the more interesting ones:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/codeowners-multi-approval-check\">codeowners-multi-approval-check<\/a> - Extends GitHub&rsquo;s codeowners feature by requiring all codeowners listed to approve a pull request, and not just one of them as it works by default.<\/li>\n<li><a href=\"https:\/\/pycubator.noamelf.com\/\">Pycubator<\/a> - Python training course<\/li>\n<li><a href=\"https:\/\/random1on1question.noamelf.com\/\">1on1questions<\/a> - Random 1on1 questions to help liven your 1on1s<\/li>\n<li><a href=\"https:\/\/github.com\/noamelf\/budget-fixer\">Budget Fixer<\/a> - Tag your expenses using state of the art AI \ud83e\udd23<\/li>\n<\/ul>"},{"title":"Talks","link":"https:\/\/noamelf.com\/talks\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/noamelf.com\/talks\/","description":"<p>I enjoy giving public talks about subjects I investigate. Here are links to my previous talks:<\/p>\n<ul>\n<li>Bootstrapping a ML platform (AirflowSummit 2020) - <a href=\"https:\/\/speakerdeck.com\/noamelf\/bootstraping-a-ml-plarform\">slides<\/a><\/li>\n<li>Let&rsquo;s build a Python profiler in 25 LOC - <a href=\"https:\/\/gitpitch.com\/noamelf\/Lets-build-a-Python-profiler-in-25-LOC\">slides<\/a>, <a href=\"https:\/\/youtu.be\/qRqDgJLM568?t=1h32m53s\">europython2018 video<\/a><\/li>\n<li>Designing Pythonic APIs- <a href=\"https:\/\/noamelf.com\/designing-pythonic-apis-talk\">slides<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=CrQQCa_AoWI\">pyconil2017 video<\/a><\/li>\n<li>API and Microservices Management with Kong - <a href=\"https:\/\/speakerdeck.com\/noamelf\/kong-open-source-api-and-microservice-management\">slides<\/a><\/li>\n<li>Introduction to Python coroutines - <a href=\"https:\/\/noamelf.com\/intro-to-python-coroutines-talk\">slides<\/a><\/li>\n<\/ul>"}]}}