Showing posts with label AI. Show all posts
Showing posts with label AI. Show all posts

Friday, February 6, 2026

Three levels of AI usage

When researching a topic, there are three levels of AI usage:

  1. Ask "what" (better Google search)
  2. Ask "why" (requires curiosity)
  3. Ask if a specific alternative could be used (requires experience)
Examples:
  1. What is the difference between a mutex and a semaphore?
  2. Why would I choose a microkernel architecture over a monolithic one for this specific embedded system?
  3. I'm currently using FreeRTOS for this task, but would an Event-Driven State Machine be more power-efficient for this specific low-power MCU?

Thursday, August 28, 2025

AI Without the PhD: A Developer’s Guide

The AI landscape is vast, but you don’t need a PhD in machine learning to make it work for you. By focusing on practical skills, you can build smart apps without getting lost in the math.

Three levels of understanding:
  1. Integration Skills: Know how to call an API that provides AI functionality. Example: Converting speech to commands.
  2. Conceptual Understanding: Have a general sense of what training an AI model involves. You don’t need to master neural network mathematics, but you should understand the workflow: Collect data → Split into training/testing sets → Train the model → Evaluate → Deploy.
  3. Tool Awareness: Recognize that you can train simple models yourself using online tools (e.g. Edge Impulse) or Python libraries (e.g. PyTorch).
  1. Record voice samples like “light on” or “light off” as training data
  2. To expand the dataset, generate synthetic data automatically with OpenAI's Whisper.
  3. Split dataset into 80% training and 20% testing.
  4. Train the model with a tool.
  5. Test accuracy and retrain if needed.
  6. Deploy it to the ESP32 microcontroller.
That’s it. You don’t need to know the inner workings of gradient descent or backpropagation to build something that works in the real world.

And most importantly: create 90% of your code with Claude Code.

Wednesday, August 20, 2025

AI: More Luck Than Science?

In AI, a lot of progress still comes down to trial and error — and sometimes, plain old luck. We can’t even predict how many images you might need to train a cat classifier to 95% accuracy.

When researchers train giant neural networks, the outcome can swing wildly depending on small, random details. Change the initialization seed, shuffle the data differently, or even let the GPU run in a slightly different order, and you might end up with a model that either crushes benchmarks… or flops.

Big labs try to beat this randomness by brute force — running thousands of experiments in parallel until something works. Smaller teams don’t have that luxury, which is why AI breakthroughs often come from places with deep pockets.

Scaling laws, optimization tricks, and theory give us islands of predictability. But we don’t yet have the “physics of deep learning” — the equations that would let us design a network and know it’ll hit 95% accuracy without a thousand failed runs.

Until then, success in AI will keep feeling less like engineering and more like informed gambling with increasingly sophisticated strategies.

Thursday, November 14, 2024

Tech trends for software engineers

Yesterday, we had a discussion with software engineering colleagues about Bitcoin and other tech trends. I was asked for my opinion on a current trend that could be profitable to get into. Unsurprisingly, I said AI. By itself, this advice is too vague to be helpful, so I gave a more concrete example: using AI to transform the user interface of apps from menu-based to speech-based. I also pointed them to my Python script that demonstrates the basics of this concept.

As someone who was introduced to computers in the 1980s with the Commodore 64, I have witnessed the rise of Windows, the internet, web apps, mobile apps, and cryptocurrency. This shift toward AI is similar to—and even more dramatic than—when companies started moving to the web during the early days of the internet. 

I understand that creating a new AI model requires billions of dollars and years of research. But the good news is that many of these models provide APIs, which makes them accessible to us mere mortals. We just need to understand a few key concepts, such as:

  • How to use AI APIs.
  • Which large language models (LLMs) are suitable for offline use.
  • How to employ Retrieval-Augmented Generation (RAG) to incorporate data or documents not included in an LLM's training model

As a software engineer, you already possess the most important skills: algorithms, data structures, and programming languages. By spending just a couple of weeks on basic AI topics, you can add another superpower to your skill set. I, for one, will definitely be doing so.

Music: Barış Manço - Şehrazat

Saturday, November 4, 2023

AI: Detecting phone number and email in messages

In e-commerce applications operating on a marketplace model, a significant challenge is the exchange of phone numbers and email addresses through messages between vendors and customers. This allows them to bypass the platform, resulting in a loss of commission revenue for the site. Users may employ inventive methods to evade standard detection algorithms that rely on regular expressions, such as spelling out numbers, e.g. "fivethreetwo" instead of "532". To develop a comprehensive list of such techniques, you could prompt ChatGPT with: 'I have a webpage with a messaging feature. I want to prevent the inclusion of phone numbers and emails in messages. What are some ways users might try to circumvent my safeguards?'