RSSAmplifier

Blog

Yareev's schmonz.com

Amitai Schleier

schmonz.comRSS feed ↗300 posts

Latest posts

Small Macs

My 2018 Mac mini (64G RAM, 2T SSD) has long been a trusty multi-VM pkgsrc and notqmail build machine, mostly via SSH. And during the first couple COVID years when I was still consulting independently but we were out of the country, it was also a trusty low-latency system for collaborative coding sessions with USA-based clients, mostly via screen sharing. The mini still performs quite well. I still…

Sensible basic Minecraft hosting

One of the few things I know about Minecraft is, some players I know and love could be playing together if someone were to run a server for them. That’s the sort of thing I’d gladly do, provided I could approximately never again pay attention to it. Here’s what I came up with. Let’s see how it pans out. Prerequisites My Virtual Private Server at Panix is NetBSD/amd64 with plenty of RAM, disk, and…

Updating a 2017 MacBook Air

We have a 2017 13” MacBook Air that’s periodically of interest to the kids, but Apple doesn’t offer macOS updates for it beyond Monterey (12.x). I just installed OpenCore Legacy Patcher on it, clicked “Build and Install OpenCore”, rebooted, ran Software Update again, and was offered Sonoma (14.x), the latest available macOS at the time of writing. Upgraded, rebooted, ran OpenCore Legacy Patcher,…

Small ARMs

On my home network, some important jobs are performed by little ARM computers. AirPlay to sound system The house came with a decent sound system wired in. The receiver can take 1/8” stereo input — from AirPlay, with help from a decade-old Raspberry Pi 1 Model B Rev 2 . 1. Prepare disk With a 4GB SD card, from macOS: $ diskutil list # inspect output $ SDCARD=disk6 $ diskutil unmountDisk ${SDCARD} $…

NYC Large Scale Scrum May 2024: Not So Extreme Programming

On Friday, May 10, I presented “Not So Extreme Programming” for Large Scale Scrum (LeSS) in NYC & Global . The abstract: Where “Agile” sounds pleasant and inclusive, “Extreme Programming”… doesn’t. But it’s a differentiator: teams practicing XP are seen to move with uncommon agility. The name has other problems, too. For one, XP is about much more than programming. For another, when compared with…

notqmail 1.09 released

My early imaginings of a collaborative Open Source successor to qmail, let me assure you, did not include going nearly four years between releases. Well, at least it hasn’t been more than four. notqmail 1.09 is here: qmail list announcement Fediverse and Twitter Lobste.rs , Hacker News , and Reddit Release notes For decades, due to each administrator needing to patch in their particular missing…

Coach Technique: Give a Gift

This might turn into a collection. Let’s see. When Joining a team. Why To earn trust and reciprocity. What Demonstrate good will and good skill. How Observe what’s regularly tedious, bothersome, or frustrating. Do not choose something you think they should want; this technique is to show that you’re listening, that their needs matter to you, and that you’re willing and able to help those needs get…

Found a fit

To everyone who helped me with the search , thank you. Today marks the start of my first regular job in seven years. In my first job as a software developer, by a string of lucky occurrences, I happened to land someplace doing Extreme Programming . I hadn’t been looking for it; as with all the other ways people make software together, I hadn’t heard of XP and had no basis for comparison. But I…

pkgsrc on macOS: still works

A few weeks ago, Apple released new versions of Xcode and Command Line Tools. Not thinking too hard about how my pkgsrc developer environment often gets broken by OS or tool updates, I updated promptly. For one thing, I’m kinda used to it . For another, it doesn’t usually break. For a third thing, managing dependencies — anything not my code that can break my code — means responsibility for…

Intermission

It’s been a few weeks since my last Weekly Piano Miniature and I don’t feel bad about it. That’s a strong signal. Why don’t I feel bad? Because Weekly Piano Miniatures lasted an entire year (and Daily Piano Miniatures for five months before that — all told, nearly 500 minutes of music). Because my 100-year-old piano finally sounds rough enough that it’s been hard to want to play. Because my energy…

