RSSAmplifier

Blog

Hot For Knowledge

Recent content on Hot For Knowledge

hotforknowledge.comRSS feed ↗10 posts

Latest posts

Introducing Picollo: modern HDR histogram and PMU counters for .NET

Picollo is a new library for serious performance work in .NET. Picollo stands for Performance Instrumentation and Continuous Observation for Low-Level Optimization . It allows you to measure code performance with cycle-level precision, moving the time resolution to the picosecond level. The initial public release of Picollo v0.1.0 contains two components. First, a modern version of an HDR…

1BRC in .NET among fastest on Linux: My Optimization Journey

At the start of the New Year, GitHub exploded with The One Billion Row Challenge started by Gunnar Morling . Originally it was a Java-only competition, but others wanted to have fun as well . Please read these links first if you do not know about this challenge and its rules. I also fell down this rabbit hole. I wrote one of the fastest managed 1BRC implementation that performs well not only on…

Rust as the new C: building and combining native libs into C API

In this blog series, I will experiment with Rust as a safer and simpler C/C++ replacement. The idea is to combine a couple of C dependencies in Rust, to do some work using the dependencies in Rust and to expose a final API from a Rust library via C ABI. Then I will consume the same exported Rust methods from a number of modern languages/platforms such as C#, Python, Java, Nodejs, R, Go and even…

Data Spreads: Write your Excel Macros In C#

A week ago, a friend of mine asked me if I could help him with parsing his old Excel files containing orders of Christmas trees. It was his seasonal business every end of a year for a long time, and old orders back to 2006 were kept in quite a free form so that I myself as a human had difficulties to grasp the structure of the worksheets. However, the goal was to export the data into a CRM system,…

Functional programming is a tool for thought, imperative programming is a tool for hacking

TL;DR; F# is great for algorithms and analytics. It could work for libraries, interop and high-performance code as well, but the experience is far from great and I do not want to fight with it anymore. At least I tried… I have been functional programming aficionado for a while. At some point, I took its advantages over mutable imperative code almost religiously. I fell in love with F#. Then…

Migrating to Hugo Engine

I have migrated my WordPress blog to Hugo. Since I am not a web publishing expert, I have nothing to say other than the experience was very nice and flexibility is awesome. Markdown + VS Code + git rule them all! I didn’t have enough patience to setup Jekyll with all its dependencies hell a while ago. WordPress was easy to install from WebMatrix and to run on IIS in AWS cloud, but I was…

About

Passionate programmer somewhat obsessed with performance optimizations, Chartered Financial Analyst (CFA), data scientist (they used to call DS as statistics and econometrics back then), and long-distance runner. This is me after my 11th full marathon in Saumur, France in May 2023.

How to write the simplest trading strategy using Spreads

I am always amused when retail traders are offered and then do use black boxes with complex frameworks to build automatic trading strategies. Usually, that goes with an explanation how cool those platforms are and how easy to build a strategy using them. They forget about vendor lock-in and the most terrible model of shared state with events hell like “OnData”, “OnOrder”,…

Introducing Spreads library

TL;DR; This post is about background and thoughts on my number-crunching library Spreads, which stands for Series and Panels for Real-time and Exploratory Analysis of Data Streams. The library and its readme are on GitHub: https://github.com/Spreads/Spreads. While I worked at Goldman Sachs as a research analyst, I got used to internal declarative time series processing language. It was so cool…

My “hacker” background

On my LinkedIn page, there are almost no endorsements for programming/tech, even though I program since age 12 or so. Probably this is an indication that the endorsement system is broken there or I am not very active there recently. Or this is a reflection of a mild problem I have - very few people from my former professional, mostly investment banking, network know that I can code well beyond VBA…