Skip to main content

Code Organistation - Your own KDB/Q Library

· 10 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

When I first started working as a software developer in an investment bank, I was initially placed in a C# team. After completing all the onboarding, installing Microsoft Visual Studio and gaining access to my team's codebase, I was finally able to have a look at the project I was going to work on. Little did I know, what nightmare I was about to face. Upon opening the project, I discovered that the average length of each class exceeded 15 thousand lines. Yes, you read that correctly; it's not a typo, but the shocking reality I was faced with. Navigating the code base was hard enough, but making a change without breaking anything seemed to be impossible. Luckily, I eventually transitioned to a team that embraced the concept of code organization.

DefconQ at 'Everything, Everywhere, All with KDB/Q' by Habla Computing

· 9 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

Mid January, I stumbled upon a KDB/Q meetup hosted by Habla Computing in Madrid, boasting an interesting lineup of talks and speakers. Spontaneously, I opted to seize the opportunity and booked a trip to the sunny capital of Spain to attend the event. Following the meetup, during the networking session, I had the pleasure of meeting Juan, a founding partner of Habla Computing, and Jesus, the VP of Research at Habla Computing, who warmly welcomed me into the small, but growing, Spanish KDB/Q community. Engaged in a stimulating conversation about our mutual enthusiasm for KDB/Q, Juan and Jesus extended a kind invitation for me to speak at their upcoming conference, an offer I eagerly embraced. Not only did I feel honoured to have the opportunity to share my expertise on KDB/Q, but I also take every chance to escape the rainy weather of the UK and spend some time in Spain.

The importance of code review - Four eyes see more than two

· 6 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

Over the weekend, I performed an update on the version of Docusaurus, the documentation framework utilized for my blog. A major update had been released some time ago, and due to my limited enthusiasm for front-end development, I had been postponing this task as long as possible. However, I finally decided to tackle it this weekend. After reviewing the recommended upgrade instructions provided in the official documentation, I prepared all necessary steps and then started the upgrade. Incrementally I went through all steps, running my blog locally on my laptop, ensuring that I wouldn't break anything. After completing the upgrade, I conducted one final verification to confirm that everything was running as expected in my browser. Satisfied with the results, I committed my changes and pushed them to the repository of my blog.

Now, all that remained was deploying the new version to Github Pages. I executed the command USE_SSH=true yarn deploy as I typically do, pressed enter, and awaited the customary [INFO] messages. However, instead of the expected outcome, I was confronted with a bright, red error message.

Advent of Code - Daily Coding Practice

· 3 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

It's this time of the year again: it's getting cold and dark outside, the days are getting shorter, Chris Rea is driving home, Santa is coming coming to town and all Mariah Carey wants for Christmas is you. As business requests hopefully slow down, and we enter code freeze, it's a good time to reflect on the past year and spend some time on sharpening our brains and KDB/Q coding skills. And what could possibly be better for that than tackling the daily coding challenges presented by Advent of Code?

Where to find help

· 5 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

So, you've delved into 'Q for Mortals' and a few other fundamental references I shared with you in my previous post, immersed yourself in code, tutorials, and successfully tackled your initial tasks. However, as you progress, you inevitably encounter that frustrating error. You try the different approaches you normally attempt when running into an error but you've exhausted every strategy, set breakpoints, meticulously stepped through the code, and yet, you can't figure out what's wrong with your code. Maybe you've encountered a challenge you are unsure how to tackle or perhaps you simply want to ensure your solution is optimal, whether in terms of execution time or memory usage. In any of these scenarios, the need for assistance arises, and in this blog post, we'll look at the different options for help with your KDB/Q challenges.

How to Read, Understand and Learn KDB/Q code

· 14 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

In my previous blog post, I shared my favourite Go-To KDB/Q Learning Resources to help you to get started. However, as you dive deeper into the KDB/Q programming language and you begin to read and review other's code you might experience a slight sense of overwhelm. Two main characteristics of KDB/Q, namely its tersness and and its left-of-right evaluation order (KDB/Q expressions are evaluated left-of-right which equates to expressions are evaluated right-to-left), can pose initial challenges for new KDB/Q developers. It's important to overcome these hurdles and become familiar with these features as you progress.

Welcome

· 3 min read
Alexander Unterrainer
DefconQ, KDB/Q Developer, Consultant

Welcome to DefconQ - Your Beginner's Guide to Navigating the KDB/Q Universe!

Hey there, tech enthusiasts and aspiring KDB/Q developers! Are you ready to embark on an exciting journey into the world of q programming, tice architecture, and design? Look no further, because you've just stumbled upon your ultimate resource for demystifying the KDB/Q landscape.

We get it - starting out in the tech world can be a bit overwhelming. The jargon, the paradigms, the concepts - they can feel like a maze that's hard to navigate. But fear not! Our mission is to guide you through this maze, one step at a time, and make these seemingly complex topics as easy to grasp as building blocks.