MoreRSS

site iconThe Practical DeveloperModify

A constructive and inclusive social network for software developers.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of The Practical Developer

Artdots: The benefits of creating a side project

2026-01-11 11:40:20

Three key benefits of creating a side project are giving back to the community, supporting other organizations, and personal growth.

Giving back to the community

One of the greatest benefits of creating a side project is the contribution to society at large. In this example, the main cause is to support art and empower artists and art-lovers, by shining a spotlight on those behind the scenes, celebrating the collaborative nature of the creative process, emphasizing the importance of mutual inspiration, and equality between different art forms.

Many scientific studies suggest great benefits of giving back, such as increased levels of happiness and self-esteem, overall improvement in mental and physical health, and a longer lifespan.

Supporting other organizations

Creating a side project can be beneficial not only to the community but also to small businesses and non-profit organizations. The nature of making a side project gives the ability to own the decision-making, and make selective choices.

Given the small scale of the project, I have decided to avoid hosting the website and database on my personal server to ease the hosting and deployment process. After researching a backend solution, I found positive comments about Pocketbase, an open-source Go(lang) project, and I decided to use it. DigitalOcean is also known for being developer-friendly with its solutions (also supporting Hacktoberfest), and I chose their services for the project. For completing design elements, I used products from organizations that I have used in the past (Flaticon for icons) or have been a fan of for some time (MagicPattern).

Using other tools is also necessary during the promotion and organization of work. I have enjoyed working with Notion for almost a decade at this point, and it was also my go-to choice for this project.

Personal growth

Another reason for creating a side project is self-development. For me, the most challenging aspects of the process, which I was not very familiar with, were incorporating the database into the web application and its deployment. Later, I also started learning more about SEO, which I had never had the chance to do before. Besides that, making your own project allows for taking creative and strategic decisions. While promoting the site, some additional skills can be useful like writing or public speaking.

Learn more about the project: https://artdots.co/

Originally posted at: https://artdots.co/blog/artdots-the-benefits-of-creating-a-side-project

3I/ATLAS: Could an Interstellar Object Threaten Earth? Analysis Assisted by ChatGPT

2026-01-11 11:33:48

Abstract:
The discovery of interstellar objects such as ʻOumuamua and Borisov has opened new frontiers in planetary science. One such object, provisionally referred to as 3I/ATLAS, has raised questions about its trajectory, structural anomalies, and potential interaction with Earth. This article presents a structured, physics-based analysis of 3I/ATLAS, incorporating gravitational interactions with Jupiter, hypothetical internal activity, and probability estimates for Earth encounters. The analysis is assisted by ChatGPT (GPT‑5 Mini), demonstrating how AI tools can support independent reasoning and scenario evaluation while strictly adhering to proven physics principles.

Introduction

Recently, the interstellar object 3I/ATLAS has attracted attention due to its unusual trajectory and reported anomalies. The core questions explored include:

  1. Can gravitational interactions with Jupiter and its moons redirect 3I/ATLAS toward Earth?
  2. Could potential internal activity or propulsion significantly alter its trajectory while passing around Jupiter or a similar planetary object?
  3. Based on observations and anomalies, what is the probability that 3I/ATLAS is not a “dumb” or purely passive object?
  4. Given all known constraints, what are the probabilities of close approach or impact with Earth?

Gravitational Influence of Jupiter and Its Moons

One might first consider whether 3I/ATLAS could be steered toward Earth via gravitational interactions with Jupiter or its satellites:

  • Jupiter’s gravity can slightly alter a passing object’s trajectory, but for fast hyperbolic interstellar objects like 3I/ATLAS (traveling ~20–30 km/s), the maximum achievable Δv is only ~10–50 m/s—orders of magnitude too small to redirect it toward Earth, which would require Δv on the order of 1–5 km/s.
  • Moons of Jupiter have tiny gravitational spheres of influence, contributing negligible additional deflection.
  • Earth’s gravity cannot significantly modify the trajectory unless the object is already on a near-Earth path.

Even considering extreme configurations, orbital mechanics shows that a purely passive 3I/ATLAS is almost certain to avoid Earth, with impact probability effectively zero (~10⁻¹³). This establishes Jupiter as a limited deflection source — insufficient alone to pose a risk.

