Urgent.News

What's breaking now, across thousands of outlets.

Tech

The Red Pencil Workshop

The workshop opens on a staged failure, because a visible row count teaches faster than a definition. On the projector, a fake ledger shows three captures for one invoice after a short reply suggested a three-try loop around a gateway timeout. The teaching assistant does not start a lecture. She slides a red pencil across the bench and holds the next patch until the pencil mark and the test log…

The "Red Pencil Workshop" introduces a unique teaching method that starts with a staged failure to demonstrate concepts more effectively than through definitions alone. This workshop is designed for individuals who have experience in writing small Python services and peer-reviewing patches before they are merged into the main codebase.

The method employs a red pencil as a script exit line, which is read aloud before any discussion about merging occurs. If the pencil mark and the test log do not agree, the paragraph is deemed unsuccessful.

The workshop is 80 minutes long, with each section serving a specific purpose. The first ten minutes review a previous failure scenario, displaying the number of attempts on the screen to emphasize the importance of a row count. The next fifteen minutes focus on setting up the local environment, including creating a virtual environment and running a command that simulates three attempts for a problematic policy.

Following this, the first exercise takes up twenty minutes, where pairs of students write a charge function that records an invoice key before a call and prevents a second call within the same process, even if the initial call raised a timeout.

The following fifteen minutes are dedicated to a countercheck, where a neighbor may provide a model reply to be pasted into a text file. However, only the neighbor running the stamp performs this action, and the stamp does not indicate confidence. The final twenty minutes involve a clean-directory rerun, including a scenario where someone may manually type a passing line. The neighbor then deletes this file, runs the test, and ensures the pencil follows the gauge.

The workshop materials are designed to be copied and executed, focusing on a specific lab design rather than a transcript of a timed class or a measured production incident. The `ledger.py` module appends an attempt before timing out, creating a trap for students who may retry the loop. To address this, students replace the loop with `charge_once`.

The `seen` set is kept only in memory, highlighting a weakness in the design. For the duration of this workshop, the focus is on stopping at one process, promoting a deeper understanding of the material.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Thinking about the conditions for closing a customer inquiry in code: Sending and completion are different

고객 문의를 시스템에서 ‘완료’로 옮기는 시점은 단순히 답장을 보냈을 때가 아닙니다. 요청을 실제로 처리했더라도 고객에게 확인 대상과 재문의 경로를 알리지 않았다면, 상태는 닫혔지만 대화는 닫히지 않은 셈입니다. 이 글은 작은 팀에서 문의 상태를 설계할 때 쓸 수 있는 종료 조건 을 정리합니다. 특정 제품 구현이 아니라 운영 규칙의 예시입니다.

  • Closing a customer inquiry requires more than just sending an email.
  • Completion state occurs when agreed standards are satisfied and recorded.
  • Customer confirmation is necessary before marking an inquiry as completed.

robots.txt Is a Contract: Parsing It Without Lying to Yourself

You fetched /robots.txt , got a 200, grepped for Disallow , found nothing scary, and started crawling. That is not reading the contract — that is skimming the cover page.

  • Robots.txt is a contract requiring careful parsing to avoid self-deception.
  • Crawl-delay, user-agent scoping, and contract focus on front door are often overlooked.

10 Curated PMP Mistakes That Drop Paid Filters and Kill Fill

On October 6, 2026 , the IAB Tech Lab opened a public comment period aimed at simplifying programmatic plumbing. Curated private marketplace lines are a big part of that conversation: buyers pay for…

  • Curated private marketplace lines play significant role in programmatic plumbing streamlining.
  • Upstream filter becomes non-existent when operations treat structure as generic PMP row.
  • Leaving privateauction unset allows open auction competition on invite-only packages.

More from Tuesday 13 October →