Our skis cut through the early morning powder, scything across deserted slopes. A strange new virus was in the early stages of ravaging the Chinese mainland; the mountain resorts of Japan rang empty in consequence. I was thinking about lunch. Geoff, investigative cyber-crime journalist extraordinaire, was contemplating loftier matters.
“Facebook’s Terms of Service prohibit convicted sex offenders from their service. But they claim they can’t police this. Surely, though, they could map photos and names from the sexual offenders register to profiles?”
Returning to opposite sides of the world, and with the pandemic in full storm, we returned to the…
A simple solution to embed external DLLs within your Nuget packages
Simply insert the following into your .csproj or .fsproj file, and package up as usual:
<Content Include=”<My DLL path & DLL file”>
Adjust the PackagePath to suit your build.
At a guess, you’re somewhere between 1 and 4 weeks into your low heart rate training. You’ve read Maffetone cover to cover, watched endless hours of slightly loopy guys on YouTube extolling the virtues of low heart rate training, and you’ve decided to give it a go.
And it sucks.
It really, really sucks. Why would anyone do this to themselves? It’s clearly impossible to go at anything other than a crawl at such a stupidly low heart rate. How is this going to make you stronger, faster, fitter?
An old man in sandals passes you. You feel stupid.
(Disclaimer: the Treelite library will convert XGBoost and other tree models into direct code with some clever optimizations. Our motivation here is to produce a custom implementation and to understand more about how XGBoost works)
We all know and love XGBoost, winner of competitions, robust in the face of missing data points, it’s as close to the Swiss army knife of machine learning algos as they come. Yes, there is competition from LightGBM, CatBoost and others, but we’ve been through so much together since the machine learning neolithic ages of 2014.
The day comes, though, when you want to understand…
“And her voice is sore from shouting
Cheering winners who are losing
And she worries if their days are few and soon they’ll have to go
- Celebration Day
In our previous article, aging leather-skinned crooner Mick Jagger helped us to understand how efficient data structures might help us in our search for the optimal circular buffer. Now we turn our incantations to the high priests of rock, Led Zeppelin, to see if they can give our project a Whole Lotta Love.
“You can’t always get what you want,
But if you try sometimes, you just might find
You get what you need.”
- The Rolling Stones
Financial applications, especially in the high-frequency space, often need to process a window of recent data in an efficient fashion. We need to store the latest data point and extract that data point (or a set of recent data points) in a highly performant fashion.
What we want is a buffer of data which is quick to insert new values, quick to extract previous values, and efficient from a memory perspective. As with many impossible…
I climb mountains and work for a hedge fund