# procedural

Published articles for procedural.

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

## Figma Is Turning Designers Into Plugin Makers

DevFeed: [Figma Is Turning Designers Into Plugin Makers](<https://devfeed.tech/articles/figma-is-turning-designers-into-plugin-makers-17416.md>)

Original publisher: [Read original article](<https://webdesignerdepot.com/figmas-new-idea-is-wild-just-ask-ai-to-build-the-plugin-you-need/>)

Author: Alex Harper

Published: 2026-09-14T15:30:00Z

Content type: article

Language: en

Sources: [Web Designer Depot](<https://devfeed.tech/sources/web-designer-depot.md>)

Topics: [Figma](<https://devfeed.tech/topics/figma.md>), [Figma plugin](<https://devfeed.tech/topics/figma-plugin.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [shaders](<https://devfeed.tech/topics/shaders.md>), [shader programming](<https://devfeed.tech/topics/shader-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-design-tools](<https://devfeed.tech/tags/ai-design-tools.md>), [ai-for-designers](<https://devfeed.tech/tags/ai-for-designers.md>), [ai-plugins](<https://devfeed.tech/tags/ai-plugins.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [creative-software](<https://devfeed.tech/tags/creative-software.md>), [design-automation](<https://devfeed.tech/tags/design-automation.md>), [design-tools](<https://devfeed.tech/tags/design-tools.md>), [figma](<https://devfeed.tech/tags/figma.md>), [figma-agent](<https://devfeed.tech/tags/figma-agent.md>), [figma-ai](<https://devfeed.tech/tags/figma-ai.md>), [figma-community](<https://devfeed.tech/tags/figma-community.md>), [figma-plugin](<https://devfeed.tech/tags/figma-plugin.md>), [figma-plugins](<https://devfeed.tech/tags/figma-plugins.md>), [figma-shaders](<https://devfeed.tech/tags/figma-shaders.md>), [future-of-design](<https://devfeed.tech/tags/future-of-design.md>), [generate](<https://devfeed.tech/tags/generate.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-plugins](<https://devfeed.tech/tags/generative-plugins.md>), [no-code-tools](<https://devfeed.tech/tags/no-code-tools.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [shader-programming](<https://devfeed.tech/tags/shader-programming.md>), [shaders](<https://devfeed.tech/tags/shaders.md>), [ui-design](<https://devfeed.tech/tags/ui-design.md>), [ux-design](<https://devfeed.tech/tags/ux-design.md>), [web-design](<https://devfeed.tech/tags/web-design.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

Figma is enabling designers to describe and generate coded plugins with AI instead of searching for existing tools. The article explains that these plugins can solve highly specific workflow problems, be published to the Figma Community or shared privately, and include features such as bulk restyling, type-ramp generation, layer renaming, and prototype-flow checking. Figma also offers AI-generated shaders for procedural and interactive visual effects, with code inspection available for shaders and self-created generative plugins.

### Source excerpt

Figma is turning a wild idea into reality: instead of searching for the perfect plugin, you can just ask AI to build it. If this catches on, designers may stop choosing the tools in their software--and start inventing them on demand.

## Still: From Akira to Ink Wash, Building a Generative Garden in WebGPU

DevFeed: [Still: From Akira to Ink Wash, Building a Generative Garden in WebGPU](<https://devfeed.tech/articles/still-from-akira-to-ink-wash-building-a-generative-garden-in-webgpu-4346.md>)

Original publisher: [Read original article](<https://tympanus.net/codrops/2026/09/09/still-from-akira-to-ink-wash-building-a-generative-garden-in-webgpu/>)

Author: Ming Jyun Hung

Published: 2026-09-09T14:11:57Z

Content type: article

Language: en

Sources: [Codrops](<https://devfeed.tech/sources/codrops.md>)

Topics: [webgpu](<https://devfeed.tech/topics/webgpu.md>), [procedural flowers](<https://devfeed.tech/topics/procedural-flowers.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [articles](<https://devfeed.tech/tags/articles.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [creative-coding](<https://devfeed.tech/tags/creative-coding.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [flower-animation](<https://devfeed.tech/tags/flower-animation.md>), [generative](<https://devfeed.tech/tags/generative.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>), [generative-garden](<https://devfeed.tech/tags/generative-garden.md>), [generative-tendrils](<https://devfeed.tech/tags/generative-tendrils.md>), [gpu-instancing](<https://devfeed.tech/tags/gpu-instancing.md>), [ink-wash-effect](<https://devfeed.tech/tags/ink-wash-effect.md>), [interactive-3d](<https://devfeed.tech/tags/interactive-3d.md>), [japanese-art](<https://devfeed.tech/tags/japanese-art.md>), [japanese-print-style](<https://devfeed.tech/tags/japanese-print-style.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [procedural-animation](<https://devfeed.tech/tags/procedural-animation.md>), [procedural-art](<https://devfeed.tech/tags/procedural-art.md>), [procedural-flowers](<https://devfeed.tech/tags/procedural-flowers.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [real-time-3d](<https://devfeed.tech/tags/real-time-3d.md>), [three-js](<https://devfeed.tech/tags/three-js.md>), [three-js-case-study](<https://devfeed.tech/tags/three-js-case-study.md>), [three-js-shading-language](<https://devfeed.tech/tags/three-js-shading-language.md>), [toon-shading](<https://devfeed.tech/tags/toon-shading.md>), [tsl](<https://devfeed.tech/tags/tsl.md>), [tsl-shaders](<https://devfeed.tech/tags/tsl-shaders.md>), [vat](<https://devfeed.tech/tags/vat.md>), [vertex-animation-textures](<https://devfeed.tech/tags/vertex-animation-textures.md>), [webgpu](<https://devfeed.tech/tags/webgpu.md>), [webgpu-shaders](<https://devfeed.tech/tags/webgpu-shaders.md>)

### AI overview

A technical deep dive into a WebGPU-based, real-time 3D generative garden. It describes combining toon shading, ink-wash shadows, silk-like grain, and procedural flowers and tendrils to translate Japanese print-inspired visual principles into an interactive web scene.

### Source excerpt

A technical deep dive into Still, exploring how WebGPU, procedural systems, and Japanese art influences come together to create a living generative garden.

## Agent memory as a moat: how context compounds

DevFeed: [Agent memory as a moat: how context compounds](<https://devfeed.tech/articles/agent-memory-as-a-moat-how-context-compounds-4776.md>)

Original publisher: [Read original article](<https://redis.io/blog/compounding-context-memory-as-the-moat/>)

Author: Cedric Turner

Published: 2026-08-12T00:00:00Z

Content type: article

Language: en

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

Topics: [AI Bots](<https://devfeed.tech/topics/ai-bots.md>), [AI Chat](<https://devfeed.tech/topics/ai-chat.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llm](<https://devfeed.tech/tags/llm.md>), [memory](<https://devfeed.tech/tags/memory.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [rag](<https://devfeed.tech/tags/rag.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [tech-de](<https://devfeed.tech/tags/tech-de.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

The article explains how persistent memory lets otherwise stateless LLM-based agents retain and reuse context across interactions. It distinguishes short- and long-term memory, outlines semantic, episodic, and procedural memory, and positions RAG as a starting point for building learning systems.

### Source excerpt

Base LLM inference is stateless. The model doesn't remember your last conversation, your users' preferences, or the mistake your agent made ten minutes ago. Unless the app supplies persisted context, everything gets discarded after each request. That ...

## Geometry Nodes Physics

DevFeed: [Geometry Nodes Physics](<https://devfeed.tech/articles/geometry-nodes-physics-19185.md>)

Original publisher: [Read original article](<https://code.blender.org/2026/07/geometry-nodes-physics/>)

Author: Jacques Lucke

Published: 2026-07-30T14:52:49Z

Content type: article

Language: en

Sources: [Blender](<https://devfeed.tech/sources/blender.md>)

Topics: [Simulation](<https://devfeed.tech/topics/simulation.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [blender](<https://devfeed.tech/tags/blender.md>), [collection](<https://devfeed.tech/tags/collection.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [features](<https://devfeed.tech/tags/features.md>), [general-development](<https://devfeed.tech/tags/general-development.md>), [geometry-nodes](<https://devfeed.tech/tags/geometry-nodes.md>), [gravity](<https://devfeed.tech/tags/gravity.md>), [lts](<https://devfeed.tech/tags/lts.md>), [mesh](<https://devfeed.tech/tags/mesh.md>), [node](<https://devfeed.tech/tags/node.md>), [physics](<https://devfeed.tech/tags/physics.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [systems](<https://devfeed.tech/tags/systems.md>), [vectors](<https://devfeed.tech/tags/vectors.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

This article describes Blender 5.2 LTS's new experimental hair and cloth dynamics system built with Geometry Nodes. It explains the declarative XPBD simulation framework, cloth and hair workflows, geometry bundles, and customizable effectors such as colliders, custom forces, and custom behavior closures.

### Source excerpt

Geometry Nodes Physics in Blender 5.2 LTS and beyond.

## Live coding with dir stepper

DevFeed: [Live coding with dir stepper](<https://devfeed.tech/articles/live-coding-with-dir-stepper-20947.md>)

Original publisher: [Read original article](<https://jakewharton.com/live-coding-with-dir-stepper/>)

Published: 2026-07-16T00:00:00Z

Content type: article

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [intellij-platform](<https://devfeed.tech/topics/intellij-platform.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Git](<https://devfeed.tech/topics/git.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Code](<https://devfeed.tech/topics/code.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [git](<https://devfeed.tech/tags/git.md>), [ide](<https://devfeed.tech/tags/ide.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [intellij-platform](<https://devfeed.tech/tags/intellij-platform.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

The article describes creating a workflow for live-coding presentations after finding that Git commits and interactive rebases were cumbersome for managing sequential coding steps. It explores using IntelliJ IDEA as an extensible platform for a tool that can move through steps, jump to completed states, refactor steps, and keep the process unobtrusive for the presenter and audience.

### Source excerpt

Two months ago I gave my first ever live programming talk at KotlinConf. It was called "Talking to terminals (and how they talk back)", and you can watch it here. I've previously done slide-heavy talks which contained small demos or navigating through an existing codebase. Since this talk was starting from nothing, I decided to just write all the code from nothing. This meant spending the majority of the time in the IDE, but also figuring out how to remember what I was supposed to be writing at each step. Making the wrong choice The exceedingly obvious solution to having a series of steps in a live coding presentation is a git repo and a commit for each step. Unfortunately, this is a huge pain in the ass and really doesn't work at all (at least not for me). I started with commits, but by the 7th or 8th commit I was spending more than half my time doing interactive rebases over the entire history. Need a function in step 8 that should've been extracted between step 3 and 4? That's another 10 minutes rewriting history. Because it's a small set of files that are changing, every commit conflicts with any changes to history. It's also not clear how you actually move through the history. We want to start from nothing and move forward through history. Generally, git helps you jump backwards from the latest, not stepping forward from the oldest. It's not impossible, it's just clearly going against the grain. The problem, defined Now thoroughly enjoying this distraction from writing the actual talk, I distilled what I was trying to solve. Ability to manually write the changes required or to simply jump to the finished step. Some steps are important to watch unfold while others are procedural. This also can help with time management when I (inevitably) run low on time. Easily refactor steps as I go. Later steps often requiring refactoring previous ones to minimize the diff. As the talk evolves I want to add or merge steps. Nearly invisible to me and the viewer. I don't want t

## Introducing Waypoint-1: Real-time interactive video diffusion from Overworld

DevFeed: [Introducing Waypoint-1: Real-time interactive video diffusion from Overworld](<https://devfeed.tech/articles/introducing-waypoint-1-real-time-interactive-video-diffusion-from-overworld-7564.md>)

Original publisher: [Read original article](<https://huggingface.co/blog/waypoint-1>)

Author: Andrew Lapp; Louis Castricato; Scott Fox; Shahbuland Matiana; David Rossi

Published: 2026-01-20T00:00:00Z

Content type: article

Language: en

Sources: [Hugging Face - Blog](<https://devfeed.tech/sources/hugging-face-blog.md>)

Topics: [World models](<https://devfeed.tech/topics/world-models.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Transformer](<https://devfeed.tech/topics/transformer.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [diffusion](<https://devfeed.tech/tags/diffusion.md>), [inference](<https://devfeed.tech/tags/inference.md>), [latency](<https://devfeed.tech/tags/latency.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [train](<https://devfeed.tech/tags/train.md>), [world-model](<https://devfeed.tech/tags/world-model.md>)

### AI overview

Overworld introduces Waypoint-1, a real-time interactive video diffusion model that generates explorable worlds from frames and responds to text, mouse, and keyboard controls. The article describes its frame-causal rectified flow transformer, training on diverse video game footage, diffusion forcing, self-forcing, and the WorldEngine inference library.

### Source excerpt

We're on a journey to advance and democratize artificial intelligence through open source and open science.

## Ambitious Projects Are the Framework for Success. The Artisan of the Day Is Will King.

DevFeed: [Ambitious Projects Are the Framework for Success. The Artisan of the Day Is Will King.](<https://devfeed.tech/articles/ambitious-projects-are-the-framework-for-success-the-artisan-of-the-day-is-will-king-3577.md>)

Original publisher: [Read original article](<https://laravel.com/blog/ambitious-projects-are-the-framework-for-success-the-artisan-of-the-day-is-will-king>)

Author: Ana Tavares

Published: 2025-08-21T11:15:00Z

Content type: article

Language: en

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

Topics: [Laravel](<https://devfeed.tech/topics/laravel.md>), [React](<https://devfeed.tech/topics/react.md>), [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [building](<https://devfeed.tech/tags/building.md>), [community](<https://devfeed.tech/tags/community.md>), [conference](<https://devfeed.tech/tags/conference.md>), [games](<https://devfeed.tech/tags/games.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [react](<https://devfeed.tech/tags/react.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [tailwind](<https://devfeed.tech/tags/tailwind.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

Will King built and deployed a playable game in two days with Laravel, despite having never shipped Laravel to production before. The project, Laravel Roguelike, combines Laravel, React, Tailwind, live audio input, and procedural generation, while the article highlights Laravel's ecosystem, community support, and infrastructure.

### Source excerpt

Will King built a playable game in two days with Laravel, a framework he'd never used in production. His talk proves Laravel is the framework for ambitious projects.

## Understanding Gradient Noise with WebGL2 and GLSL

DevFeed: [Understanding Gradient Noise with WebGL2 and GLSL](<https://devfeed.tech/articles/sharing-everything-i-could-understand-about-gradient-noise-26116.md>)

Original publisher: [Read original article](<http://blog.pkh.me/p/42-sharing-everything-i-could-understand-about-gradient-noise.html>)

Published: 2025-06-06T14:45:38Z

Content type: tutorial

Language: en

Sources: [The Last Static Blog RSS](<https://devfeed.tech/sources/the-last-static-blog-rss.md>)

Topics: [glsl](<https://devfeed.tech/topics/glsl.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Code](<https://devfeed.tech/topics/code.md>), [hashing](<https://devfeed.tech/topics/hashing.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [floating-point](<https://devfeed.tech/tags/floating-point.md>), [function](<https://devfeed.tech/tags/function.md>), [glsl](<https://devfeed.tech/tags/glsl.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [math](<https://devfeed.tech/tags/math.md>), [performance](<https://devfeed.tech/tags/performance.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [prog](<https://devfeed.tech/tags/prog.md>)

### AI overview

This tutorial explains gradient noise, beginning with its one-dimensional form and progressing through higher dimensions and complexity. It uses a GPU-oriented approach with WebGL2 and GLSL, including deterministic coordinate-based pseudo-random values and hashing considerations.

### Source excerpt

You've most likely heard about gradient noise through the name Perlin noise, which refers to one particular implementation with various CPU optimizations. Because it's an incredible tool for creative work, it's used virtually everywhere: visual effects, video games, procedural mathematical art, etc. While getting it right can sometimes be subtle, a "broken" implementation can still look good or interesting. After all, "it looks fine, and I'm an artist". In order to gain a deeper and more meaningful understanding we will start studying the 1D version (a case often omitted in the literature), then slowly climb our way up in dimensions and complexity. We'll also work from a GPU perspective rather than a CPU-based one, hence all code snippets and visuals here are implemented in WebGL2/GLSL (hopefully without being too heavy on performance). They should run on most modern devices; let me know if you run into issues. Before we begin, credit where it's due: most of the material here are nothing new. This article is the result of weeks of studying and experimenting with the maths from Inigo Quilez's incredible pages and other scattered resources over the Internet. But as rich and valuable these resources are, they sometimes move quickly over the details, assuming they're obvious. This post is an attempt to fill those gaps. A welcoming wavy 1D gradient noise signal Hashing function and pseudo-random values At the most elementary level, we need a deterministic coordinate based pseudo-random system. More specifically, for any given integer coordinate we need a random value, and as uniformly distributed as possible. Something like: \begin{aligned} h(-3) &= -0.006124 \\ h(-2) &= -0.996686 \\ h(-1) &= 0.200864 \\ h(0) &= -1.000000 \\ h(1) &= 0.053313 \\ h(2) &= -0.893312 \\ h(3) &= 0.854923 \\ \text{...} \end{aligned} Perlin's implementation relies on a permutation table, which is convenient when working on the CPU, but more awkward for a shader. On the GPU, most people rely on v

## BetterReflection version 2.0.0 released

DevFeed: [BetterReflection version 2.0.0 released](<https://devfeed.tech/articles/betterreflection-version-2-0-0-released-21148.md>)

Original publisher: [Read original article](<https://ocramius.github.io/blog/roave-better-reflection-v2.0/>)

Published: 2017-09-18T00:00:00Z

Content type: release

Language: en

Sources: [Marco Pivetta](<https://devfeed.tech/sources/marco-pivetta.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [Library](<https://devfeed.tech/topics/library.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Security](<https://devfeed.tech/topics/security.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [Malware](<https://devfeed.tech/topics/malware.md>), [Composer](<https://devfeed.tech/topics/composer.md>)

Tags: [2-0-0](<https://devfeed.tech/tags/2-0-0.md>), [code](<https://devfeed.tech/tags/code.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [inheritance](<https://devfeed.tech/tags/inheritance.md>), [oop](<https://devfeed.tech/tags/oop.md>), [php](<https://devfeed.tech/tags/php.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [scope](<https://devfeed.tech/tags/scope.md>), [security](<https://devfeed.tech/tags/security.md>), [use-cases](<https://devfeed.tech/tags/use-cases.md>), [version-2-0-0](<https://devfeed.tech/tags/version-2-0-0.md>)

### AI overview

Roave's BetterReflection 2.0.0 reproduces PHP's reflection API without triggering autoloading. It scans source files, parses PHP code into an AST, and exposes reflection objects for analysis before classes are loaded.

### Source excerpt

Roave's BetterReflection 2.0.0s was released today! I and James Titcumb started working on this project back in 2015, and it is a pleasure to see it reaching maturity. The initial idea was simple: James would implement all my wicked ideas, while I would lay back and get drunk on Drambuie. Yes, that actually happened. Thank you, James, for all the hard work! 🍻 (I did some work too, by the way!) What the heck is BetterReflection? Jokes apart, the project is quite ambitious, and it aims at reproducing the entirety of the PHP reflection API without having any actual autoloading being triggered. When put in use, it looks like this: <?php // src/MyClass.php namespace MyProject; class MyClass { public function something() {} } <?php // example1.php use MyProject\MyClass; use Roave\BetterReflection\BetterReflection; use Roave\BetterReflection\Reflection\ReflectionMethod; require_once __DIR__ . '/vendor/autoload.php'; $myClass = (new BetterReflection()) ->classReflector() ->reflect(MyClass::class); $methodNames = \array_map(function (ReflectionMethod $method) : string { return $method->getName(); }, $myClass->getMethods()); \var_dump($methodNames); // class was not loaded: \var_dump(\sprintf('Class %s loaded: ', MyClass::class)); \var_dump(\class_exists(MyClass::class, false)); As you can see, the difference is just in how you bootstrap the reflection API. Also, we do provide a fully backwards-compatible reflection API that you can use if your code heavily relies on ext-reflection: <?php // example2.php use MyProject\MyClass; use Roave\BetterReflection\BetterReflection; use Roave\BetterReflection\Reflection\Adapter\ReflectionClass; require_once __DIR__ . '/vendor/autoload.php'; $myClass = (new BetterReflection()) ->classReflector() ->reflect(MyClass::class); $reflectionClass = new ReflectionClass($myClass); // You can just use it wherever you had `ReflectionClass`! \var_dump($reflectionClass instanceof \ReflectionClass); \var_dump($reflectionClass->getName()); How does that

## Deferrable SQL Constraints in Depth

DevFeed: [Deferrable SQL Constraints in Depth](<https://devfeed.tech/articles/deferrable-sql-constraints-in-depth-21477.md>)

Original publisher: [Read original article](<https://begriffs.com/posts/2017-08-27-deferrable-sql-constraints.html>)

Published: 2017-08-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Joe Nelson](<https://devfeed.tech/sources/joe-nelson.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>)

Tags: [2017](<https://devfeed.tech/tags/2017.md>), [automatic](<https://devfeed.tech/tags/automatic.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [errors](<https://devfeed.tech/tags/errors.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [relational-databases](<https://devfeed.tech/tags/relational-databases.md>), [sql](<https://devfeed.tech/tags/sql.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

An in-depth explanation of deferrable SQL constraints, focusing on how PostgreSQL lets transactions postpone constraint checks while preserving data correctness.

### Source excerpt

2017-08-27 One strength of relational databases is their constant vigilance over data correctness. The user can declare constraints that their data must obey, and then leave it to the database to enforce the rules. This saves a lot of procedural application code and potential errors. Automatic constraint enforcement is a powerful feature, and should be leveraged whenever possible. However there are times when it is convenient - and even necessary - to temporarily defer enforcement.

## Monstera: An Experiment in Using C++ and Object-Oriented Design for ReactOS's Memory Manager

DevFeed: [Monstera: An Experiment in Using C++ and Object-Oriented Design for ReactOS's Memory Manager](<https://devfeed.tech/articles/monstera-32866.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/monstera/>)

Published: 2014-01-05T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [Kernel](<https://devfeed.tech/topics/kernel.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [coding patterns](<https://devfeed.tech/topics/coding-patterns.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [coding-patterns](<https://devfeed.tech/tags/coding-patterns.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [free](<https://devfeed.tech/tags/free.md>), [hybrid](<https://devfeed.tech/tags/hybrid.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [procedural](<https://devfeed.tech/tags/procedural.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

### AI overview

Monstera is an experiment to assess whether C++ and selected object-oriented design principles can simplify development of ReactOS's predominantly procedural, C-centric memory manager. The post notes that kernel-code constraints limit which C++ features can be used, and that the experiment's success remains uncertain.

### Source excerpt

This post really should have been made months ago, but finding the time to write a full blown newsletter has been getting more and more scarce. That being said, I've decided for the short term to split things that would normally act as a single newsletter section into separate blog posts so I don't need to wait and gather things. There was a lot of speculation as to what Monstera was when Aleksey made his commit with some suggesting it is a repeat of his ARWINSS effort but targetted at the memory manager.