RSSAmplifier

Blog

Erik Zaadi

Recent content on Erik Zaadi

//erikzaadi.com/RSS feed ↗120 posts

Latest posts

The AI DM Gets an Upgrade: What Happened After the First Session

Car mode, terminal mode, agentic narration, and a development workflow that uses different AI tools for different jobs. 
 Last time I wrote about this , I had just shipped the first version of dnd-fam-ftw : a self-hosted AI Dungeon Master for family D&D nights. POC in an evening, first session was chaos, everyone had a good time. 
 Then we kept playing. And once you keep playing, you start…

Squeezing More Out of Claude on a Personal Account

After building dnd-fam-ftw , I kept hacking on it using Claude Code on my personal account. Personal accounts have usage limits, so I started paying attention to where tokens were going and where they weren’t. Here’s what actually helped. 
 
 
 

 
 CLAUDE.md as a Memory Workaround 
 Claude Code compacts context automatically when it gets long. When that…

My Kid Didn't Want to DM, So I Built One

The DM who never gets tired, never says “I forgot my notes”, and always has a pun ready. 
 TL;DR: My kid wanted to play D&D as a family but nobody wanted to run the game. So I built dnd-fam-ftw : a self-hosted, AI-powered Dungeon Master for short, family-friendly adventure nights. POC took under an hour. First session was chaos. We loved it. 
 
 The Setup 
 My kid has…

The Rat That Byte Twice

TL;DR 
 A rat ate my fiber optic cable. Technician came, fixed it, sat with us in the safe room during a missile alert, left. Ten minutes later the rat ate it again. Technician happened to be passing by. We improvised cable armor. You can’t make this up. 
 
 
 
 

 The Rat That Byte Twice.

ShelteryPie: A Missile Alert Led Lights

TL;DR 
 Everyone doom-scrolls during missile alerts. I wired an RGB LED to a Raspberry Pi, pointed it at the Pikud HaOref API, and now my family looks at a light instead of their phones. The LED beat the sirens by a few seconds on its first real test. The Pi is named ShelteryPie. Code is on GitHub. 
 
 ShelteryPie: A Missile Alert Led Lights 
 Pi-Kud, the Pi that could. 
 You…

Auto Resume Claude Code Sessions

I’m a big user of Claude Code, their CLI is AMAZONG, you can even paste images of outputs and it’ll parse it. 
 
 
 

 Needless to say, I’m a heavy tmux user, and I usually have several sessions windows and pane open, with plentiful of Claude CLI sessions in place.

Why Penguins Don't Build Nests in Trees and Why That Matters for AI

A different kind of talk 
 I recently had the opportunity to speak at my kid’s class about AI. 
 It was not a conference talk.
There were no slides about model architectures or leadership frameworks.
There were 12 year olds, lots of opinions, and very little patience for fluff. 
 Which, in hindsight, was perfect. 
 
 TL;DR: 
 You can find: 
 
 the full…

Putting the AI in TUI: When You Have 43 Minutes and a Commit Stuck in Your Head

Putting the AI in TUI: When You Have 43 Minutes and a Commit Stuck in Your Head 
 
 
 

 I don’t get a lot of uninterrupted time these days. 
Between one-on-ones, planning sessions, and enough Slack threads to qualify as a second inbox, “deep work” has become something of a nostalgia act.

From Clippy to Slippy: The Perils and Perks of AI in Management


 
 

 Remember Clippy? That overly enthusiastic paperclip who just knew you were writing a letter (even if you weren’t) and insisted on helping? 
Fast forward to today, and Clippy’s descendants have gotten a serious upgrade, they now run on large language models and call themselves ‘AI assistants’.

EM <> PM: A Song of Ice and Fire

One builds castles in the sky. &#xA;The other worries if the foundation has continuous integration. &#xA;One dreams of dragons. &#xA;The other estimates customer impact. &#xA; Welcome to the greatest saga in tech: Product Manager and Engineering Manager trying to build something together without burning down the roadmap. &#xA; &#xA; Over the past 2 quarters, I’ve been lucky to work with Gur…

Markdown My Words! S3 You Later PowerPoint

Markdown is life &#xA; So why not use it for presentations? &#xA; I do a fair bit of internal presentations, and like most good things, they’re powered by Markdown, duct tape, and a sprinkle of automation magic. &#xA; For a long time, I was using reveal-md for all my slides. But once that got deprecated, I moved to the absolutely AMAZONG Slidev (sli.dev) project. &#xA; It&rsquo;s markdown-first,…

Proudly Unnecessary: A Leadership Tale from the Couch

