Code
-
How to de clutter You code ( and life)
How to de clutter You code ? Remember the quote “It`s not You , it is me?”. Start with an uncomfortable truth. It is Your mess created by you. Every developer knows this moment. You open a file and wonder who wrote it. Then Git blames shows the true colors. The problem is not just messy code. The problem is how easily clutter sneaks in, in life, in general, everywhere. Why code (and Life) gets cluttered Code rarely becomes chaotic overnight. It grows like a blob ( remember GhostBusters ? ), one “quick fix,” one “temporary solution,” one “I might need this later” at a time. Life follows the same…
-
Human in the loop (HITL)- best practices for agentic worklows
Human in the loop gives the best of both worlds. Best practice in agentic workflow is testing, verification,quality assurance. You name it. Workflow agents are automatons and can significantly enhance productivity, but their true potential is unlocked when combined with a human-in-the-loop (HITL) approach. This ensures that the agent’s actions are verified and refined by human expertise, leading to better outcomes. In addition it provides a feedback loop for learning and enchancing workflow processes. Why Use Workflow Agents with Human-in-the-Loop? Enhanced accuracy Agents may (or may not 🙂 ) on occasiona misinterpret instructions or context and provider infered data that is not what we wanted it to. Human verification ensures…
-
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…
-
WebExtension Manifest.json permissions options list
WebExtension Manifest.json permissions options list is quite long. Let us see what we can access with our plugin for FF. This hsould inspire You to write Your own for quality of life and ease of doing things… or avoid them all together. For avoidance i would highly recommend to look into prper ad block filter and creating / adding your own. Rule : Do not scare users Remember when Your app requires and asks for access. You either explain to user in every detail what for and go with bare minimum. Just as a rule of thumb of not beeing accused of getting and selling info. It is always scary…
-
Structure for instructions, agents and skills
This all is the provide a nice clean idea on how to store your files so You can make Your AI assistant / LLM network understand what and how to do. Acording to Your more or less strict rules. This should help You to achieve more repeatable results as expected. The problem : generic answer Do not confuse with generic functions, those rock ! Out-of-the-box, any LLM (here copilot) creates generic code. You could call it ‘vanilla’ flavour. It doesn’t know your conventions, library preferences patterns / anti patterns. This results in something that might work but is hard to maintain, totally different then the rest of the lot and…
-
Productive struggle vs AI slop
Productive struggle vs AI slop is quite the topic these days. On one hand we have to do the hard, boring, frustrating work. Do it long enough to learn the whole lot, reshape skills, gain confidence. Opposition of escaping to quick fixes with or without AI. When used in conjuction with AI, we should still keep the struggle but without the pointless friction. That way more energy and cognitive power goes into craft and progress, long-term growth… instead of refactoring some legacy code and working over things that should not be that hard in the first place. What is productive struggle? Productive struggle is the time and space where a…
-
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…
-
Data contracts. Building universal data access proxy api
Data contracts usually requires us to build around them a universal data access proxy API for users to consume. API utilizing proper data contracts, negotiated with different teams, acts as a unified gateway providing the necesities. Allows access to data sources like databases, REST APIs, GraphQL endpoints or other file systems. One api to rule them all Steps to build data contracts for proxy api You could try and adopt a similar flow for creating such access points, even make a template in JIRa so You will know where to get proper data and how to acquire it… or maybe expose the library and just aprove properly looking merge requests……






















