-
Why bother with Vue composables – 6 reasons to do
Why bother with Vue composables ? So it will make our lifes easier, more straightforward coding and simplified testing to say the least. Composables in Vue.js are functions that encapsulate business logic and allow it to be reused across different components. Your regular dependency inversion, composition or what ever You want to call it. Designed to make it all simple and pleasurable. Why Use Composables? Reusability Composables encapsulate logic that can be reused in multiple components. One ring to rule them all. One place to change them and in a component bind them. Something like pinia store. For example, if geospatial filtering logic is needed in more than one place,…
-
MarkItDown: convert 20+ file types to markdown for AI & LLM Ingestion
MarkItDown can convert different file types into AI / LLmeme friendly markdowns. Tool by Microsoft (microslop? to be less sloppy ? 😉 ). Library provides multiple converters for various files like PDFs, Word docs, spreadsheets, presentations and so on into a clean Markdown format. Aim is to make messy documents readable and structured so the input provided will be of higher quality. MarkItDown is a LLM powered library Traditional converters often fail on complex or scanned documents due to rigid rules and have problems handling edge cases that, simply, weren`t taken into consideration. MarkItDown uses machine learning for semantic parsing (hallucinations ? ) therefore achieving higher accuracy (that is of…
-
Typescript perfect sync – 3 tricks to keep it tight
Typescript perfect sync can be kept using couple of strategies. Most of us start with simple union types, like this: const ScenarioStatus = 'success' | 'fail' | 'error' | 'other'; So far so good. That works great… until you need to iterate over those values for rendering, validation, or other logic. And now You are stuck with two separate definitions: one array for logic, and one string union for the type. Sooner or later, they’ll fall out of sync and provide headaches to people. You could go for en enum…. Below behold the three TypeScript tricks to make your code tight, hard to break, cleaner, safer, DRYer and resistant to…
-
Statics VS AI code analysis ~13 tools
Statics VS AI code analysis works best using the pros from both words. Go hybrid ! Static tools understand the syntext, hardcoded parameters and are very strict. On the other hand AI understands context, can figure out business logic, adapt the codebase. Logic flaws or performance bottlenecks rule-based scanners might miss, AI will put more effort into that. Static analysis limits Static tools scan for syntax errors, style violations, and basic security patterns using fixed rules. Always consistenst, very fast but might generate false positives, ignore business logic, and require manual rule overrides. How often did You use @typescript-error 🙂 Do You code for the linter to pass, logic to…
-
Law of Demeter in programming
Law of Demeter in programming You could in short paraphrase as “Don’t talk to strangers!” or “Keep Your hands in your pockets”. A class needing data from a deep chain of objects like – user.getAddress().getStreet().getNumber().It is visible very often in OOP, less in functional approachess ! The Law of Demeter states that method only knows its closest dependencies: itself, passed parameters, created objects, and own fields. Should not be used with dot chains ( they were so fancy when we started Java 8 back in the day). What to Remember? Where Law of Demeter comes from ? Why Demeter ? The Law of Demeter in progamming takes its name from…
-
How to delete code – the story of interface
How to Delete Code: The Interface Story How to delete code, safely of course, is usually a major problem. Difficult and You always second guess every decision because You don’t know what You don’t know. It is not just hitting the “delete” button. You need to make a smart decision and second guess your solution. How to remove unnecessary code with a focus ? Refactor the code, use interfaces and then test it twice remembering about user experience. TL; DR 😉 Define one interface. Create two implementations – legacy, modern and any other. Unify! Use it in already existing services or create such services by refactoring code. Switch between them…
-
First make it work then make it better
First make it work then make it better can sound pretty straight forward and fun. You get to fast prototype something that just “works”. Glue together some pieces and see the rapid progress towards Your goal. Sounds awesome and full and dopamine. In any kind of creative endevour a common trap is waiting for perfect results before launching anything. “First make it work then make it better” isn’t just practical advice, it’s achange in mindset that leads to real results and progress. Whether you’re an entrepreneur, developer or just a creative person. Showing up everyday, consistently, even for a bit, beats talent. If You have trouble with that read about…
-
Lauers Law – why less code is better
Lauers Law – why less code is better as a very solid idea. Just remind Yourself about all those DTOs that could be a simpler one with a mapper or a dedicated if-else-tree somewhere around data transformation. It challenges developers to prioritize efficiency and elegance in their coding practices, ultimately leading to cleaner, easier to understand and more maintainable systems. The Essence of Lauer’s Law At its core, Lauer’s Law emphasizes that reducing the amount of code can lead to better outcomes. The principle suggests that if developers had twice as much time, they could create a system with half the code while maintaining or improving its quality. The idea…
-
The philosophy of unix – 9 commandments
The philosophy of unix is a guideline of standards and software design & philosophy approaches : Elaboration : The philosophy of unix is a universal approach to any development, not only software 😉
-
Premature optimization is the root of all evil and the lesson from Duke Nukem Forever
“Premature optimization is the root of all evil.” as famously stated by Donald Knuth. This principle highlights the dangers of focusing on performance improvements too early in the development process. While optimization is essential in software engineering, prioritizing it before establishing a clear and functional design often leads to unnecessary complexity, inefficiency, and even failure. The story of Duke Nukem Forever, a sequel to a great game that was to be even better spent over 15 years in development hell. Did it make it ? Serves now as a tale of how premature optimization and feature obsession can derail a project. Someone was here obviously “Out of touch”. Knuth’s Rule:…























