
Why I’m Still a Student After 20+ Years in IT
I've never liked learning just for the sake of learning. For me, subjects that didn't interest me were pure torture. I can spend all my time on things I'm passionate about and want to explore, but side topics have always been a drag. I had friends who were aces in school, perfectionists in college, who today, years later, no longer bother with upgrading their qualifications. That's not how it works anymore. Today, things change at lightning speed. Since 2023, the world has been in a frenzy over how and where to use AI - it's gone completely wild. You have to stay current, even if you work with this technology every day. The number of new possibilities, applications, ideas, and changes is so vast that it's hard to keep up. That's precisely why, guided by the principle of continuous improvement, I applied for the "Umiejętności Jutra" (Skills of Tomorrow) program, and to my delight, I was accepted. I took part in a 5-week "AI in Business Development" course from Google and SGH Warsaw School of Economics. Today, I'd like to share a few reflections from this experience. A significant part of the course covered topics that are part of my daily work - task automation, using language models for research, or working with my own databases. I was pleased to see that tools like NotebookLM and fundamental RAG concepts, which I use in my projects every day, were presented as key elements of a modern AI toolkit. It was valuable confirmation that the path I've been following for years aligns with the best market practices. However, the greatest value of such programs isn't repeating what you already know. It's that moment when the instructor shows you a tool or method that opens up completely new doors. For me, that discovery was the topics adjacent to the typical IT I'm immersed in, namely using AI for marketing, product creation, but also for data analysis, the entire Google Cloud ecosystem, and the Canvas application. A huge thank you goes out to all the instructors who, with...

Story: Close Yet So Far
Author's Note I like sci-fi and superheroes. A long time ago, there was a series I loved called HEROES, and it had a character named Hiro Nakamura. He could stop time and teleport. However, in my opinion, the character was very poorly utilized, and I thought back then (this was a good decade ago, when Samsung released the Galaxy S4 and Blu-Ray movies were the hit at home) that I could write such a character better. And so, I present another archived exhibit from my scribblings. This is part one; I have another one in store, but that's for another time 🙂 Text below or download in PDF and EPUB PDFDownload EPUBDownload Title: Close Yet So Far "There it is!" the professor pointed his hand at a long, red object. "It's so small?" I asked. "What were you expecting?" "Something that's supposed to grant such power should be impressive, I don't know, maybe it should gleam, or spark with some kind of radiation, I have no idea." "This will only amplify your natural abilities." The professor nodded for me to sit down. "We've known each other for twenty years, John, but you don't know everything about me. My secret was well-kept by your mother." "And what does my mother have to do with this?" I asked, surprised. "We met thirty-seven years ago." My eyes widened in astonishment. Could it be that I was his son? That unexplained bond between us... Deep down, subconsciously, I knew I was right. "Yes, John, it's true. I am your father, and I have to tell you something very important. I hurried to build this and to tell you everything before I leave." At that moment, as we sat in his office at Stanford University, I didn't know that in a moment, in an instant, my life would change, and then the fate of the entire world would depend on me. Me, a shy lab assistant—and not a very good one at that—with a bit of a belly, of average height, with an over-the-top mop of red hair, unable to find my place in the world despite my rather advanced age, was about to become a being whose abilities...

SQL from Zero, Part 3: Joining Three Tables and Sorting Results (LEFT JOIN, ORDER BY)
Introduction: From Simple Pairs to a Complex Web of Connections Welcome back. In previous lessons, we learned how to look inside a single "binder" (SELECT ... FROM), filter its contents (WHERE), and combine information from two different binders (INNER JOIN). Today, we'll become true data detectives. Our task will require combining information not from two, but three different sources. And once we gather all the clues, we'll learn how to arrange them in a logical order so they tell a clear story. In karate, a precise move is important, but only combining several movements into a fluid, logical sequence (kata) shows true mastery. Let's begin our "data kata." Part 1: Joining Three Tables – A Complete Order Picture Imagine we want to create a report that shows us a list of orders, but for each order, we want to see two key pieces of information: The full name of the customer who placed the order. The name of the shipping company that delivered the order. If we look at our SQL Tryit Editor tool, we'll see that we need three tables: Orders – this is the heart of the operation; it contains CustomerID and ShipperID. Customers – from here, we'll get the customer's name (CustomerName) based on CustomerID. Shippers – from here, we'll get the company name (ShipperName) based on ShipperID. Our Orders table is the central point connecting the other two. Therefore, we need to perform two joins: first, we'll join Customers to Orders, and then we'll join Shippers to that result. In the MS Access dialect, which our tool uses, it's crucial to use parentheses to group joins. SQL SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName FROM (Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID) INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID; Let's break this down calmly: SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName – We select the specific columns we are interested in. We use Table.Column notation for clarity. FROM...