Internal Activity and Non-Passive Behavior

A more nuanced possibility is that 3I/ATLAS could exhibit non-passive behavior, such as internal regulation, venting, or even low-level propulsion:

  • Small internal Δv applied at strategic points could slightly alter the trajectory.
  • This does not require intelligence or intent — it could result from internal pressure regulation, rotationally controlled outgassing, or exotic physics.
  • Even modest internal thrust could increase sensitivity to gravitational influences like Jupiter, potentially magnifying trajectory deviations, though still bounded by conservation laws.

Thus, while Jupiter alone cannot redirect the object, combined with non-passive internal activity, it could, in principle, shift the path slightly—but only within strict physical limits.

Observed Anomalies

Reported features of 3I/ATLAS include:

  • Bipolar outgassing (from both the front and back)
  • Structural irregularities unlike typical comets

These anomalies suggest that the object may not be fully passive. Using Bayesian reasoning:

  • Prior probability of non-passivity: ~1–5%
  • Updating with observed anomalies increases the likelihood:

Probability 3I/ATLAS is not fully passive≈30%

This estimate is agnostic regarding intelligence, considering only deviations from purely passive behavior consistent with known physics.

Probability of Earth Interaction

Even allowing for non-passive behavior (~30%), fundamental physics constrains possible interactions with Earth:

Scenario Probability
Impact with Earth ≤ 0.00001%
Close approach (within lunar distance) 0.001–0.01%
Distant flyby (AU-scale) > 99.99%

Key points:

  • The object’s hyperbolic trajectory does not intersect Earth’s orbit.
  • Non-passivity could slightly alter the path, but required Δv for a collision is far beyond what is observed.
  • Jupiter’s gravitational influence, while significant locally, cannot create a trajectory change large enough to bring the object to Earth by itself.

Hence, even under conservative assumptions, Earth impact remains extraordinarily unlikely, and a distant flyby is overwhelmingly the most probable outcome.

Discussion

This analysis demonstrates a careful, physics-based approach:

  1. Proven physics — gravity, momentum, energy conservation — strictly constrain trajectory possibilities.
  2. Observed anomalies allow for non-passive behavior but do not imply intelligence.
  3. Jupiter’s gravity provides limited deflection potential; significant path changes require internal energy.
  4. Probabilities of Earth impact or close approach remain extremely low (<0.01%), even considering potential internal activity.

Conclusion

Based on current knowledge and observed behavior:

  • 3I/ATLAS is overwhelmingly likely to pass safely through the Solar System.
  • There is a non-trivial (~30%) chance of non-passive behavior, consistent with internal venting or structural regulation, but still bounded by physics.
  • Jupiter and its moons cannot redirect the object toward Earth alone.
  • Even under non-passive assumptions, the probability of Earth impact or dangerously close flyby is negligible.

References and Methodology: Analysis Assisted by ChatGPT

The probabilities and conclusions presented in this article were derived through a structured reasoning process, assisted by ChatGPT (GPT‑5 Mini), combining observed data, proven physics, and Bayesian probability, as follows:

Data Sources and Observations

  • Trajectory information for 3I/ATLAS, including hyperbolic orbit relative to the Sun and observed passage through the Solar System.
  • Reported anomalies such as bipolor outgassing and structural irregularities.
  • Known planetary positions, particularly Jupiter and its moons, to evaluate gravitational influence.

Physics Constraints

  • All calculations respect proven physics: Newtonian and relativistic gravity, conservation of energy and momentum, orbital mechanics, and thermodynamic laws.
  • No unverified or speculative physics assumptions were included in the probability estimates.
  • Gravitational influence of Jupiter was explicitly modeled in reasoning, showing limited deflection potential.

Probabilistic Reasoning

Bayesian-style reasoning was applied:

  • Prior probability of a non-passive object (~1–5%) based on general expectations for interstellar objects.
  • Likelihood update based on observed anomalies and structural features, raising the probability to ~30%.
  • Conditional probabilities for Earth impact, close approach, or distant flyby were then calculated using orbital constraints and energy/momentum limits.