There’s an old saying: &#xA; &#xA; A manager is truly tested not by their presence, but by their absence. &#xA; &#xA; Last week, I put that theory to the test. I was down — tissues, tea, and a full system reboot. No gifs in Slack threads. No PR reviews. No long-winded analogies in meetings, EVEN NO PUNS (!!1). &#xA; &#xA; And yet, something beautiful happened: &#xA;The team kept building.

LAN Party Guide 2.0: Warsow vs Warfork

For years, my go-to LAN party game was Team Fortress 2 which was pure chaotic fun. &#xA; &#xA; (as seen in my previous lan party guide ) &#xA; But ever since Apple’s transition to ARM-based processors, TF2 has sadly become a impossible to run natively on modern Macs. &#xA; Enter: War{sow,fork} . &#xA; This post is a quick guide to getting a LAN party running using these two excellent (and free!)…

The Silver Bullet for Conference Presentations? There Is No Bullet

Ever sat through a slide deck that felt like reading a spreadsheet on stage? &#xA; Presentations are hard — but they don’t have to be painful. &#xA; You need have the magic schtick that helps you with the value you want to share. &#xA; The problem &#xA; Most company templates for presentations might be great for sales pitching on zoom, &#xA; BUT, they just don&rsquo;t work for a stage and crowd.…

whoami

&#xA;&#xA; &#xA; Hello Hungry, I&rsquo;m dad &#xA; &#xA; Love playing with code, pixels, people, builds and puns &#xA; Coder, Manager and Dad Pun Alumni at Port &#xA; Enjoy everything from shiny web apps, beautiful APIs to seamless CI integrations. &#xA; Dad and foremost UBERGEEK . &#xA; Passionate about Open Source , always striving to learn something new. &#xA; Want the long version of how I mix…

Onboarding vim&#39;ers

Vim FTW &#xA; (Neo)Vim often seems daunting for people to start to work on. &#xA; The basic out of the box experience with Vim isn&rsquo;t very vi improved I&rsquo;m afraid. &#xA; &#xA; But then they see me vim&rsquo;in, they cravin' &#xA; Being one of the cool kids with vim, I&rsquo;m often asked how people can get started with vim without all the classic exiting vim memes. &#xA; &#xA; A new hope…

How to Use Zsh and Tmuxp to Speed Up Your Day to Day Workflow

I&rsquo;m a heavy terminal user. &#xA; &#xA; I admit it. &#xA; I&rsquo;ve always loved the streamlined workflows of elegant TUI (AKA TEXT USER INTERFACE FTW). &#xA; It&rsquo;s one of the things that made me switch to vim all those years ago. &#xA; In addition, I&rsquo;m addicted to tmux and zsh , which I use daily. &#xA; Anyhuze &#xA; In my day to day job, I continuously need to switch between…

Pull Request Etiquette - A set of simple rules for your code review

Pull Request Etiquette &#xA; Pull Requests are by now an industrial standard. &#xA; Why should we do code reviews / pull requests? &#xA; Focus &#xA; The committer will be forced to think about how clear and relevant the change is, simply due to the fact that another human being needs to be able to understand WHAT THE DUCK IS GOING ON . &#xA; Learning &#xA; Code review is an amazing opportunity for…

Life is short, make your CI blazing fast

Rebase your CI &#xA; I&rsquo;ve seen A LOT of continuous integration implementations, both while mentoring CI and during my day work. &#xA; One of the simplest but most important of the HOLY 11 CI COMMANDMENTS is: &#xA; &#xA; Keep the build fast &#xA; &#xA; And yet, the top mistake I keep seeing all over: &#xA; Wasting time &#xA; &#xA; Things we keep doing wrong &#xA; &#xA; Long build times due to…

Linting Helm Charts in Travis

Helm charts makes even kubernetes sane, However&hellip; &#xA; &#xA; Like any YAML based tooling, it&rsquo;s pretty darn easy to break it. &#xA; Here&rsquo;s a small snippet of how you can integrate helm lint to your CI build in Travis CI quite seamlessly: &#xA; &#xA; &#xA; 1&#xA; 2&#xA; 3&#xA; 4&#xA; 5&#xA; 6&#xA; 7&#xA; 8&#xA; 9&#xA; 10&#xA; 11&#xA; 12&#xA; 13&#xA; 14&#xA; 15&#xA; 16&#xA; 17&#xA;…

The delicate balance between coding and managing

