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

My production server almost went down because of one library

2026-01-25 11:55:20

Sorry if the title sounds a bit weird, but I want to tell you about a real production bug that almost took down all our clients.

We run Kanvas Ecosystem, a backend that powers several frontend apps. One of our core pieces is a filesystem manager: users upload files (images, audio, video, GIFs, etc.) and later attach them to different entities in the system.

Everything was working fine… until it wasn’t.

About 3 or 4 months ago, someone installed a new cache-related library in our Laravel project.

That’s when the problems quietly started.

First rule (learned the hard way)

Never install a new library without talking to your team and testing all scenarios.

The chaos begins

Last week, I launched a new feature: an image scraper.

Users type a word, we scrape images, download them, and store them using our filesystem manager.

Suddenly, production went down.

All clients. All apps.

My boss called me worried, so we jumped into a meeting to find the issue.

Hours went by.

Our code looked perfect.

Dev environment worked.

Tests were passing.

So we thought it might be a CPU issue.

We added more cores and optimized the scraper.

Still broken.

The first real clue

We created a new server from an AWS image.

Same problem.

That made no sense.

Then we checked other services and discovered that Redis was down.

We increased Redis capacity and tested again in the dev environment.

I uploaded one simple image.

It took 47 seconds.

At that point I just thought: why?

Changing approach

I stopped testing only the scraper and started testing everything related to the filesystem manager.

The same issue appeared everywhere.

All clients were affected.

I debugged method by method.

My code looked clean.

Nothing suspicious.

Until I noticed something.

The real problem

At the top of one class, there was a strange line.

An import from that cache library.

Just to test, with zero hope, I removed it.

The upload time dropped to 100ms.

I stared at the screen for a few seconds.

What that library was doing

The library was:

  • Clearing Redis completely
  • Rebuilding the cache again
  • Doing this for all rows in the database

On every single file upload.

Yes.

Every time.

trollface dark

The victory

I called my boss and said:

“I fixed it. I deserve a candy or at least a chocolate.”

I’ve never won the lottery or a gacha game, but the feeling of finding this bug was the closest thing to that.

Final thoughts

I don’t know if this was skill or pure luck, probably both.

But one thing is clear:

  • Read the README
  • Read the issues
  • Understand what a library actually does
  • Test things in environments that look like production

Thanks for reading.

For me, it’s an honor to share this.

And remember: you can do more than you think.

What is Databricks? A Simple Guide for Beginners

2026-01-25 11:45:41

Databricks is a cloud platform that helps teams handle huge amounts of data. Think of it as a workspace where data workers can collect, clean, and study information together.

The platform runs on cloud services like Amazon Web Services (AWS), Microsoft Azure, or Google Cloud. Companies use it to make sense of their data and build smart apps.

Who Uses Databricks?

Three main groups work with Databricks:

Data engineers build systems that move and store information. They make sure data flows smoothly from one place to another.

Data scientists study patterns and create models. They use math and stats to predict what might happen next.

Business analysts look at reports and charts. They help companies make better choices based on facts.

All three groups can work in the same space. This makes teamwork easier and faster.

What Makes Databricks Special?

Everyone Works Together

Teams don't need separate tools anymore. Engineers, scientists, and analysts share the same workspace. This cuts down on confusion and speeds up projects.

It Grows With Your Needs

Start small and add more power when needed. Databricks can handle tiny datasets or millions of records. The system adjusts itself based on how much work you have.

Built-In Tools

You get everything in one place:

  • Code editors that work in your browser
  • Charts and graphs for showing data
  • Ways to clean messy information
  • Tools for building smart models

No need to buy and connect dozens of different programs.

Strong Security

Databricks keeps data safe with locks and codes. You can control who sees what. Everything gets tracked so you know who accessed information and when.

What Can You Do With Databricks?

Clean and Organize Data

Raw data is often messy. It might have mistakes, missing parts, or odd formats. Databricks helps you fix these problems and get data ready for use.

Build Reports

Create charts that update on their own. Connect to your data and watch numbers change in real time. Share findings with teammates through simple dashboards.

Train Smart Models

Use AI to spot patterns humans might miss. Build systems that can predict sales, detect fraud, or recommend products. The platform includes popular tools like TensorFlow and PyTorch.