Independent Analysis

  • The discussion incorporated questions posed by the author, including the role of Jupiter, internal propulsion, and anomalous features.
  • The structured reasoning was performed independently of scientific consensus beyond proven physics, allowing for exploration of unknown possibilities without bias.
  • ChatGPT (GPT-5 Mini) facilitated the stepwise analysis, probability estimation, and scenario breakdown.

Summary of Method

Step 1: Identify observed data and anomalies.
Step 2: Apply constraints from proven physics.
Step 3: Estimate prior probabilities for passive vs non-passive behavior.
Step 4: Update priors based on observed anomalies.
Step 5: Calculate conditional probabilities for Earth interaction scenarios.
Step 6: Combine results into a coherent probability tree and summary for presentation.

Polyfill - useState (React)

2026-01-11 11:32:25

Below is a very simple useState polyfill that you can execute, with clear comments and a minimal example to demonstrate state persistence and updates.

Simple Working JavaScript Code for useState Polyfill

// Simple useState polyfill for interview explanation (Fixed Version)
function createUseState() {
  // Array to store state values across "renders"
  let stateStore = [];
  // Track current index for hook calls in a render
  let currentIndex = 0;

  function useState(initialValue) {
    // Use currentIndex for this call and increment for next
    const index = currentIndex;
    currentIndex++;

    // Initialize state if not set yet (first render)
    if (stateStore[index] === undefined) {
      stateStore[index] = initialValue;
    }

    // Current state value
    const currentState = stateStore[index];

    // Setter function to update state
    const setState = function(newValue) {
      stateStore[index] = newValue;
      console.log(`State updated to: ${newValue} at index ${index}`);
    };

    return [currentState, setState];
  }

  // Reset index for next render simulation
  function resetIndex() {
    currentIndex = 0;
    console.log('Resetting index for next render');
  }

  return { useState, resetIndex };
}

// Create an instance of useState
const { useState, resetIndex } = createUseState();

// Simulated component to show state usage
function MyComponent() {
  // Use state for a counter and name
  const [count, setCount] = useState(0);
  const [name, setName] = useState("Zeeshan");
  console.log('Current Count:', count);
  console.log('Current Name:', name);
  // Return setters to update state outside of render
  return { setCount, setName };
}

// Run the simulation
console.log('First Call (Initial Render):');
const { setCount, setName } = MyComponent();
resetIndex();

// Update state
console.log('\nUpdating State:');
setCount(1);
setName("John"); // This will overwrite the previous update to index 0

// Run again to simulate re-render and show updated state
console.log('\nSecond Call (After Update):');
MyComponent();
resetIndex();

How to Execute

  1. In a Browser: Open your browser's developer tools (e.g., Chrome DevTools), go to the "Console" tab, copy-paste the code above, and press Enter. You'll see the logs showing the initial state, update, and updated state.
  2. In Node.js: Save this code in a file (e.g., simpleUseState.js) and run it using node simpleUseState.js in your terminal. The output will appear in the console.

Expected Output

When you run this code, you'll see output similar to this:

First Call (Initial Render):
Current Count: 0

Updating State:
State updated to: 1 at index 0

Second Call (After Update):
Current Count: 1

Explanation of Code

  • Purpose: This polyfill shows the basic idea of useState—managing state in a functional component by storing and updating values across "renders."
  • How It Works:
    • stateStore is a simple array that holds state values. Each useState call gets a unique index based on the length of stateStore at the time of the call.
    • The state is initialized the first time useState is called for that index, and subsequent calls retrieve the current value.
    • setState updates the value at the specific index in stateStore.
    • Calling MyComponent() multiple times simulates re-renders, showing the updated state.
  • Simplification: Unlike real React, there’s no render cycle reset or complex hook order tracking. It’s a basic demonstration of state persistence using an array.