Who needs an Amitai?

Update: Found a fit ! I’m looking for my next full-time role in engineering leadership (such as Director, VP, CTO) and/or senior engineering (such as Principal or Staff). I love people, want them to succeed, and have fairly reliably made myself helpful. You may already know me from Agile in 3 Minutes , my Coding Tour , my PubMob , meetups I’ve run , talks I’ve given , approximately a zillion…

Daily piano miniatures

Since May, I’ve been posting a new video just about every day. What’s in the videos? A short piano piece, played as well as I can quickly learn it. “Short” means, based on a sample size of 72 videos, two and a half minutes on average. (You’ll probably agree, coming from the Agile in 3 Minutes guy, that tracks.) Don’t like what you’re hearing? No problem, the next piece is short too. Here’s the…

Galila Yara Schleier

Our third child arrived yesterday, on April 26, at 7 pounds. She was determined to make her debut in the car but instead came out moments after her mom got on the hospital bed. Meet Galila Yara Schleier: She comes home tomorrow to meet her brothers. Grandparents, aunts, uncles, cousins, et al. will get to hold and smell her soon. About the name: Galila Yara honors Rebekka’s beloved aunt Judy and…

JC-JUG December 2021: Bob Allen on Coaching Teams to Do the Impossible

For the December meetup of Jersey City Java , Bob Allen presented Coaching Teams to Do the Impossible… as they see it, and, without straining their backs . About the presentation: As some of you likely have some appreciation for, what I and my fellow technical and product coaches do, when we are lucky, is a hard sell from the get-go. Here are just a few of the reasons: We ask a whole team to do…

November crowdfunding update

[ About my public-facing work ] Starting now, I’m moving my monthly posts from Patreon to my own website here. Why? I prefer to own my data There are many ways (Patreon merely one among them) in which people can fund my public-facing work My corporate work focuses on learning together, experientially . My public-facing work is similar: I’m creating learning experiences, Open Source code, and…

SoCTAgile November 2021: Esther Derby and Matthew Carlson on There Are No More Early Adopters of Agile

Welcome back to Southern Connecticut Agile ! For our November meetup, Esther Derby and Matthew Carlson presented There Are No More Early Adopters of Agile . About the presentation: After 20 years, Agile has in a sense become pervasive. While it’s neither mandated nor regulated, everyone’s heard of it, and lots of organizations understand the legitimacy it confers. Still, some folks continue to…

JC-JUG November 2021: Pejman Ghorbanzade on Continuous Regression Testing Using Touca

For the November meetup of the Jersey City JUG , Pejman Ghorbanzade presented Continuous Regression Testing Using Touca SDK for Java . About the presentation: Making code changes to real-world software systems without introducing unintended side-effects is non-trivial. There are methods and tools to help us mitigate the inherent risks. One of these methods is regression testing that helps us…

SoCTAgile October 2021: Steve Doubleday on Three Frames of Software Development

I noticed last week that the Southern Connecticut Agile Meetup had gone maintainerless and decided to take it on. Welcome back! For our October meetup, Steve Doubleday presented Three Frames of Software Development . About the presentation: The uneven adoption of agile methods over the past couple of decades can be usefully understood as coming from a difficulty executives have in letting go of…

JC-JUG September 2021: Mike Coon on You Get What You Ask For

For the September meetup of the Jersey City JUG , Mike Coon presented You get what you ask for — so you better ask for what you want . About the presentation: As we progress in an organization what we ask for and what we ask about become key to engaging our teams and to maximizing value. We’ll talk about how subtle changes in our approach can ignite creativity and provide a sense of ownership in…

Code PaLOUsa 2021: Two Midwesterners Politely Invite You To Explore Coding

On Friday, August 20, Faye Thompson and I once again co-facilitated Two Midwesterners Politely Invite You To Explore Coding , this time as a 3-hour workshop at Code PaLOUsa 2021 . The abstract: Wonder what it’s like to do what programmers do? Maybe people have tried to explain it, but didn’t put it in terms that computed for you. Or maybe you would like to become more technical, but the mere…