Handle Live Data

Work with information as it comes in. Track website clicks, sensor readings, or customer actions the moment they happen. Make quick choices based on fresh data.

Store Information Long-Term

Keep years of records in one place. The platform uses something called a data lakehouse. This combines the best parts of databases and file storage.

Key Parts You Should Know

Clusters

A cluster is a group of computers working together. They split big jobs into smaller tasks. This makes work finish faster than using one machine alone.

You can start clusters when needed and turn them off to save money.

Notebooks

Notebooks are where you write code and take notes. They look like digital journals. You can mix code, text, and pictures in one place.

Think of them as interactive documents. Run a bit of code and see results right away.

Workspaces

A workspace holds all your projects. It's like a folder system in the cloud. Keep notebooks, data files, and settings organized here.

Teams can share workspaces to stay in sync.

Jobs

Jobs run tasks on a schedule. Set them up once and let them repeat. For example, pull new data every morning at 8 AM.

This saves time on boring, repeated work.

Real-World Uses

Online Stores

Track what customers buy and when. Predict which products will sell best. Send personalized deals based on shopping habits.

Banks

Spot strange account activity that might be fraud. Check transactions as they happen. Keep customer data private and secure.

Healthcare

Study patient records to improve care. Find which treatments work best. Keep health information safe under strict rules.

Manufacturing

Watch machine sensors for warning signs. Fix equipment before it breaks. Track products from factory to customer.

Why Companies Choose Databricks

Save Money

Pay only for what you use. Turn off computers when projects are done. No need to buy your own servers.

Work Faster

Teams finish projects in weeks instead of months. Ready-made tools mean less setup time. Changes happen with a few clicks.

Stay Current

The platform updates itself. New features appear without you doing anything. Security patches install on their own.

Get Support

Databricks offers training and help. Find answers in docs, videos, and forums. Contact support when stuck.

Getting Started Tips

Start Small

Pick one simple project first. Maybe clean up a customer list or create a basic report. Learn the basics before tackling big tasks.

Use Free Resources

Databricks offers free trials and learning materials. Watch tutorials and try examples. Practice with sample data before using real information.

Join the Community

Connect with other users online. Ask questions in forums. Learn from people who already use the platform.

Plan Your Setup

Think about who needs access. Decide how to organize projects. Set up security rules early.

Common Challenges

Learning Curve

The platform has many features. It takes time to learn them all. Focus on what you need right now. Ignore the rest until later.

Cost Control

Cloud bills can grow fast if you're not careful. Watch your usage. Turn off clusters when done. Set spending limits.

Data Quality

Garbage in means garbage out. Spend time cleaning your data first. Bad information leads to wrong answers.

The Bottom Line

Databricks helps teams handle data without the usual headaches. It brings tools together in one spot. Companies get insights faster and spend less on setup.

The platform works best when teams already know what they want to do with data. It's not magic, it makes hard work easier.

Whether you're building reports, training AI models, or just trying to organize information, Databricks gives you a solid place to start.

Next Steps

Ready to try it out? Sign up for a free account. Follow a beginner tutorial. Start with small tasks and grow from there.

The platform continues to add new features. Stay curious and keep learning. Your skills will grow along with your projects.

Engineering Log: LL-298: Invalid Option Strikes Causing C (+2 more)

2026-01-25 11:38:58

Building an autonomous AI trading system means things break. Here's what we discovered, fixed, and learned today.

LL-298: Invalid Option Strikes Causing CALL Legs to Fail

The Problem: See full details in lesson ll_298_invalid_strikes_call_legs_fail_jan23

What We Did: - Added round_to_5() function to calculate_strikes() - All strikes now rounded to nearest $5 multiple - Commit: 8b3e411 (PR pending merge) 1. Always round SPY strikes to $5 increments 2. Verify ALL 4 legs fill before considering trade complete 3. Add validation that option symbols exist before submitting orders 4. Log when any leg fails to fill - LL-297: Incomplete iron condor crisis (PUT-only positions) - LL-281: CALL leg pricing fallback iron_condor, options, strikes, call_legs, validati

The Takeaway: Risk reduced and system resilience improved