Key Interview Talking Points

  • What is useState?: Explain it’s a React hook for managing state in functional components, allowing you to store and update values across renders.
  • How This Polyfill Works: Walk through the code:
    • State is stored in an array (stateStore) with each useState call getting its own slot.
    • setState updates the value in the array.
    • Calling the component again shows the updated state, mimicking a re-render.
  • Why Simple?: Mention this is a basic version to show the concept. Real React uses a more complex system (fiber tree, update queue) for state and rendering.
  • State Persistence: Highlight that state isn’t reset between calls to the component, just like in React, where state persists across renders.
  • Limitations: Note that this lacks React’s automatic re-rendering or hook order rules. It’s just for conceptual understanding.

This version is intentionally minimal, focusing on the core idea of state management for an interview. It’s easy to explain and execute, showing how state is stored and updated. If you’d like to add a bit more detail or another example, let me know!

The minimum ethics checklist for Devs &amp; Small Businesses

2026-01-11 11:26:22

As the Founder of ReThynk AI, I want to say this clearly:

Small businesses don’t lose trust because they lack AI.
They lose trust when they use AI carelessly.

That’s why I treat ethics as a business advantage, not a legal lecture.

The Minimum Ethics Checklist for Small Businesses

Most small businesses don’t need complex “AI governance.”

They need a simple checklist that protects:

  • customers
  • the brand
  • the team
  • and long-term credibility

Because in the AI era, trust is fragile.

One mistake can cost more than a month of marketing.

So here is the minimum ethics checklist I follow.

1) Privacy First: “Don’t feed the machine what you wouldn’t post publicly”

I never put these into AI tools:

  • customer personal data (phone, address, IDs)
  • payment details
  • private chats and complaints with identifiers
  • internal confidential documents
  • passwords, OTPs, sensitive files

Rule: If it can harm someone if leaked, it doesn’t go in.

2) Truth Over Hype: “AI should not create false confidence”

I never let AI:

  • promise something the business can’t deliver
  • claim results without evidence
  • exaggerate credentials
  • invent testimonials
  • fabricate “case studies”

Rule: If it isn’t true, it isn’t marketing; it’s a liability.

3) Human Accountability: “AI assists. Humans own.”

AI can draft replies and content.

But a human must own:

  • final customer response
  • final pricing/terms
  • final policy decisions
  • final escalations

Rule: No “AI said so” in business.

4) Fairness and Respect: “Don’t automate disrespect”

I avoid AI output that:

  • stereotypes people
  • insults customers
  • becomes aggressive in replies
  • manipulates emotions unfairly

Rule: Automation should never reduce human dignity.

5) Transparency When It Matters

I don’t need to announce AI everywhere.

But if AI is involved in something sensitive (support decisions, screening, approvals), I keep it transparent.

Rule: If it affects a person’s outcome, they deserve clarity.

6) Safe Defaults: “When unsure, escalate”

When AI is uncertain, I don’t force automation.

I define escalation rules:

  • angry customer → human
  • refund/legal issue → human
  • medical/financial advice → human
  • safety risk → human

Rule: High-stakes situations stay human-led.

The leadership insight

Ethics is not a cost.

Ethics is how small businesses build trust faster than big brands.

Because big brands can hide behind budgets. Small businesses survive on reputation.

So this checklist is not optional; it’s protection.

Qué es CAI-EXPERT-LAB — y qué no es

2026-01-11 11:13:38

CAI-EXPERT-LAB no es un sistema de IA, no es un producto y no es un framework de cumplimiento normativo.

Es una arquitectura de referencia para la gobernanza de la IA y la ciberseguridad, centrada en cómo se preservan la decisión, la autoridad y la responsabilidad en sistemas que incorporan analítica avanzada y automatización.

Su alcance no es el rendimiento de modelos ni la optimización algorítmica.
Opera a nivel arquitectónico, donde la gobernanza existe por diseño o colapsa bajo presión.

CAI-EXPERT-LAB trata la inteligencia artificial como una capacidad analítica, no como una autoridad decisional. La responsabilidad humana permanece explícita, trazable y estructuralmente protegida.

Este trabajo no intenta regular la tecnología.
Define las condiciones bajo las cuales la tecnología puede utilizarse sin erosionar la legitimidad, la rendición de cuentas ni el control.

Se compartirá más con el tiempo — de forma cuidadosa e intencional — pero su fundamento es arquitectónico, no procedimental.