I've been working on a small PHP library called AmunCode Config, and I'm sharing its first stable release.
The idea is simple: provide a lightweight, framework-independent way to load environment variables, load PHP configuration files, and access configuration values without introducing a large framework or unnecessary abstractions.
What does it provide?
The package currently has four main classes:
EnvironmentLoader β loads .env files using PHP dotenv, with optional or required file loading.
Env β retrieves environment variables from $_ENV, $_SERVER, and getenv(), with automatic value normalization.
ConfigurationLoader β discovers and loads PHP configuration files from a directory.
Config β provides dot-notation access to configuration values, including retrieving, updating, and recursively merging configuration arrays.
Documentation and usage examples are available in the repository README.
I'd appreciate feedback from other PHP developers, particularly on the API design, class responsibilities, and whether anything important is missing or could be simpler.
Seasoned developer here, new to Wordpress. While there is lots to like with Wordpress, and the FSE environment, some of the architectural decisions baffle me.
While I understand the need for backward compatibility, mangling the "wp-posts" database table to contain everything under the sun, many of which are not "posts" at all, is clumsy at best.
Storing pages/scripts/stylesheets/etc in the database (yes the "posts" table), means a developer cannot reasonably use a source code control system like git to manage source code - an absolute requirement when bugs are introduced and things need to be backed out.
On top of these issues, every version of every page/script/stylesheet is stored in the database. Not in a way that you can easily revert back to a known/tagged version, but in a way that just bloats the database in a way that you are only using a small fraction of it at runtime, the rest is just dead baggage.
En ciudad de PanamΓ‘ es muy fΓ‘cil y accesible pertenecer a una comunidad de running, los eventos estΓ‘n por todos lados y la variedad de carreras lo hace aΓΊn mΓ‘s interesante. AlgΓΊn runner que lo valide ?
El 3 de noviembre resultΓ³ ser una fiesta para hablar en alta voz. El temor a que se acallara esa voz fue vencido por la convicciΓ³n. Como quiera decirse, el voto fue con Trump en la papeleta. Aun frente a este espectΓ‘culo anunciado, la fuerza por la libertad, el amor por la justicia y el disgusto por la corrupciΓ³n no esperaban que de las cenizas de la institucionalidad resurgieran estas aspiraciones. El escenario fue vibrante.
El autor es neonatΓ³logo y pediatra.
Banderas de Estados Unidos con el Capitolio al fondo. / Getty Images
An anonymous reader quotes a report from TorrentFreak: On Tuesday, Mexico's Senate approved (PDF) a reform of the Federal Copyright Law that ties ISP liability to having a policy to terminate repeat infringers. [This policy has to be published permanently on their website and in their terms of service, and it must include a basic way to notify users. In other words, what can be terminated is the Internet connection itself, not just an account. According to Mexican business outlet EL CEO, this means that access providers such as Telmex and Izzi will need such a policy.] The Senate approved the amendments with roughly two-thirds of the vote, as the opposition voted against. The Chamber of Deputies already approved the same text in October, so the decree now goes to President Claudia Sheinbaum. Her government proposed the changes in May to bring the law in line with the USMCA trade agreement between Mexico, the United States and Canada.
[...] Providers that don't comply risk facing liability. Under the new rules, any ISP that fails to meet its safe harbor conditions becomes liable for its users' infringements if it knowingly contributes to, induces, or causes the infringement. The same goes for an ISP that can control the infringing user and profits directly from the infringement. In both cases, the Mexican Institute of Industrial Property (IMPI) can fine the provider up to roughly 4.7 million pesos (~$250,000), depending on the infringement. The law doesn't explicitly define the term repeat infringer, nor does it say how many piracy accusations it takes before a subscriber can be cut off. According to Aurora Lopez-Portillo, director of legal services at IP firm ClarkeModet, each provider has to decide its own threshold. She told EL CEO that ISPs should also check whether the accusations actually hold up, while giving users a chance to respond, even though the law doesn't require that.
During Tuesday's Senate debate, some lawmakers in the opposition raised similar concerns. Senator Gabriel Elizondo warned that families can share a single connection, so the pirating activities of one person could leave an entire household offline. Previously, opposition lawmakers proposed requiring a court order before Internet service could be suspended, but that proposal was not adopted. [...] There, failing to meet the safe harbor conditions, including the repeat infringer policy, is the first requirement for liability. If an ISP also contributes to infringement with knowledge of it, or can control the infringer and directly profits from it, it can be held responsible. The new repeat infringer rules will take effect 180 days after their publication in Mexico's official gazette, which hasn't happened yet as far as we can see. How Mexican ISPs will define a repeat infringer, and how many accusations it takes, has yet to be seen.
I got tired of constantly opening browser DevTools, filtering out noisy browser extensions, and switching between tabs just to check local storage or quick fetch responses during local development.
To solve this, I built React Dev Companion β a lightweight, zero-dependency developer tools overlay that embeds directly into your React / Next.js application UI.
π‘ Key Features:
Real-Time Network Interception: Intercepts native window.fetch non-invasively to capture HTTP methods, endpoints, and status codes.
Storage Inspector: Switch between localStorage, sessionStorage, and cookies to view, inject, or delete keys in real-time.
Zero Extra Dependencies: Designed to keep bundle overhead minimal.
Dev-Only Friendly: Easy to mount conditionally (e.g., inside Next.js Root Layout or Vite main component).
π Quick Example (Next.js App Router):
```tsx 'use client'; import { DevCompanion } from 'react-dev-companion';
Burrow is a personal-data desktop app (budget, journal, todos, habits, notes). The stack is a Vite and React frontend, a Node server that owns a single SQLite database, and a Tauri shell that packages the two into a Windows installer for x64 and ARM64.
Things in the repo that might interest React devs:
- A hard JavaScript bundle budget enforced in CI, with the number pinned in a test so it cannot creep.
- Visual regression baselines regenerated on a side branch in CI rather than committed from dev machines.
- Modules are isolated under src/modules and server/modules with a small shared envelope for API errors.
- The assistant UI streams from a local Ollama server, so no API keys anywhere in the app.
It went free this week and the core is AGPL. Links in the comments.
A fan was ejected from the Kings-Lakers game in Los Angeles after Luka Doncic berated him for a simple chest pass back to a female NBA referee. Apparently, he threw the ball too aggressively.