Weight Matters: A Small Guide to Small Language Models (SLMs)
Intro: The End of Analysis Paralysis. Time for Pragmatism. The world of AI is full of buzz around giant language models (LLMs). This can be intimidating and lead to "analysis paralysis"—the feeling that nothing meaningful can be achieved without access to immense computing power. From my experience, the key is to precisely match the tool to the problem. Instead of immediately reaching for the heaviest, most resource-intensive solutions, a methodical analysis and selection of the optimal technology can be more effective. This is why the strategic choice of Small Language Models (SLMs) is becoming a very interesting alternative. In this article, I will try to divide SLMs into practical "weight classes" and—more importantly—support it with real-world implementation examples I've dug up online. Category 1: Featherweight (models ~270M – 3B parameters) These are the most specialized and agile models. They run instantly and can be deployed almost anywhere, even on mobile devices. They can be compared to a precise, dedicated tool—they are not universal, but in their specific application, they perform unrivaled. Practical Applications: Text classification, sentiment analysis, keyword extraction, simple FAQ chatbots. Examples from the Market: Google Gemma 270M: This model is designed specifically for fine-tuning for specific tasks on mobile devices, allowing for the creation of specialized assistants that work offline. IBM Granite-4.0-H-Micro (3B): IBM created this model for edge applications where speed and minimal resource consumption are critical. Category 2: Versatile Tools (models – 4B – 13B parameters) This is currently the "golden mean" and the most popular category. Models like Mistral 7B, Llama 3/4 8B, or Microsoft PHI-4 offer a fantastic cost-to-capability ratio. They can be seen as the "Swiss Army knife" in the AI arsenal—a reliable foundation for most typical business applications. Practical Applications: Advanced RAG systems (intelligent documentation search),...

Building a Personal AI Assistant: Experiments with Google Gemini and Lessons from the Battlefield
Introduction The goal of any serious AI implementation in business-or really, of anything, anywhere-is to solve a specific problem. Of course, the TONS of HYPE and FAME cause people to implement AI whether it makes sense in a given case or not, but that's a different story. In my case, the problem was the complexity of data in a non-professional project: a science fiction novel I'm writing because, as I've mentioned before, I enjoy writing for relaxation. I decided to use Gemini to create a personalized AI assistant (a "Gem," so to speak), which was intended to function as an interactive knowledge base about the world and plot of my story. Whenever I wrote longer forms (and even shorter ones), I had this problem where after a few pages, I could no longer remember if a character had brown hair or green eyes, or whether a certain lady was a lieutenant or perhaps a colonel 😉 Seriously, I have a great memory, but it's short. The experiment provided a key conclusion: the potential is enormous and I've started using it, but the RAG technology that such solutions are based on has fundamental limitations in precise data retrieval. Understanding these limitations is extremely important today to grasp the constraints of these products. This case study shows why. 1. The Hypothesis: AI as the Guardian of Fictional Canon Managing information in an extensive project-whether it's technical documentation, a legal regulation database, or, as in this case, the world of a novel-is a challenge. My hypothesis was simple: a language model with access to a dedicated file containing the scenario, character descriptions, and the text of the novel itself should be able to answer precise questions about facts. Goal: To create a tool that, when asked, "Which characters were involved in the incident at the station over Titan?" returns an exact list, eliminating the need to manually search through pages. 2. Solution Architecture: What is RAG and How Does It Work? The tool I used was Google...