The swashbuckling adventure of an evolving manager &#xA; &#xA; TL:DR; Scroll to bottom for my 12 takeaway lessons learned&hellip; &#xA; Management here we go &#xA; Managing was something I always kept as a career goal. Having said that, at my previous employment, I neglected my management ambitions. I concentrated more on deep diving technically, and leading professionally, less managing. After…

Sane Versioning in nodejs

node.js packaging &#xA; node.js and npm have been through a lot since I started using them.&#xA;From whether or not to commit dependencies (THE HORROR) to git, to slow installations, you name it. &#xA; One of the most horrific atrocities for me has always been the fact that the version is hardcoded in the file package.json . &#xA; &#xA; It has always peskered me that it&rsquo;s not simply taken…

TMUX for multilangual cli addicts

As you might know, TMUX is awesome. &#xA; ALAS &#xA; There is nothing more frustrating than when you&rsquo;re muscle memory fails you. &#xA; You&rsquo;re entering the correct key sequence, and your tmux is simply ignoring you. &#xA; You enter a state of CLI ROAD RAGE . &#xA; &#xA; You curse the old gods of QWERTY, check your keyboard battery level ( /hipster ), gurgle quotes such as: &#xA; &#xA;…

Make remote tmux sane with a keystroke

Prelude &#xA; It&rsquo;s 2 am. You&rsquo;re ssh&rsquo;ing to a server. &#xA; Naturally you launch tmux . &#xA; &#xA; You run some tail -f on some logs, each in it&rsquo;s own pane of course. &#xA; You try to reproduce something, and then you want to search for it at the logs. &#xA; ALAS &#xA; The tmux defaults for copy mode and status keys are not vi . &#xA; &#xA; The horror! &#xA; The only thing…

The D in Blog

Humans make mistakes. &#xA; My last blog post was written on a train, just like this blog post. &#xA; I proof read the post about 4 times to check spelling, grammar and too bad jokes. &#xA; All seemed legit, so I published the post. &#xA; Little did I know that all the time I spent on checking the content, I forgot to check the actual title of the blog. &#xA; &#xA; I noticed the typo only when the…

Why you should be excited about the groovyness of Jenkins

Prelude &#xA; I&rsquo;ve been using Jenkins since it was called Hudson. &#xA; With the rise of SaaS services like Travis , Jenkins started to feel a tad bit cumbersome. &#xA; Suddenly it was a burden to manage it your self, from provisioning servers to make sure everything worked. &#xA; Sure, Travis had it&rsquo;s own caveats, like lacking versions of needed infrastructure versions, long waiting…

1 conference, 2 talks, 3 lessons learned and a whole lot of stickers

TL;DR: Actual Presentations &#xA; So public speaking.. &#xA; I&rsquo;ve never really given public talks. &#xA; I&rsquo;ve led workshops, with up to 50 attendees ( Ansible Israel Meetups ), but never spoke at a conference. &#xA; Giving it a shot &#xA; Having been to 3 different DevOpsDays conferences, I felt comfortable enough to propose two talks to DevOpsDays Tel Aviv 2016 . &#xA; One was a 5…

Blazing fast zsh with antibody

Some facts: &#xA; Fact 1 &#xA; You love zsh . You can&rsquo;t really work without it. &#xA; Fact 2 &#xA; It was a while since you gave your dotfiles and shell some love. &#xA; Fact 3 &#xA; New zsh sessions have been slow for a while, and you keep promising yourself to fix it. &#xA; Time for a change! &#xA; I&rsquo;ve been using antigen for a while now, and I love the syntax. &#xA; However ,…

Sane @hubot help

Everyone loves ChatOps &#xA; It&rsquo;s all the rage lately, in the BOT ALL THE THINGZ era. &#xA; I&rsquo;ve been writing ChatBots for a couple of years now, and I&rsquo;ve always used Hubot . &#xA; Hubot worked fine for me when I was using IRC, HipChat and now even Slack. &#xA; Hubot has autogenerated help &#xA; Which is really cool, as you can do a simple @hubot help to see the available…

Migrating from logstash forwarder to beat (filebeat)

Logstash forwarder did a great job &#xA; Alas, it had his faults. &#xA; If you&rsquo;d have push backs from your logstash server(s), the logstash forwarder would enter a frenzy mode, keeping all unreported files open (including file handlers). &#xA; If you then had a sane log rotating policy, the files would be deleted, but the forwarder would keep the file handles open, causing the disk to fill…

Moving from Vundle to Vim-Plug