JC-JUG August 2021: Nayan Hajratwala on Power Up Your Gradle

For the August meetup of the Jersey City JUG , Nayan Hajratwala presented Power Up Your Gradle . About the presentation: Does Gradle make you sad? Are slow & flaky builds stealing your time? Are you a Maven maven, longing for the days you could write incomprehensible build files in XML rather than Groovy? If so, this session is for you! Together, we will delve into some techniques to keep your…

JC-JUG June 2021: Julie Lerman, Helen Scott

In June, the Jersey City JUG had two meetups: Julie Lerman on Tackling System Complexity with Domain-Driven Design (sorry, no video) Helen Scott on Writing Code is Easy, Being a Great Developer Is Hard ( video )

Legacy of SoCraTes: Inside-Out TDDDD

On Thursday, June 17, for the 6th edition of “Legacy of SoCraTes” , I gave a public talk with this abstract: In inside-out TDD, we incrementally redesign objects, their interactions, and the system as a whole, starting in the small and moving toward the large. In something we might by extension want to call “Inside-Out TDD-Driven Development”, we incrementally redesign ourselves, our interactions,…

JC-JUG May 2021: Ryan Latta on Learning Under Pressure: Scala in a Hurry

For the May meetup of the Jersey City JUG , Ryan Latta presented Learning Under Pressure: Scala in a Hurry . About the presentation: How many times have you learned a new piece of tech while at work? I know for me it seems like every new project comes with some new framework or language. At the same time, most of the companies I’ve worked for expected me and the team to figure it out — no books,…

JC-JUG April 2021: Cat Swetel & Heidi Mitre on Continuous Verification Beyond Chaos Engineering

For the April meetup of the Jersey City JUG , Cat Swetel and Heidi Mitre presented Continuous Verification: Beyond Chaos Engineering . About the presentation: As technologists, our work is increasingly situated in highly complex socio-technical ecosystems. As much as we are encouraged to retrospectively seek a distinct and absolute root cause for an incident or outage, these complex systems are…

AO.com Webinar March 2021: Inside-Out TDDDD

On Friday, March 19, at the invitation of AO.com , I gave a public talk about joy and humanity in software development. The talk was primarily concerned with the effects of software craft on our emotional states and working relationships. Along the way, I touched on Theory of Constraints , stable and unstable equilibria in work environments, a significant and deliberate omission from Scrum, my…

JC-JUG March 2021: Angie Jones on Modern Java Beyond Version 8

For the March meetup of the Jersey City JUG , Angie Jones presented Modern Java: Beyond Version 8 . As a software development coach, I work with clients no matter what their code is written in. When they’re using Java, it’s rarely a recent JDK. And with the advent of OpenJDK, the JDK situation itself has gotten a bit harder to follow. Angie’s talk filled us in on some of the major new goodies…

JC-JUG February 2021: Dave Nicolette with Java on the Mainframe

For the February meetup of the Jersey City JUG , Dave Nicolette presented Java on the Mainframe . Most of us have written Java code. Some of us have written code that integrates with mainframes. Few of us have programmed mainframes. Dave, an experienced programmer and agile coach, has. He gave us a basic understanding of the platform, what’s similar and what’s different from environments we’re…

OOP Konferenz 2021: Strangle Your Legacy Code

On February 8, I facilitated Strangle Your Legacy Code at OOP Konferenz . The abstract: Given an ancient codebase that makes refactoring risky and expensive, how do you clear a path to continued delivery? The old wisdom says the best time to plant a tree was 20 years ago. The next best time to preserve your software investment is today: plant a Strangler Fig, a pattern for reaping continuous value…

JC-JUG January 2021: Emily Bache on Handling Legacy Code with Approvals and Coverage