SQL from Scratch, Part 2: How to Filter Data (WHERE) and Connect Worlds (JOIN)
Introduction: From a simple question to a precise investigation Welcome to the second part of our journey into the world of SQL. In the previous lesson, we took the most important first step: we learned how to ask a database to show us the contents of its "binders" using SELECT and FROM. We displayed entire tables or selected columns. Today, we'll go a step further. In karate, it's not just about striking, but about hitting a specific point. In SQL, it's not just about seeing the data, but about seeing exactly the data we need. We will learn the art of filtering, and then we will do something truly powerful—combine information from two different tables. Part 1: WHERE – Your data filter Imagine that our Customers table from the last lesson has thousands of entries. Displaying all of them is pointless if we're only interested in one specific customer or customers from a single city. This is exactly what the WHERE clause is for. It's a condition that the data must meet to be displayed. It's like telling your assistant, "Show me the list of customers, but only those who are from London." Let's go back to our online tool: SQL Tryit Editor – W3Schools Remember our last query? SELECT * FROM Customers; Now let's add a condition to it. We want to see customers only from London. We'll do it like this: SQL SELECT * FROM Customers WHERE City = 'London'; Run this query. See what happened? The list has been filtered. You only see the rows where the City column has the value London. Breaking it down: WHERE – this keyword starts the condition block. We always write it after FROM. City = 'London' – this is our condition. It consists of three parts: The column name (City) that we are checking. The comparison operator (=), in this case, "is equal to." The value we are comparing against ('London'). Important note: Notice that I placed the text 'London' in single quotes (' '). In SQL, every piece of text (called a string) must be marked this way. Numbers, however, are written without...

AI Models Don’t Have to Be Expensive
Usually, when people think of AI, names like Gemini, ChatGPT, or—less often, which is a shame—Claude come to mind. To use such a tool for anything other than a chat fiction in the manufacturer's app or Microsoft's Copilot, you need to buy access to an API. An API is an interface that allows us to use a language model for our own purposes. In Europe, we also have excellent models. They might be smaller or less powerful, but they are completely sufficient for many tasks. We have a fantastic Polish model, Bielik.ai, but to use it, we need to run it on our own computer or find a provider. Meanwhile, there's a model we can use in simple applications for a very fair price—practically for free, as I haven't yet managed to exceed the one million token limit in my simple agent, and that's where the charges begin 🙂 It's the French model, Mistral: https://mistral.ai/pricing#api-pricing Now for a real-life example. I started a diet and I'm trying to control what I eat, its calorie count, and its protein content. This is important to me because I also go to the gym, and my plan is to turn fat into something more useful 😉 Instead of using an app where you have to click through everything you ate, I decided to use a model. I can simply write what I ate, and it estimates the calories and protein. Is it accurate? Of course not, but this isn't an app for an oncology ward. A rough estimate is enough for me, with the awareness that it might sometimes be complete nonsense. The idea was for the model to save this data in files, but also to occasionally create workout plans and put them in my calendar, specifying what I should do and when. So, the technology choice was as follows: the LLM is Mistral. As the place where I'd input text and get a response, I chose Telegram. It has a great and simple function for creating bots (a ton of Google results on how to do it). The whole setup is connected via n8n, hosted on a mikrus server: https://mikr.us/n8n.html Ultimately, the model uploads...

VEGA – short story SF/HORROR
A Writer's Foreword For years, I've been writing for pleasure, for relaxation-straight into the drawer. I start most texts and never finish them, but I have managed to complete a few short stories. I also have two rather well-developed novels that I might manage to finish someday. I thought that since I have my own space here, the time has come to start publishing something. And although the theme of this site is, after all, professional, I figured that these two worlds don't clash. What follows is my short story, "VEGA," from around 2011, written for a competition. The genre is Horror/Science Fiction (so be warned-if graphic scenes keep you up at night, you might want to skip this one). I hope there will be someone who finds at least a little bit of pleasure in my creative work. For now, I'll leave you with the first story. Enjoy the read! Text below or download in PDF and EPUB VEGA PDFDownload VEGA EPUBDownload "VEGA" I am writing this in the hope that someone, someday, by some miracle, will come across this letter. As I write this, the third year of our journey to Vega, in the constellation Lyra, is passing. The date is July 25th, 2267. We still have two years of travel left to our destination. But we will not get there. I must destroy this ship and what was born on it. I am likely the only member of the crew still alive. The communications are down; I cannot send any signal. The only means of communication I have is this piece of paper you are now reading, a pen, a bottle that once held two-hundred-year-old wine, and a cork for it. In twenty minutes, the reactor will reach critical value, the superconducting magnets will melt, and the antimatter will be released. The flash of the explosion will reach Earth in 14 years. This letter will probably be found long after, unless it happens to strike the hull of some ship sent to investigate what happened here. I am sitting and finishing this letter, hidden in an emergency airlock, wearing a spacesuit. I will try to...