I&rsquo;ve been using Vundle to manage my vim plugins for quite a while now, even blogged about auto installing Vundle on new machines. &#xA; Vundle is still great, but I&rsquo;ve been hearing a lot about Vim-Plug , which aims to be better than Vundle. &#xA; I opened up the Vim-Plug Migration FAQ , and gave it a try. &#xA; My initial impression was, WOW, that&rsquo;s fast, and much less clutter in…

Dummy Guide To Mac Lan Party With Team Fortress 2

As always, at BigPanda , we&rsquo;re very serious about keeping our geek creds high. &#xA; So, we decided to throw together a company Lan Party (FTW) . &#xA; Our needs were simple: &#xA; &#xA; It should work on our Macs (13" MBP Retina) &#xA; Preferably, should work only using WIFI (Dammit those Thunderbolt => Lan adapters are expensive) &#xA; Should not cost anything extra per participant &#xA;…

Slides and Public Talks

DevOpsDays TLV 2024 &#xA; Managing tech debt like a mortgage &#xA; &#xA; &#xA; &#xA;&#xA; &#xA; Reversim Summit 2024 &#xA; DRY-ing up your CI/CD with Git Rebase &#xA; (Hebrew) &#xA; &#xA; &#xA; &#xA;&#xA; Gist linked at the end of the video.

Linting Ansible YAML in vim

ZOMG UPDATE!!1 &#xA; My pull request for syntastic was merged ! &#xA; I love Ansible, and one of the reasons is YAML&hellip; &#xA; But there&rsquo;s just so many YAML gotcha&rsquo;s . &#xA; In vim (Yes, the mighties of editors, that of course you are using right??????? ), I&rsquo;m using the excellent vim-ansible-yaml plugin that not only adds syntax highlighting, but also snippets (YAY!). &#xA;…

Getting parsed Request Bin bodies

TL;DR &#xA; &#xA; &#xA; 1&#xA; &#xA; &#xA; curl -s 'http://requestb.in/api/v1/bins/YOUR_BIN_ID/requests' | jq '.[] | .body' | node -e 'var counter=0;require('readline').createInterface({input: process.stdin}).on('line', function (line) { require('fs').writeFileSync((++counter).toString() + '.json', JSON.parse(line));});' &#xA; &#xA; &#xA; You should be using RequestBin !!1 &#xA; RequestBin is a…

The distributed state of ChatOps

Hubot was EPIC &#xA; Hubot swept the ChatOps sphere by making it super simple to write your own bot. &#xA; It had tons of plugins that could integrate to almost anything. &#xA; Just shoot up a node instance on one of your servers, and BOOM, you&rsquo;re hubot-ized. &#xA; Suddenly you had a presense in your iRC / Chat that could not only notify you on events, but also take action. &#xA; Ack that…

Cheap IOT By Hacking Routers

As I previously blogged about, we have a Raspberry Pi at BigPanda that opens our office door. &#xA; We even created an Android widget to open the door from the outside, so it&rsquo;ll be as easy as possible. &#xA; ALAS , this was not enough, Noam Shemesh (the mighty) felt that the effort of actually taking out your mobile phone when approching the door is tedious. &#xA; IOT to the rescue! &#xA; We…

Hush hush now Logstash

What do you do when your logging infrastructure logs to much? &#xA; &#xA; Logstash is almost the facto log infratructure tool nowadays. &#xA; Although scaling it up is a bit interesting to say the least, Logstash works. &#xA; As any tool, it has some rough edges you might encounter. &#xA; We had a problem that Logstash&rsquo;s own logs were being filled up in blazing rates. &#xA; The messages were…

Bye Octopress, Hello Hugo

After suffering from write block, heavily influenced by octopress super fast load time, I moved this blog to hugo . &#xA; Here&rsquo;s some comparisons: &#xA; Setting up: &#xA; Octopress: &#xA; &#xA; &#xA; 1&#xA; 2&#xA; 3&#xA; 4&#xA; 5&#xA; 6&#xA; 7&#xA; 8&#xA; 9&#xA; 10&#xA; 11&#xA; 12&#xA; 13&#xA; 14&#xA; 15&#xA; 16&#xA; 17&#xA; 18&#xA; 19&#xA; 20&#xA; 21&#xA; 22&#xA; 23&#xA; 24&#xA; 25&#xA;…

s3cmd is dead, long live s3-cli

For those of you that still use Octopress like me, one of the annoying things is deploying to Amazon S3. &#xA; I was using s3cmd which is indeed an awesome utility to sync the rendered blog to S3, however it&rsquo;s slow, it&rsquo;ll take about 5 minutes to deploy my blog, which is not a huge blog. &#xA; While implementing a quick hack that uploads images to Amazon S3, I stumbeled upon a certain…