The Problem: id: LL-298 title: $22.61 Loss from SPY Share Churning - Crisis Workflow Failure date: 2026-01-23

What We Did: severity: CRITICAL category: trading Lost $22.61 on January 23, 2026 from 49 SPY share trades instead of iron condor execution.

The Takeaway: 1. Crisis workflows traded SPY SHARES (not options) 2. Iron condor failed due to:

Code Changes

These commits shipped today (view on GitHub):

Commit Description
f64bbd14 chore(ralph): Record proactive scan findings
376a3c7b chore(ralph): Update workflow health dashboard
05f43ced docs(ralph): Auto-publish discovery blog post
66e0e83d docs(ralph): Auto-publish discovery blog post
d44782c7 chore(ralph): CI iteration ✅

Why We Share This

Every bug is a lesson. Every fix makes the system stronger. We're building in public because:

  1. Transparency builds trust - See exactly how an autonomous trading system evolves
  2. Failures teach more than successes - Our mistakes help others avoid the same pitfalls
  3. Documentation prevents regression - Writing it down means we won't repeat it

This is part of our journey building an AI-powered iron condor trading system targeting financial independence.

Resources:

Building CuteWallpaper.site: Making Wallpapers That Actually Fit Real Screens

2026-01-25 11:21:46

Wallpapers are one of those things people interact with every day — yet the experience of finding a good one is often frustrating.

I’ve tried countless wallpaper websites over the years, and the problems were always the same:
images that look great in previews but don’t work on real screens, mismatched resolutions, awkward crops, and a browsing experience overloaded with ads.

That frustration led me to build CuteWallpaper.site — a small, focused project designed around how wallpapers are actually used.

The real problem with wallpapers

Most wallpaper platforms optimize for scale:

  • More images
  • More clicks
  • More ads

But they rarely optimize for fit.

A wallpaper isn’t just an image — it has to work across:

  • Wide desktop monitors
  • Tall mobile screens
  • Tablets with in-between aspect ratios

Even so-called “4K wallpapers” often break once you apply them. Icons clash with focal points, compositions feel off, and cropping usually requires external tools.

I wanted to solve that exact gap.

What CuteWallpaper.site focuses on

CuteWallpaper.site is a curated collection of cute 4K & HD wallpapers designed for desktop, mobile, and tablet devices.

Instead of maximizing quantity, the site focuses on usability and visual comfort.

Cute, but calm

“Cute” doesn’t mean loud or distracting.

The wallpapers are selected to be:

  • Pleasant to look at every day
  • Clean in composition
  • Friendly to icons and UI elements

The goal is to make screens feel calm and enjoyable, not busy.

One wallpaper, multiple devices

Different devices demand different aspect ratios. Rather than forcing users to find a “perfect match,” the site adapts wallpapers to the user’s screen.

Crop-to-download: built around real usage

The core feature of CuteWallpaper.site is a crop-to-download tool.

If a wallpaper’s original dimensions don’t match your screen, you can:

  • Choose your target resolution
  • Visually crop the wallpaper in the browser
  • Download the exact size you need

No image editors, no trial and error — just a wallpaper that fits.

This feature came directly from personal frustration, and it remains the heart of the product.

Save favorites, come back later

Logged-in users can bookmark wallpapers they like and build a personal collection over time — turning casual browsing into something more intentional.

A growing, curated library

CuteWallpaper.site is not a static gallery.

New wallpapers are added regularly, and the collection is continuously refined. The focus is on consistency, quality, and long-term usefulness — not scraping massive image sets.

The goal is to build a library that improves over time.

Built small, intentionally

This is an independent project, built without growth hacks or aggressive monetization.

That choice allows the product to stay:

  • Clean and fast
  • Focused on user experience
  • Free from unnecessary distractions

CuteWallpaper.site exists because I wanted a wallpaper site I would genuinely use myself.

If you care about how your screens look — or you’ve ever been frustrated by wallpaper sites — this project might resonate with you.

👉 https://cutewallpaper.site/

The Emotional UX of AI: What Developers Miss

2026-01-25 11:16:34

Most AI products are evaluated on technical metrics.

Accuracy.
Latency.
Cost.
Throughput.

Those matter.

But they don’t explain why some AI products feel trustworthy and others feel exhausting, even when the underlying intelligence is similar.

