A Meeting of the School Trustees — Robert Harris

Sometimes we’re so prone to failure that advice sticks better when inverted. Here’s a list of ways to waste everyone’s time at a meeting—so we can all do better.

  1. Have a meeting instead of sending an email. Or thinking for yourself.
  2. Don’t provide an agenda for the meeting in advance.
  3. If someone does send an agenda and supporting documents before the meeting, skip them. Just ask for someone to bring you up to speed when the session begins.
  4. The more, the merrier. Invite everyone who might know something about or be interested in the topic.
  5. Practice bikeshedding, aka Parkinson’s law…


What is online is bound to perish sooner or later. Is there a way to publish content that outlives an average internet company?

The Scribe — Fausto Zanaro

Yahoo Answers, for a long time the largest Q&A website, will shut down on May 4, 2021.

When we publish something on the internet, it feels like it will be around forever. But the internet is a network of computer networks — a communication medium.

Millions of people have created and published content on MySpace and LiveJournal. Gone. Can you find any Google+ posts? Of course not; all were deleted during the shutdown.

Do you think Quora will be around in 2041?

One day Medium will shut down too, and this article will disappear.

Some argue that the answer…


I had an honor to speak on Changelog’s Go Time podcast along with Jérôme Petazzoni on Continuous Integration and Delivery (CI/CD). We discussed:

  • What problems does CI/CD solve?
  • What does it look like when it’s done well?
  • What are the pitfalls in doing CI/CD and how to avoid them?

I hope you enjoy the show!

Originally published at https://semaphoreci.com on February 10, 2021.


There is a more pervasive enemy than the coronavirus

Oedipus Cursing His Son, Polynices — Henry Fuseli (1786)

There are three types of people right now:

  1. People who live in fear
  2. People who fear for others
  3. People who are not afraid

Whatever group you belong to, the pandemic has given you good reasons to be more stressed out than usual.

So let’s revisit stress 101.

Stress is a biological process designed to prepare you for a threat.

Stress shuts down the immune system so that your body can redirect energy to “fight or flight”.

Normally, stress is supposed to be “on” for a short time, like fifteen minutes. …


Automation is still key, with a few twists.

Adoption of serverless technology is surely growing, with emerging product companies who built on top of it. CloudZero recently wrote a detailed
article
about their experience in achieving continuous integration and delivery (CI/CD) for their all-serverless system.

Serverless is a new paradigm in which we need to neither administer nor scale the servers that run our code. The promise is that much less operations work is needed to deliver value to customers.

The catch is that the unit of code deployment is now a function, not an application of arbitrary complexity. Besides code, deployment also includes configuring managed services and…


Learn best practices for building sustainable web apps with behavior-driven development.

Why do we fall sir? So that we can learn to pick ourselves up.
—Alfred (Michael Cane) in Batman Begins

I built my first Rails app ten years ago. I’ve tried all approaches, and if there’s one thing that I’m certain of, it’s that I can’t work without writing tests. And writing tests first is what has helped me advance my programming skills the most.

It’s pretty simple. We want to feel and be as productive on day 1000 as we are on day 1 of the project. We want to be fast. For that we need clean code.

We…


Shipping early and improving later is a huge competitive advantage, but our instincts often get in the way of that.

One of the most important things we teach the junior programmers who join the Semaphore team is the mindset of shipping in small iterations. This is a simple concept, however there’s an inevitable misunderstanding that stems from the subjective ideas of “small”. Thus, in practice we need to teach by example what we really mean by small.

When you’re inexperienced, the desire to do and show your best work often leads to perfectionism. In programming, perfectionism often manifests itself as “I haven’t submitted my pull request because I haven’t completed everything yet”.

Perfectionism is at odds with the goals of…


Photo by Marcos Luiz Photograph on Unsplash

Here’s a quick tip if you’re looking for a way to reduce unnecessary real-time chat at work:

  • Set up a shared todo list called Q&A.
  • When you want to ask a coworker or another team’s lead a question, create a todo with the question as text. Add any extra information as a note, and assign it to the appropriate person.
  • When you get your answer, mark the todo as done. (And make sure to give thanks!)

This works great as a channel of communication between teams too. At Semaphore, we came up with this pattern while discussing how to moderate…


How building software in a fast feedback loop helps push the whole team forward.

At the heart of continuous delivery is a fast feedback loop that immediately shows developers the effects of their work. Mistakes are found and fixed quickly, while beneficial changes can be released and deployed to customers without having to wait for a distant future release date. This rapid feedback helps build an organizational culture of learning and responsibility.

The foundation is continuous integration: whenever developers commit new changes into version control, fast automated tests run in a production-like environment to ensure that both the code and the system as a whole are safe to deploy to users. In many cases…


It’s almost become trendy nowadays to say, “I enjoy learning new things”. A quick search in my company’s recruiting software returns hundreds of candidates whose resume or cover letter includes that phrase. However, we often overlook the significance of learning and its fundamental features.

It’s great to have a routine and work in an environment where we can gradually develop our skills a little each day. Absorbing new bits of information expands our knowledge and understanding of the world.

One of my university professors defined learning as a change of personality. That’s impossible without an effort: learning is a strain…

Marko Anastasov

Entrepreneur, Software Engineer, and Author · Helping developers move fast with SemaphoreCI.com · 🍓

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store