Two bots one Slack

We started evaluating Slack at BigPanda , and it is truly great. &#xA; The signup process was super simple, adding integrations is really fast, and all the apps, web and native feels fresh and fast. &#xA; Needless to say, one of the first things I did was to hook up on of our Hubot instances that controls our door (see previous post ). &#xA; With our previous not so hip chat, we did a quick hack,…

BigPanda&#39;s Raspberry Pi Powered Geekalicous Door

We recently moved to a new shiny office at BigPanda . &#xA; Before moving in, we renovated parts of the office, including the door.&#xA;We got a door with an electronic lock, which usually is opened using a code panel. &#xA; Alas, we can&rsquo;t have a simple code panel, we&rsquo;re way to cool for that! &#xA; &#xA; So we decided to hook up our Raspberry Pi to control the door. &#xA; Here&rsquo;s…

handle proxy 404 in nginx

In our SPA era, when you get a 40x or 500x (Oy vei) error from your proxied backend, you typically want to display a static part of your SPA. &#xA; To do this, we can usual a small but usefull nugget from nginx: &#xA; HERE BE DRAGONS &#xA; &#xA; &#xA; 1&#xA; &#xA; &#xA; proxy_intercept_errors on ; &#xA; &#xA; &#xA; This ensures that if the proxied backend returns an error status, nginx will be the…

Long time no spamming

TL;DR - Yet another &lsquo;didn&rsquo;t blog in a while due to ENTER EXCUSES HERE &rsquo; post.. &#xA; I&rsquo;ve moved on &#xA; I now work at BigPanda since March, and until now, I didn&rsquo;t make time to write here.. &#xA; I did get a chance to write a blog post at the BigPanda Blog about how we use vagrant , which was fun writing. &#xA; In the end there are only two reasons I stopped…

Cleaning up Jenkins jobs

Jenkins rules, but&hellip; &#xA; It&rsquo;s a Java XML consuming monster. &#xA; Once you get up to a large number of jobs (We are near 300), it gets a bit tough, especially when restarting. &#xA; So, every once in a while, I cleanup old unused jobs that are left over. &#xA; delete_non_active_jobs.py &#xA; &#xA; &#xA; 1&#xA; 2&#xA; 3&#xA; 4&#xA; 5&#xA; 6&#xA; 7&#xA; 8&#xA; 9&#xA; 10&#xA; 11&#xA;…

Assign an Application to all desktops in Applescript

Back to basics, applescript &#xA; It&rsquo;s been a while since I wrote applescript. &#xA; Although the capabilities are truly amazing, I never really connected to the tell syntax, a bit to verbose for me. &#xA; Anyhow, I&rsquo;m using slate for automagically position apps when I change monitors (amongs other things), and I needed a way to pin certain applications to all desktops when using…

Return of the Mac

After two wonderful years of Linux, mostly with Ubuntu (with a small visit to Fedora), I had the opportunity to switch to a Mac at work.&#xA;It&rsquo;s an old 2009 MBP inherited by Vuduchild who left us lately. &#xA; At my previous workplace, I had an iMac for about four years, and I&rsquo;m ashamed to admit that about two and a half years out of those four, I was mainly on the dark windows side…

FDD - Fika Driven Development

FDD FTW &#xA; There are many different type of development methodologies.&#xA;TDD, BDD, what have you. &#xA; You also got non development centric methodologies such as Pomodoro , which help you make the most of your time. &#xA; At our group at work, we have fine tuned a brand new and shiny methodology called: &#xA; &#xA; &ldquo;FDD&rdquo; - Fika Driven Development &#xA; &#xA; &#xA; [Fika](…

nose-rapido - a rapid feedback plugin for nosetests

I use a tmux + vim development environment which I find really productive.&#xA;When hacking on python projects, I like to have a tmux window open with nosetests logs, typically using nose-watch . &#xA; Every now and then after saving, I&rsquo;d switch to that window to see how the tests are doing. &#xA; I wanted something a bit more small that would give me immediate feedback in my main window…

Auto Auto Reloading iPython modules

You all use ipython, it’s an awesome tool. &#xA; However, it’s kind of annoying to exit and re-enter ipython when you change your python files. &#xA; There’s an extension built into ipython called autoreload which can be loaded by entering: &#xA; &#xA; &#xA; 1&#xA; 2&#xA; &#xA; &#xA; % load_ext autoreload &#xA; % autoreload 2 &#xA; &#xA; &#xA; Now whenever you edit your file, your objects will be…