AI, LLM, ChatGPT – A Guide to Not Getting Lost in the Tech Terminology
Almost every day, I encounter a misunderstanding of what AI is. A vast number of people see no difference between the concepts of an assistant and an agent, nor between a model and an application. Many companies and individuals, by not understanding the specific terms and how AI-related technologies work, make poor business decisions. This ends with a huge number of failed implementations and, as a result, wasted money. That's precisely what I want to explain in simple terms in this article. The last two years have made artificial intelligence a permanent fixture in our offices. From managers to specialists, everyone wants to implement it, promising themselves a business revolution. In this enthusiasm, mistakes are often made. I hear questions and statements like: "Is ChatGPT the same as AI?" "If we have the model, why can't it do what I want?" "Let the model learn from our data and make decisions in real-time." "Can't we just retrain it to know our company's knowledge?" The biggest problem isn't the technology, but the lack of understanding it. This article aims to organize the basic concepts so that everyone—regardless of their position or experience—can consciously discuss AI implementations in their company. 1. AI is the umbrella, LLM is a part of it, and ChatGPT is a finished product. This is a fundamental difference that must be understood. Artificial Intelligence (AI) is a broad field of science at the intersection of computer science, neurology, and psychology. In the future, I'll describe in more detail how this 'artificial brain' works 😉. It's an umbrella term that covers everything: from simple recommendation algorithms (like on Netflix) to advanced speech recognition systems, large language models (i.e., LLMs, including the well-known GPT), and multimodal models that understand and generate images and sounds in addition to text. Large Language Models (LLMs), such as GPT, Gemini, Sonet, or our native Polish Bielik.ai (though here we have an SLM,...

SQL from Scratch: Your First Step into the World of Data (Even If You’re Not in IT)
Introduction: Forget "coding," learn to ask precise questions Do the words "database" or "programming" make you feel a little anxious? Do you picture complex screens full of incomprehensible characters? That's natural. With over 20 years in the IT industry, I've seen how technical jargon can be effectively discouraging. Today, I want to show you that it can be different. Many years of practicing karate taught me one fundamental thing: strength lies not in complexity, but in precision. A perfectly executed, simple technique is far more effective than ten chaotic moves. It's exactly the same with data. SQL, the query language for databases, isn't "coding" in the common sense. It's the art of asking precise questions. If you can clearly articulate what you're looking for, you're already halfway there. In this series of posts, I will guide you through the absolute basics. We'll start without installing complex programs, without technical terminology. Step by step, at a calm pace. Let's begin. What is a Database? Imagine a perfect filing cabinet We've all used Excel at some point. Imagine a spreadsheet – it's nothing more than a table. It has columns (e.g., FirstName, LastName, Position, Salary) and rows, where each row represents the data of one person. A database is simply a collection of such organized tables. It's like a perfectly organized cabinet where each table is a separate, clearly labeled binder. Thanks to this order, finding specific information is instantaneous – as long as you know how to ask for it. And that's where SQL comes in. What is SQL? Your personal assistant for searching binders SQL (Structured Query Language) is the universal language we use to "talk" to almost every database in the world. It's your assistant to whom you give simple commands: "Show me all employees." "Find me only those who work in the marketing department." "Give me a list of products with a price higher than $100." Simple, right? Our task is just to learn the syntax of these...
Recent Comments