The Linux Kernel source is too big to generate all tags for all files. I want only a subset of C files and the corresponding headers. Here is my first take at it. yes it is in python. The program is designed to be run from the root of the Linux Kernel tree.
Continue readingTavolo
When the noise of the DotCom boom became too loud for me to ignore, I finally left my role enabling mainframes and joined a consultancy focusing on Electronic Commerce with a skillset based on Java. I was pretty well prepared for this, as the Object Oriented approach I had learned in the Visual C++ world translated over fairly cleanly, and I had taken a Java transition course at UC Berkely extenstion. Thus, I moved two streets up, two streets over, to the overheated, noisy, open bay office if Fort Point Partners.
Continue readingMapping a PCIe Device to its module on Linux
The Kernel docs are a little old. They point to the Device Drivers book, which was great, but quite outdated; it was written around version 2.6 and the Kernel is up to 6.15. Here are my notes that go from those docs to where things are today.
Continue readingvim windows
I tend to want to work with three windows side by side. Two have the code I am working with, often production code on the left, test code on the right. The third window is the output from running commands to test the code.
I recently have decide to go all-in on vim, and it is progressing nicely. Thank you the Jake Worth for inspiring this. In Vim, the meta key for for doing windows operations is Ctrl-W. Here are a few commands I have gathered up from the internet. I will collect up the links where I get them at the bottom
My math was wrong
In my last article, I posted a function for calculating one partition of a larger matrix. THe function looked like this
void partial(k, i, g, M, f){
for (m=0; m < n; m++){
j = m * k;
g[i] = g[i] + M[i][j] * f[i];
}
}
This is actually wrong. Lets look where I messed up. It was all the way back in the equation.
Continue readingDecomposing Vector X Matrix
If we want to distribute the mathematical processing of a matrix multiplication we need an algorithm that can be split and performed in parallel. Looking at the algorithm I alluded to in the last article, I think I can see how to do that. Here’s my thinking.
Continue readingJavac for Building the PrismLauncher on Ubuntu
I peridocially fall off the wagon and get drawn back into playing Minecraft. I’ve decided that, in order to make this time not wasted, I need to do something constructive with this urge. Last time I played Minecraft, I found the MultiMC launcher would no longer work. Being a fan of C++ and open source projects, I was not happy with this state. A friend suggested I try the PrismLauncher fork of the code base.
Prism does not seem to have a native Debian based build available, although I admit I did not look very hard. I don’t want to install flatpacks or other binary management software just for one app. So, I figured I would build from sources.
How big a matrix can we fit?
Many of the big scientific computing problems can be solved using matrix mathematics. One of my favorite problems to tackle is implementation of vector times matrix = vector. This has utility in many places, one of which is inference in neural networks.
Since an ARM processor has some support for vector and matrix mathematics, I started wondering what were the size limitations we would hit when trying to solve big problems. Here are some notes:
Diff between Code review versions
Bottom line up front: create a tag with each version of a code review you post, to be able to see changes between versions.
Git commits come in (at least) three flavors.
First is the personal flavor, where you commit to git in order to not lose some quantum of behavior you have just implemented. These commits are small, and may be breaking commits. They are not meant for upstream consumption in the long term.
Bogotá
“Get out”
That was my sister, telling me via chat to get out of the cab I had just gotten in to. In her defense, I had screwed up her instructions, which was to go to the Imperial Cab counter at the airport, prepay for a ride to her apartment, and in no case was I to get directly into a cab.