Our first Jersey City JUG session for 2021 followed the evolutionary design conversation from last month , as Emily Bache introduced a safety-enhancing technique for evolving the design of legacy code. She demonstrated Approval Tests and code coverage, then split us into groups of three to get tests around the provided codebase. (This entailed belatedly enabling Breakout Rooms for my Zoom account…

deliver:Agile: 2020 Geeky Wrap-Up

A year ago, or whenever the heck it was, I was helping organize the 2020 edition of deliver:Agile, the Agile Alliance conference focused on practitioners and techniques. (I had been part of the 2016 , 2017 , and 2019 conferences. It’s one of my favorites.) Turns out this wasn’t the best year for conferences. Ours didn’t happen. But the Agile Alliance has been holding — and will continue to hold in…

JC-JUG December 2020: J. B. Rainsberger on Unlocking the Awesome Power of Refactoring

This month’s meetup of the Jersey City Java User Group continued the refactoring conversation from last month , as J. B. Rainsberger presented Unlocking the Awesome Power of Refactoring and discussion ensued. On at least three occasions, J. B. anticipated and answered a question we might have before being able to see that it had indeed been asked. One more remarkable trick from a consultant,…

JC-JUG November 2020: Stop Obsessing About Primitives with Ted M. Young

Last month’s meetup of the Jersey City Java User Group got us off to a rollicking restart. At yesterday’s, Ted M. Young (also known as JitterTed ) presented Stop Obsessing about Primitives . Ted’s focus on how people learn means you’re just about guaranteed to come away with ideas you can use. I sure did. Give it a watch. And join the JC-JUG Meetup group (if you haven’t already) to stay tuned for…

Agile Arizona 2020: Two Midwesterners Politely Invite You To Explore Coding

On Friday, November 13, Faye Thompson and I once again co-facilitated Two Midwesterners Politely Invite You To Explore Coding at Agile Arizona (rebranded “Agile Arisofa” for our remote-only era). The abstract: Wonder what it’s like to do what programmers do? Maybe people have tried to explain it, but didn’t put it in terms that computed for you. Or maybe you would like to become more technical,…

JC-JUG October 2020: More Smaller Steps with GeePaw Hill

Remember when meetups still happened in locations? Of the 50 attendees at our first meetup of the revived Jersey City Java User Group , one admitted to living in the New York metropolitan area. And it wasn’t even me, the organizer. And the talk wasn’t even about Java. Did I fall down on the job? No, I think this was the perfect way to start JC-JUG back up. GeePaw Hill ( Twitter ) knows from Java,…

Back to work, remote-style

After 4.5 months of parental leave, I once again have time, space, and attention for my consulting work . I’m pleased to be returning not only to my corporate and individual clients but also to PubMob , a new venture spearheaded by Jeff Langr . Jeff bills it as “the first-ever marketplace for remote collaborative software development and training.” (What’s “mob programming” about? Here, I’ll tell…

notqmail 1.08 released

I’m pleased to announce notqmail 1.08, the latest update to notqmail . It addresses security vulnerabilities in qmail 1.03 reported yesterday by Qualys . As a fork, we’ve inherited qmail’s relatively few bugs; as an active qmail fork, we’ve addressed the vulnerabilities with a timely release; and as the collaborative Open Source successor to qmail, we show our work . The 1.08 release also includes…

Finias Tira Schleier

Our second child arrived a week ago, on April 27, at 3540 grams (7 pounds, 13 ounces). Wanting to minimize our stay in any sort of public place, we chose to return home with our same-day delivery. Perfectly packaged, here’s Finias Tira Schleier: It’s disconcerting not to know when everyone will get to hold and smell Finias. His brother’s eagerness to do the job — always with a gentle kiss — has…

Mini-SPA 2020: Strangle Your Legacy Code

On Friday, February 21, I presented “Strangle Your Legacy Code” at Mini-SPA , a one-day event in Leeds, UK. I wasn’t in Leeds, but my talk was. The abstract: Given an ancient codebase that makes refactoring risky and expensive, how do you clear a path to continued delivery? The old wisdom says the best time to plant a tree was 20 years ago, and the next best time is today. But if you already have…

NYCBUG: What is notqmail?

On Wednesday, January 8, I attended the New York City BSD User Group to present What is notqmail? , a perhaps not entirely surprising followup to my March talk . At the time, I’d been trying to avoid creating yet another qmail fork. This talk is about my failure — notqmail is alive and well — and about our success thus far. Abstract: We all use email, so we all use email servers. notqmail is…

How to start pair programming

A reader asks for advice as his team gets started with pair programming. Pairing can be fun, cost-effective, and risk-reductive. These benefits come with skilled practice. The needed skills can, of course, be learned. Here are my suggestions for a team new to pair programming. 1. Conserve energy Programming solo is tiring in familiar ways. Programming in pairs is tiring in unfamiliar ways. When…

Manhattan November 2019: Global Day of Coderetreat

On Saturday, November 16, I was going to have once again co-facilitated the New York City instance of Global Day of Coderetreat . I wound up not doing much of that, because Emmanuel Genard from Stride Consulting had it well in hand and because the situation at home required all available parents. (Taavi, having progressed from crib to anarchy while I’d been off at a client, has since progressed to…

Medtner: Hymn, Op. 54 No. 7

Schmonzcast #21 : To celebrate my parents’ 50th anniversary, and to honor their having shipped me the baby grand I grew up playing, I chose this Medtner piece . The last time I’d prepared a piece under deadline was in high school. This Hymn is one of the “Romantic Sketches For The Young”, but its longer lines, greater directness, and C major tonality (and, sure, the Opus number) reveal it to be…

Announcing notqmail

Running my own email server has its challenges. Chief among them: my favorite mail-server software hasn’t been updated since I started using it in 1998. The qmail logo Okay, that’s not entirely true. While qmail hasn’t been updated by its original author , a group of respected users created netqmail , a series of tiny updates that were informed, conservative, and careful. By their design, it was…

NYC Large Scale Scrum May 2019

On Thursday, May 16, NYC Large Scale Scrum hosted a meetup with LeSS co-creator Craig Larman . The event was held at Morgan Stanley — where I learned Extreme Programming and got my first taste of software development coaching — so it was a pleasure to be back in a speaking capacity. I served as Craig’s opening act, keeping folks warmed up and tuned in with a mix of presentation and discussion…

Big Apple Scrum Day 2019: Two Midwesterners Politely Invite You To Explore Coding

On Friday, May 10, I attended Big Apple Scrum Day , was part of its Coaches Clinic , and co-facilitated a session called Two Midwesterners Politely Invite You To Explore Coding with Faye Thompson . Here’s the abstract: Wonder what it’s like to do what programmers do? Maybe people have tried to explain it, but didn’t put it in terms that computed for you. Perhaps you’ve considered participating in…

deliver:Agile 2019: Strangle Your Legacy Code

I attended deliver:Agile in Nashville and co-facilitated a session called Strangle Your Legacy Code with Markus Silpala . As a group, we practiced adding features to an old SMTP server without modifying its code. Then we reflected on the potential applications, benefits, and risks of the Strangler application pattern. Photo by Avdi Grimm Abstract: Given an ancient codebase that makes refactoring…

SmartBear April 2019: Mob Programming Explained

On Thursday, April 11, I presented a webinar with SmartBear called Mob Programming Explained . The abstract: Software development is complex. It’s knowledge work. How often does one developer know everything needed to solve a customer problem with code? And on that rare occasion, how beneficial is it to the business for nobody else to have been involved? Enter Mob Programming: the whole team,…

Training: Personal Kanban

Habits can change I have a habit I like very much: incorporating some professional training every year. Last year my needs led me to go on a coding tour . I also have habits I don’t like very much, particularly about how I allocate my time. So when I heard Personal Kanban training was coming to New York, I needed to allocate only a small amount of time to deliberate. Sue Johnston helped , too. 20…

NYCBUG: Maintaining qmail in 2019

On Wednesday, March 6, I attended New York City BSD User Group and presented Maintaining qmail in 2019 . This one pairs nicely with my recent DevOpsDays Ignite talk about why and how to Run Your @wn Email Server! That this particular “how” could be explained in 5 minutes is remarkable, if I may say so myself. In this NYCBUG talk — my first since 2014 — I show my work. It’s a real-world,…