How Proof Trees Make Declarative Programming Work

Most programming feels like giving detailed instructions to a very literal assistant. You write if-else conditions, call functions in sequence, and manage state step by step. This is imperative programming — you tell the computer exactly how to solve your problem. By contrast, declarative programming is about stating what you want rather than how to do it. It’s like the difference between giving turn-by-turn directions versus simply stating your destination and letting the GPS choose the route. ...

December 22, 2024 · Tolic Kukul

How AI Enables Just-in-Time Applications: The Future of Adaptive Software

The software landscape is undergoing a fundamental shift. Where we once built monolithic applications designed to handle every conceivable use case, AI is now enabling a new paradigm: just-in-time (JIT) applications that dynamically adapt, generate, and optimize themselves based on real-time context and user needs. What Are Just-in-Time Applications? Just-in-time applications represent a departure from traditional software architecture. Instead of pre-building every feature and workflow, these applications use AI to generate functionality, interfaces, and logic on-demand. Think of them as software that writes itself in response to specific situations, user requests, or environmental changes. ...

May 4, 2024 · Tolic Kukul

From Code Writers to Solution Architects: How AI is Reshaping Software Development

The software development landscape is undergoing its most significant transformation since the shift from assembly language to high-level programming. As AI tools become increasingly sophisticated, we’re witnessing a fundamental change in how we approach building software — moving from writing detailed instructions to describing desired outcomes. The Great Paradigm Shift The traditional imperative approach required developers to think like this: Step 1: Create a loop Step 2: Check each item Step 3: Filter based on condition Step 4: Return results The emerging declarative approach looks more like: ...

October 3, 2023 · Tolics

There Is a God Now: An Old AI Anecdote That Aged Like Fine Wine

A computer science anecdote from the mid-2000s about AI and divinity seems remarkably prescient in today’s world of interconnected AI systems.

August 9, 2023 · Tolic Kukul

Engineering with ADHD: Risk Management and Detail-Oriented Work

Practical strategies for software engineers with inattentive ADHD to manage risk, avoid missing critical details, and excel in detail-oriented work.

January 8, 2023 · Tolic Kukul

TODO Lists: The Neurodivergent Engineer's Secret Superpower

I have a confession: I am absolutely, unabashedly in love with TODO lists. Not just fond of them, not just dependent on them — I’m talking about a deep, passionate love affair that has lasted my entire career. And as a neurodivergent engineer with ADHD, this isn’t just a quirky productivity habit. It’s my secret superpower. The ADHD Brain and External Memory Most neurotypical people use TODO lists as reminders. For neurodivergent minds, they’re something far more powerful: an external memory system that compensates for our unique cognitive patterns. ...

November 15, 2022 · Tolic Kukul

What 'Enterprise Software' Actually Means: Beyond the Buzzword

“We need an enterprise solution,” the CTO announced in our Monday meeting. I nodded thoughtfully, but internally I was screaming. What does that even mean? Is it the software equivalent of putting “artisanal” on a coffee shop menu — a fancy word that justifies charging more? After building software for startups and Fortune 500 companies for over a decade, I’ve learned that “enterprise” is both the most overused and misunderstood term in tech. Let’s cut through the marketing fluff and figure out what it actually means. ...

May 15, 2021 · Tolic Kukul

Rails in Enterprise: Awesome and Awful in Equal Measure

Ruby on Rails is simultaneously perfect and terrible for enterprise applications, depending on what you optimize for.

June 15, 2020 · Tolic Kukul

The Hidden Lifecycle Cost of Every Feature

Every feature has an ongoing cost that extends far beyond initial development. Understanding this total cost of ownership changes how we evaluate what to build.

March 1, 2019 · Tolic Kukul

I'm Glad I Started Coding in the Mid-2000s

Looking back at my early days as a developer, the mid-2000s web was simpler, faster, and more human. We built things for fun — and we shipped more.

January 28, 2019 · Tolics

The Pragmatic Engineer's Manifesto: Beyond Hype, Toward Solutions

The Pragmatic Engineer’s Manifesto: Beyond Hype, Toward Solutions Software engineering is drowning in false signals. We optimize for the wrong metrics, test the wrong skills, and chase the wrong goals. The result? Systems that are complex but fragile, teams that are impressive but ineffective, and engineers who can recite algorithms but can’t solve real problems. It’s time for a different approach. When Answers Are Cheap, Questions Become Expensive Today, answers are cheaper than they’ve ever been. ChatGPT, Claude, and Stack Overflow can solve almost any technical problem in seconds. You can find tutorials, code examples, and step-by-step guides for virtually any programming task. ...

July 16, 2018 · Tolic Kukul

Why Every Developer Should Know About Double-Entry Bookkeeping: And It's Not About Accounting

Last week, I was debugging a payment issue in our fintech app when my colleague mentioned “double-entry ledgers.” I nodded along, pretending I knew what she meant, but honestly? I thought it was just boring accounting stuff. Turns out, I was completely wrong. Double-entry bookkeeping isn’t just an ancient accounting practice — it’s one of the most elegant software architecture patterns for handling money. And every developer building financial systems should understand it. ...

August 22, 2017 · Tolic Kukul