Skip to main content

11 posts tagged with "kdb/q"

View All Tags

The Magnificent Seven - Mastering KDB/Q Concepts for Data Excellence

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

When developers first encounter KDB/Q, they are often intimidated by its "strange" syntax, which differs significantly from most other programming languages they've seen. However, understanding and familiarizing oneself with the syntax is merely the beginning. To truly master any programming language, one needs a deep understanding of its core concepts and paradigms. For instance, when learning object-oriented languages like Java or C++, you should focus on concepts such as inheritance, encapsulation, polymorphism, and data abstraction. Additionally, understanding pointers and memory allocation is crucial for mastering C++. The same principle applies to KDB/Q, a high-performance, in-memory database and programming language. In this blog post, I will share the seven most important concepts that will set you apart and enhance your skills as a KDB/Q developer. Understanding these concepts will provide insight into why KDB/Q is so powerful and favored among quants and data enthusiasts.

DefconQ meets Fancy Quant - Alexander Unterrainer and Dimitri Bianco discuss KDB/Q

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

In this blog post, I have a special treat for you. I sat down with Dimitri Bianco a seasoned quant who runs his own podcast and YouTube channel dedicated to all things quant finance. I have been following Dimitri for a while and always found his podcasts incredibly informative and helpful, so when the opportunity to join him on a podcast and discuss KDB/Q came up, I couldn't turn it down. Dimitri’s engagement provides graduates and students at the start of their careers with valuable insights to help them choose the right path. While I had to figure most things out on my own, Dimitri's podcast offers a valuable industry perspective into the field of quantitative finance.

Advanced KDB/Q Learning Material

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

Welcome back, fellow KDB/Q enthusiasts! If you've been following my blog journey, you've likely come across one of my earlier posts where I shared my favorite Go To KDB/Q Learning Resources aimed at beginners for diving into the world of KDB/Q. Congratulations on your progress thus far! Now, as seasoned learners in this domain, it's time to elevate our understanding further. In this latest post, we're shifting gears to focus on more advanced learning material. Whether you're looking to deepen your expertise or explore new horizons, join me as we explore advanced resources to expand your KDB/Q knowledge.

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.