The missing layer is emotional UX.

And most developers underestimate it because it’s invisible, hard to quantify, and rarely discussed in engineering terms.

AI Systems Create Emotional States: Whether You Design for Them or Not

Every interaction with an AI system leaves a residue.

Confidence.
Doubt.
Relief.
Anxiety.
Frustration.

These reactions accumulate over time.

Users don’t just ask:

“Did this work?”

They feel:

“Can I rely on this?”
“Do I need to double-check everything?”
“Is this helping me or making me nervous?”

That emotional response determines adoption more than raw capability.

Why Technical Correctness Is Not Enough

An AI system can be statistically accurate and still fail emotionally.

Common emotional failure modes:

  • the AI sounds overconfident when it’s wrong
  • the AI is inconsistent across similar situations
  • errors feel random instead of explainable
  • the system interrupts at the wrong time
  • users don’t know when they should trust it

Each of these creates low-grade anxiety.

Users may continue using the product, but they never relax.

That’s a UX failure.

Confidence Is the Most Important Output of an AI System

This is counterintuitive for developers.

We think the output is:

  • text
  • decisions
  • actions

For users, the real output is confidence.

Confidence that:

  • the system behaves predictably
  • errors are manageable
  • responsibility is clear
  • nothing catastrophic will happen silently

If your AI reduces confidence, it increases cognitive load, even if it “works.”

Overconfidence Is More Damaging Than Inaccuracy

One of the biggest emotional mistakes AI systems make is false certainty.

When AI:

  • gives definitive answers without caveats
  • hides uncertainty
  • avoids saying “I don’t know”

Users lose trust faster.

They would rather work with:

  • a system that is sometimes unsure

than

  • a system that is confidently wrong

Emotional safety comes from honesty, not bravado.

Inconsistency Feels Like Betrayal

Humans are surprisingly tolerant of imperfection.

They are not tolerant of unpredictability.

If an AI:

  • behaves differently today than yesterday
  • handles similar inputs differently
  • changes tone or behavior without warning

Users feel betrayed, even if performance improves overall.

Consistency is not just a technical metric.

It’s an emotional contract.

Tone and Timing Matter More Than Explanations

Developers often try to fix emotional issues by adding explanations.

But most emotional UX problems are about:

  • when the AI intervenes
  • how it communicates
  • how much it says

A perfectly reasoned explanation delivered at the wrong moment still feels wrong.

Calm timing beats verbose justification.

Why Users Hate “Surprise Intelligence”

Unexpected AI behavior triggers anxiety.

When the system:

  • takes action without warning
  • changes outcomes silently
  • optimizes in ways users didn’t ask for

People feel out of control.

Invisible AI must be emotionally legible—even if it’s not explicit.

Users should never wonder:

“Why did this happen?”

Silence is only acceptable when behavior is predictable.

Emotional UX Is Built Through Defaults and Boundaries

Most emotional signals are not in the UI.

They live in:

  • default behaviors
  • escalation thresholds
  • failure modes
  • undo mechanisms
  • how errors are surfaced

A simple “undo” can eliminate fear.

A clear boundary can eliminate hesitation.

These are emotional design decisions, not technical ones.

Why Developers Often Miss This Layer

Emotional UX doesn’t show up in logs.

It doesn’t trigger alerts.

It doesn’t break builds.

But it quietly determines:

  • long-term retention
  • trust
  • willingness to delegate
  • product advocacy

By the time metrics move, the emotional damage is already done.

Designing for Emotional Safety Is a Leadership Skill

This is not about empathy copy.

It’s about:

  • respecting user psychology
  • designing predictable systems
  • avoiding unnecessary surprise
  • signaling uncertainty appropriately

Great AI products don’t make users feel impressed.

They make users feel safe.

The Real Takeaway

The most important question in AI UX isn’t:

“Is this smart?”

It’s:

“How does this make the user feel over time?”

If your AI:

  • increases confidence
  • reduces anxiety
  • behaves predictably
  • fails gracefully

Users will trust it, even when it’s imperfect.

If it doesn’t, no amount of intelligence will save it.

That’s the emotional UX of AI.

And it’s the layer most developers miss, until it’s too late.