# rules

Published articles for rules.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Five rules for running an incident

DevFeed: [Five rules for running an incident](<https://devfeed.tech/articles/five-rules-for-running-an-incident-34021.md>)

Original publisher: [Read original article](<https://sridharrajarao.com/blog/running-an-incident/>)

Author: Sridhar Rajarao

Published: 2026-05-27T00:00:00Z

Content type: opinion

Language: en

Sources: [Sridhar Rajarao](<https://devfeed.tech/sources/sridhar-rajarao.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [customer-experience](<https://devfeed.tech/tags/customer-experience.md>), [incident](<https://devfeed.tech/tags/incident.md>), [incident-management](<https://devfeed.tech/tags/incident-management.md>), [on-call](<https://devfeed.tech/tags/on-call.md>), [outage](<https://devfeed.tech/tags/outage.md>), [postmortem](<https://devfeed.tech/tags/postmortem.md>), [production](<https://devfeed.tech/tags/production.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [root-cause-analysis](<https://devfeed.tech/tags/root-cause-analysis.md>), [rules](<https://devfeed.tech/tags/rules.md>), [signal](<https://devfeed.tech/tags/signal.md>), [speed](<https://devfeed.tech/tags/speed.md>), [sre](<https://devfeed.tech/tags/sre.md>), [team](<https://devfeed.tech/tags/team.md>)

### AI overview

This opinion article presents five rules for handling production incidents: assess severity by customer impact, use an Incident Commander, mitigate before investigating root cause, maintain regular communication, and use postmortems for learning and accountable follow-up.

### Source excerpt

The difference between a 10-minute incident and a 3-hour outage is rarely technical. Five things I wish every on-call team locked in before their first big page.

## Weak AVL Tree

DevFeed: [Weak AVL Tree](<https://devfeed.tech/articles/weak-avl-tree-31118.md>)

Original publisher: [Read original article](<https://maskray.me/blog/2025-12-14-weak-avl-tree>)

Published: 2025-12-14T08:00:00Z

Content type: tutorial

Language: en

Sources: [MaskRay](<https://devfeed.tech/sources/maskray.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [data-structure](<https://devfeed.tech/tags/data-structure.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [root](<https://devfeed.tech/tags/root.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [rules](<https://devfeed.tech/tags/rules.md>)

### AI overview

This article introduces weak AVL trees as a rank-based balanced binary search tree and compares their balancing behavior with AVL and red-black trees. It describes rank differences, insertion cases, rotation bounds, and an implementation detail for encoding ranks, while noting that deletion is not yet described.

### Source excerpt

tl;dr: Weak AVL trees are replacements for AVL trees and red-black trees. The 2014 paper

## Suppressions of Suppressions

DevFeed: [Suppressions of Suppressions](<https://devfeed.tech/articles/suppressions-of-suppressions-36196.md>)

Original publisher: [Read original article](<https://overreacted.io/suppressions-of-suppressions/>)

Published: 2025-06-11T00:00:00Z

Content type: article

Language: en

Sources: [Dan Abramov](<https://devfeed.tech/sources/dan-abramov.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [ci](<https://devfeed.tech/topics/ci.md>), [syntax](<https://devfeed.tech/topics/syntax.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [code](<https://devfeed.tech/tags/code.md>), [false-positives](<https://devfeed.tech/tags/false-positives.md>), [lint](<https://devfeed.tech/tags/lint.md>), [linter](<https://devfeed.tech/tags/linter.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [rules](<https://devfeed.tech/tags/rules.md>)

### AI overview

The article examines lint-rule suppressions: they can handle false positives and gradual rule adoption, but suppressing certain rules may cause serious problems. It proposes a lint rule that prevents suppression of selected other rules and notes that this protection can itself be suppressed.

### Source excerpt

I heard you like linting.

## Standard Token Exchange is now officially supported in Keycloak 26.2

DevFeed: [Standard Token Exchange is now officially supported in Keycloak 26.2](<https://devfeed.tech/articles/standard-token-exchange-is-now-officially-supported-in-keycloak-26-2-31711.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/05/standard-token-exchange-kc-26-2>)

Author: Giuseppe Graziano

Published: 2025-05-26T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [preview](<https://devfeed.tech/tags/preview.md>), [release](<https://devfeed.tech/tags/release.md>), [rules](<https://devfeed.tech/tags/rules.md>), [saml](<https://devfeed.tech/tags/saml.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [settings](<https://devfeed.tech/tags/settings.md>), [sso](<https://devfeed.tech/tags/sso.md>), [standard](<https://devfeed.tech/tags/standard.md>), [token](<https://devfeed.tech/tags/token.md>)

### AI overview

Keycloak 26.2 officially supports Standard Token Exchange and complies with OAuth 2.0 Token Exchange (RFC 8693). The feature lets clients exchange tokens, configure exchanges through the Admin Console, and enforce rules with Client Policies.

### Source excerpt

The Token Exchange feature has been available in Keycloak for a long time, but only as a preview feature. With the release of Keycloak 26.2, we're happy to share that Standard Token Exchange is now officially supported and fully compliant with OAuth 2.0 Token Exchange (RFC 8693). What is Token Exchange? 🔄 Token Exchange is a mechanism that allows a client to exchange one token for another. In the context of Keycloak, this means a client can exchange a token originally issued for another client and receive a new token issued specifically for itself. Token Exchange is especially helpful in these scenarios: 🎯 Different Audience When a token was issued for one service but needs to be used to access another, Token Exchange can issue a new token with the appropriate audience. 🔐 Scoped Permissions If a client needs to access a service with more limited permissions, it can exchange its token for one with reduced or more specific scopes. What's new? 🆕 ✅ Official support (no longer a preview feature) 📘 Compliance with RFC 8693 (OAuth 2.0 Token Exchange) 🖱 Simple configuration via the Admin Console (just a switch in client settings) 🛡 Integration with Client Policies to enforce custom rules. You can restrict exchanges to specific clients, or deny exchanges based on requested scopes. How to get started 🚀 If you're using Keycloak 26.2 or later, there's nothing extra to enable. Token Exchange is ready to use, just open the client settings in the admin console and enable the dedicated switch. If you're still using the preview feature of token exchange, check the migration guide and the comparison to understand the differences and plan your migration. 📄 For full setup instructions and configuration details, refer to the official documentation. What's next? 🔍 We're continuing to expand Token Exchange support with future enhancements such as: 🔄 Exchanging tokens issued by external identity providers 👤 Using token exchange to impersonate users Stay tuned for updates in upcoming rele

## EU CRA: What does it mean for open source?

DevFeed: [EU CRA: What does it mean for open source?](<https://devfeed.tech/articles/eu-cra-what-does-it-mean-for-open-source-36392.md>)

Original publisher: [Read original article](<https://berthub.eu/articles/posts/eu-cra-what-does-it-mean-for-open-source/>)

Published: 2023-12-30T09:56:56Z

Content type: opinion

Language: en

Sources: [Bert Hubert's writings](<https://devfeed.tech/sources/bert-hubert-s-writings.md>)

Topics: [cyber resilience act](<https://devfeed.tech/topics/cyber-resilience-act.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [Computing](<https://devfeed.tech/topics/computing.md>)

Tags: [compliance](<https://devfeed.tech/tags/compliance.md>), [cyber-resilience-act](<https://devfeed.tech/tags/cyber-resilience-act.md>), [eclipse-foundation](<https://devfeed.tech/tags/eclipse-foundation.md>), [eu](<https://devfeed.tech/tags/eu.md>), [europe](<https://devfeed.tech/tags/europe.md>), [legal](<https://devfeed.tech/tags/legal.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [regulatory](<https://devfeed.tech/tags/regulatory.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [rules](<https://devfeed.tech/tags/rules.md>), [security](<https://devfeed.tech/tags/security.md>), [software](<https://devfeed.tech/tags/software.md>), [standards](<https://devfeed.tech/tags/standards.md>)

### AI overview

This opinion examines the final compromise text of the EU Cyber Resilience Act and its implications for open-source software. It discusses community concerns about applying the act's development, testing, auditing, and support requirements to open-source projects, while arguing that some criticism of the final text is unfounded.

### Source excerpt

The final compromise text of the EU Cyber Resilience Act is now officially available, and various open source voices are currently opining on it. This is a complex act and other parts of the open source world (like the Eclipse Foundation and NLNet Labs) have been hard at work to advocate with the EU and member states to get a CRA that is good for open source. I've also been highly critical.

## Blog: How we Sign and Verify Falco Plugins and Rules

DevFeed: [Blog: How we Sign and Verify Falco Plugins and Rules](<https://devfeed.tech/articles/blog-how-we-sign-and-verify-falco-plugins-and-rules-32523.md>)

Original publisher: [Read original article](<https://falco.org/blog/sign-verify-plugins-rules/>)

Published: 2023-10-18T00:00:00Z

Content type: article

Language: en

Sources: [Falco - Falco](<https://devfeed.tech/sources/falco-falco.md>), [Falco - The Falco blog](<https://devfeed.tech/sources/falco-the-falco-blog.md>)

Topics: [Falco](<https://devfeed.tech/topics/falco.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [open-source-security](<https://devfeed.tech/topics/open-source-security.md>), [Security](<https://devfeed.tech/topics/security.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [branch-protection-rules](<https://devfeed.tech/tags/branch-protection-rules.md>), [code-review](<https://devfeed.tech/tags/code-review.md>), [falco](<https://devfeed.tech/tags/falco.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [rules](<https://devfeed.tech/tags/rules.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain](<https://devfeed.tech/tags/software-supply-chain.md>)

### AI overview

This article explains how Falco v0.36.0, falcoctl 0.6.1, and the 0.7.0 Helm chart improve the security of Falco plugins and rule sets. It describes their OCI-based distribution and discusses safeguards against software supply chain attacks, including signing, verification, branch protection, code review, reproducible builds, dependency pinning, build isolation, and MFA.

### Source excerpt

Falco v0.36.0 and the Software Supply Chain (SSC) security The latest stable Falco release, v0.36.0, alongside falcoctl 0.6.1 and the 0.7.0 Helm chart introduced new features and improvements to the security of Falco's software supply chain artifacts. Falco's two main downloadable artifacts are plugins and rule sets. They're shipped in the OCI specification format and distributed through the official Falcosecurity OCI repositories. Software supply chain attacks aim at injecting malicious code into software components, to compromise downstream users. These types of attacks are among the primary threats in today's threat landscape. In particular, attackers abuse trust relationships existing between the different open-source stakeholders. The increase in attacks on open-source software throughout the last few years demonstrates that attackers consider them a viable means for spreading malware. SSC safeguards Securing the software supply chain may seem daunting at first glance, but there are a lot of safeguards that can be put in action. And there are ways to categorize them, and ways to prioritize them. Safeguards against supply chain attacks can be classified by control type: directive, preventive, detective, corrective, and recovery. But there ain't no such thing as a free lunch. Besides safeguard classifications, the utility-to-cost ratio can also be an important factor in deciding where to start in improving the supply chain security of software, and can be pretty easy to measure it. There are cheap preventive safeguards that can be implemented in open source projects especially, where stakeholders platea can be pretty wide considering the contributions. For example, branch protection rules are usually simple per-code repository configurations in providers (e.g. GitHub) and alongside pull request-based flows enforcing code review quorum, are also standard best practices nowadays. The same applies to reproducible builds, dependency pinning, build steps isolation, MF

## Tony's rules for Gradle plugin authors

DevFeed: [Tony's rules for Gradle plugin authors](<https://devfeed.tech/articles/tony-s-rules-for-gradle-plugin-authors-30467.md>)

Original publisher: [Read original article](<https://dev.to/autonomousapps/tonys-rules-for-gradle-plugin-authors-28k3>)

Author: Tony Robalik

Published: 2022-04-25T01:30:01Z

Content type: tutorial

Language: en

Sources: [DEV Community: Tony Robalik](<https://devfeed.tech/sources/dev-community-tony-robalik.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [ordering](<https://devfeed.tech/topics/ordering.md>), [debug](<https://devfeed.tech/topics/debug.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [container](<https://devfeed.tech/tags/container.md>), [context](<https://devfeed.tech/tags/context.md>), [debug](<https://devfeed.tech/tags/debug.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [lazy](<https://devfeed.tech/tags/lazy.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rules](<https://devfeed.tech/tags/rules.md>), [software](<https://devfeed.tech/tags/software.md>), [types](<https://devfeed.tech/tags/types.md>)

### AI overview

An advisory article for Gradle plugin authors that presents practical rules for separating configuration and execution, using lazy configuration and callbacks, avoiding cross-project configuration and internal APIs, and designing stable public APIs.

### Source excerpt

The Gradle API surface is huge. It is also littered with unspoken rules whose enforcement mechanism is inscrutable runtime failures. I want to say "we can do better," but really, we can't. The best we can do at present is mitigate by internalizing the following rules. A rule by any other name I call these "rules," but in many cases they can be only guidelines. Sometimes we have to break a rule because there really is no other way to achieve our goals. Nevertheless, the following rules were all learned the hard way, and should only be violated consciously. The rules An important bit of context for the following is that a Gradle build is divided into two1 primary phases: configuration and execution. Most of the rules are about what it is permissible to do in one phase or the other. Each phase carries with it different restrictions. Don't do expensive computations in the configuration phase It slows down the build. Such computations should be encapsulated in a task action. Avoid the create method on Gradle's container types Use register instead. Avoid the all callback on Gradle's container types Use configureEach instead. Don't assume your plugin is applied after another Instead, use pluginManager.withPlugin(). Avoid making any ordering assumptions of any kind Lazy configuration, callbacks, and provider chains are the name of the game. Don't access a Project instance inside a task action It breaks the configuration cache, and will eventually be deprecated. Don't access another project's Project instance This is called cross-project configuration and is extremely fragile. It creates implicit, nearly un-modelable dependencies between projects and can only lead to grief. Instead, share artifacts across projects by declaring dependencies. It also breaks the experimental project isolation feature, but that won't be truly relevant for a while. Avoid afterEvaluate It introduces subtle ordering issues which can be very challenging to debug. What you're looking for is probably

## Custom Matrix Block Peer Validation Rules

DevFeed: [Custom Matrix Block Peer Validation Rules](<https://devfeed.tech/articles/custom-matrix-block-peer-validation-rules-31255.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/custom-matrix-block-validation-rules>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2021-05-24T04:00:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [Content Management System](<https://devfeed.tech/topics/cms.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [authoring](<https://devfeed.tech/tags/authoring.md>), [better](<https://devfeed.tech/tags/better.md>), [blocks](<https://devfeed.tech/tags/blocks.md>), [builder](<https://devfeed.tech/tags/builder.md>), [cms](<https://devfeed.tech/tags/cms.md>), [content](<https://devfeed.tech/tags/content.md>), [craft](<https://devfeed.tech/tags/craft.md>), [custom](<https://devfeed.tech/tags/custom.md>), [errors](<https://devfeed.tech/tags/errors.md>), [experience](<https://devfeed.tech/tags/experience.md>), [insights](<https://devfeed.tech/tags/insights.md>), [leverage](<https://devfeed.tech/tags/leverage.md>), [matrix](<https://devfeed.tech/tags/matrix.md>), [module](<https://devfeed.tech/tags/module.md>), [peer](<https://devfeed.tech/tags/peer.md>), [rules](<https://devfeed.tech/tags/rules.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

A tutorial on extending Craft CMS Matrix block content builders with custom peer validation rules. The example validates sundae blocks by limiting scoop and topping counts, requiring at least one scoop, and rejecting a specific flavor combination.

### Source excerpt

Leverage a Craft CMS module to add custom peer validation rules to your content builder Matrix blocks for a better content authoring experience

## Monitoring GitHub releases with Prometheus

DevFeed: [Monitoring GitHub releases with Prometheus](<https://devfeed.tech/articles/monitoring-github-releases-with-prometheus-37809.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/monitor-github/>)

Author: Carlos Alexandro Becker

Published: 2018-12-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [Prometheus](<https://devfeed.tech/topics/prometheus.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [format](<https://devfeed.tech/tags/format.md>), [github](<https://devfeed.tech/tags/github.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [releases](<https://devfeed.tech/tags/releases.md>), [rules](<https://devfeed.tech/tags/rules.md>)

### AI overview

The article describes two Prometheus exporters for monitoring GitHub releases. One tracks releases of external projects so teams can identify updates, while the other reports release asset download counts for the author's projects.

### Source excerpt

I have written some exporters to observe things on GitHub. This is how and why.

## Holacracy - Whatˋs The Fuss About? Part 1

DevFeed: [Holacracy - Whatˋs The Fuss About? Part 1](<https://devfeed.tech/articles/holacracy-what-s-the-fuss-about-part-1-35109.md>)

Original publisher: [Read original article](<https://upday.github.io/blog/holacrcy-part-1/>)

Author: Peter Krauß (peter.krauss@upday.com)

Published: 2017-06-26T19:39:55Z

Content type: opinion

Language: en

Sources: [Upday](<https://devfeed.tech/sources/upday.md>)

Topics: [Agile](<https://devfeed.tech/topics/agile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Self-organizing Team](<https://devfeed.tech/topics/self-organizing-team.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [culture](<https://devfeed.tech/tags/culture.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [rules](<https://devfeed.tech/tags/rules.md>)

### AI overview

This article examines Holacracy as an alternative to traditional hierarchical management. It describes principles such as distributed decision-making, defined responsibilities, and a constitution of organizational rules, while noting that Holacracy is not a universal solution.

### Source excerpt

What is the right approach to being as happy, productive and as innovative as possible? Well, I guess this question pops up in many companies and there are many books out there trying to give an answer to this question. However, I deeply believe there is not one answer "to bind them all". However some principles are helpful to create a healthy environment - this means for us updudes: you need independence to make your own decisions you need to know what you are responsible for you need to know what you can expect from others and what they are responsible/accountable for If all these conditions are met, the probability you finish your task with the highest quality and efficiency is high - and you may even have some fun in the meantime. One guide that everyone is talking about in the moment is Holacracy. So we decided to have a closer look. And what did we realize? It is not the "Silver Bullet" to solve all our problems! (What a surprise!) But Holacracy offers many tools we started using to come closer to our Garden of Eden. In the next sections I will describe some key aspects of Holacracy. Our experiences will be part of a follow-up post. The CTO is Dead - Long Live The Constitution The classical hierarchical system - one person is in charge and takes all the decisions - worked pretty well for a few hundred years. It assumes this person is able to take the best possible decisions because he or she foresees every requirement and fully understands the big picture. This might be true for assembly lines producing simple things. But it already becomes unlikely if you think about fully automated, robot-controlled assembly lines in car production. It is completely impossible in an agile and fast changing software development process. What could be the alternative? Anarchy, grass-roots democracy based decisions or maybe hiring an almighty genius who knows everything? But this would be the omniscient leader again... And how would you know he/she knows everything? The answer Ho

## Translating English Sentences into Propositional Logic Statements

DevFeed: [Translating English Sentences into Propositional Logic Statements](<https://devfeed.tech/articles/translating-english-sentences-into-propositional-logic-statements-40533.md>)

Original publisher: [Read original article](<http://nbviewer.ipython.org/url/norvig.com/ipython/PropositionalLogic.ipynb>)

Published: 2016-10-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Peter Norvig](<https://devfeed.tech/sources/peter-norvig.md>)

Topics: [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [logic](<https://devfeed.tech/tags/logic.md>), [program](<https://devfeed.tech/tags/program.md>), [regular-expressions](<https://devfeed.tech/tags/regular-expressions.md>), [rules](<https://devfeed.tech/tags/rules.md>), [translation](<https://devfeed.tech/tags/translation.md>)

### AI overview

This tutorial presents a program that translates many informal English sentences into formal propositional-logic statements. It explains an ordered set of translation rules, recursive processing, propositional-symbol definitions, regular expressions, and test cases, while noting that the approach is limited and can produce errors.

### Source excerpt

Automatically converting informal English sentences into formal Propositional Logic.

## Let's Build A Simple Interpreter. Part 8.

DevFeed: [Let's Build A Simple Interpreter. Part 8.](<https://devfeed.tech/articles/let-s-build-a-simple-interpreter-part-8-33329.md>)

Original publisher: [Read original article](<https://ruslanspivak.com/lsbasi-part8/>)

Author: Ruslan Spivak

Published: 2016-01-18T11:10:00Z

Content type: tutorial

Language: en

Sources: [Ruslan Spivak](<https://devfeed.tech/sources/ruslan-spivak.md>)

Topics: [Parsing](<https://devfeed.tech/topics/parsing.md>), [Parser](<https://devfeed.tech/topics/parser.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [constructor](<https://devfeed.tech/tags/constructor.md>), [expression](<https://devfeed.tech/tags/expression.md>), [extend](<https://devfeed.tech/tags/extend.md>), [generate](<https://devfeed.tech/tags/generate.md>), [here](<https://devfeed.tech/tags/here.md>), [node](<https://devfeed.tech/tags/node.md>), [rules](<https://devfeed.tech/tags/rules.md>)

### AI overview

This tutorial explains how to add unary plus and unary minus operators to an interpreter. It covers grammar changes, a UnaryOp abstract syntax tree node, and parser and interpreter updates.

### Source excerpt

Today we'll talk about unary operators, namely unary plus (+) and unary minus (-) operators. A lot of today's material is based on the material from the previous article, so if you need a refresher just head back to Part 7 and go over it again. Remember: repetition is the ...

## A Python puzzle

DevFeed: [A Python puzzle](<https://devfeed.tech/articles/a-python-puzzle-29432.md>)

Original publisher: [Read original article](<http://akaptur.github.com/blog/2013/10/29/a-python-puzzle/>)

Published: 2013-10-30T02:40:00Z

Content type: article

Language: en

Sources: [Allison Kaptur](<https://devfeed.tech/sources/allison-kaptur.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [function](<https://devfeed.tech/tags/function.md>), [puzzle](<https://devfeed.tech/tags/puzzle.md>), [python](<https://devfeed.tech/tags/python.md>), [rules](<https://devfeed.tech/tags/rules.md>), [stateful](<https://devfeed.tech/tags/stateful.md>)

### AI overview

A Python puzzle challenges readers to find three valid Python expressions that produce different results when run separately, on one line with semicolons, and inside a function. The solution must avoid introspection, dunder methods, order dependence, and stateful behavior.

### Source excerpt

A couple of Hacker Schoolers were discussing an interesting corner of python today. We discovered a nice bit of trivia: there exist three lines of python code that display the following behavior: 1 2 3 4 5 6 7 8 9 10 11 12 >>> LINE_A >>> LINE_B >>> LINE_C False >>> LINE_A; LINE_B; LINE_C True >>> def my_function(): ... LINE_A ... LINE_B ... LINE_C >>> my_function() True What are the lines? Some ground rules: Introspection of any kind is cheating (e.g. noting the line number). No dunder (__foo__) methods allowed. Each line is a valid python expression. You can't rely on order: while the lines will always execute A -> B -> C, a complete solution behaves identically if e.g. the semicolon version happens before the separate-line version. No cheating with the function: e.g. you can't add a return unless you add it everywhere. Edit: And nothing stateful. For bonus points, code golf! My solution to this is 14 19 characters long, not counting whitespace.

## Introduction to Cellular Automata

DevFeed: [Introduction to Cellular Automata](<https://devfeed.tech/articles/the-wild-world-of-cellular-automata-40214.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/06/29/conways-game-of-life/>)

Published: 2011-06-29T21:08:45Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Cellular automaton](<https://devfeed.tech/topics/cellular-automaton.md>), [Automaton](<https://devfeed.tech/topics/automaton.md>), [Finite-state machine](<https://devfeed.tech/topics/finite-state-machine.md>)

Tags: [cellular-automata](<https://devfeed.tech/tags/cellular-automata.md>), [computability-theory](<https://devfeed.tech/tags/computability-theory.md>), [conus](<https://devfeed.tech/tags/conus.md>), [conway](<https://devfeed.tech/tags/conway.md>), [life](<https://devfeed.tech/tags/life.md>), [mathematica](<https://devfeed.tech/tags/mathematica.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [patterns](<https://devfeed.tech/tags/patterns.md>), [programming](<https://devfeed.tech/tags/programming.md>), [rules](<https://devfeed.tech/tags/rules.md>), [simulation](<https://devfeed.tech/tags/simulation.md>), [turing-machine](<https://devfeed.tech/tags/turing-machine.md>)

### AI overview

An introductory tutorial on cellular automata, explaining cells, states, transition rules, simultaneous updates, and a one-dimensional binary example.

### Source excerpt

Cellular Automata There is a long history of mathematical models for computation. One very important one is the Turing Machine, which is the foundation of our implementations of actual computers today. On the other end of the spectrum, one of the simpler models of computation (often simply called a system) is a cellular automaton. Surprisingly enough, there are deep connections between the two. But before we get ahead of ourselves, let's see what these automata can do.

## Simple Rules, Complex Systems and Software Development

DevFeed: [Simple Rules, Complex Systems and Software Development](<https://devfeed.tech/articles/simple-rules-complex-systems-and-software-development-30407.md>)

Original publisher: [Read original article](<https://www.mdubakov.com/posts/simple-rules-complex-systems-software-development/>)

Published: 2009-03-23T15:41:57Z

Content type: opinion

Language: en

Sources: [Blog by Michael Dubakov](<https://devfeed.tech/sources/blog-by-michael-dubakov.md>)

Topics: [Complex Systems](<https://devfeed.tech/topics/complex-systems.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Development](<https://devfeed.tech/topics/development.md>), [Agile](<https://devfeed.tech/topics/agile.md>), [Cellular automaton](<https://devfeed.tech/topics/cellular-automaton.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [communication](<https://devfeed.tech/tags/communication.md>), [complex-systems](<https://devfeed.tech/tags/complex-systems.md>), [development](<https://devfeed.tech/tags/development.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [logic](<https://devfeed.tech/tags/logic.md>), [rules](<https://devfeed.tech/tags/rules.md>), [simulation](<https://devfeed.tech/tags/simulation.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article argues that simple rules can produce complex behavior, using ant colonies, bird flocks, and Conway's Game of Life as examples. It applies this idea to software development, arguing that simple processes such as Agile and Scrum can support learning, feedback, communication, and cooperation, while excessive process complexity can produce rigid behavior.

### Source excerpt

Many complex systems are based on simple rules. A set of several simple rules leads to complex, intelligent behavior. While a set of complex rules often leads to a dumb and primitive behavior. There are many examples. Ants Colony How ants search for food? They do not have cell phones, cars and mini-markets near the nest. They should have something simpler to communicate. Here is how ants work: Travel randomly in search for food. Take a piece of food and head straight back to the nest. On the way back to the nest lay down an odor trail. Notify nestmates of the discovered food encouraging them to leave the nest. These newly recruited ants will follow the odor trail directly to the food source. In their turn, each ant will reinforce the odor trail until the food is gone. Sounds simple? Take a look at this very nice ants colony model. Drop some food and enjoy the action. Birds Flocks Birds flocks are beautiful. You may think that the movement gets orchestrated by one savvy bird. But this is not the case. A bird glock is guided by three simple principles (every decent bird knows them): Separation: steer to avoid stumbling upon local flockmates. Alignment: steer towards the average heading of local flockmates. Cohesion: steer to move towards the average position of local flockmates. Simple? Yes, it is. Look at the picture on the right. It's just amazing! Game of Life Game of Life was invented in 1970 by John Conway. It is a cellular automaton and simulates the birth, death, etc., of organisms based on certain rules: Each cell with one or no neighbors dies, as if of loneliness. Each cell with four or more neighbors dies, as if of overpopulation. Each cell with two or three neighbors survives. Each empty cell with three neighbors becomes populated. Simple rules. But these rules lead to fantastic diversity of the forms. Different types of the forms have been discovered e.g. still objects, oscillators, gliders, spaceships, etc. It is impossible to predict the state of a syste