Day 36 — Moar Python C extension talks!

Today I spent most of my time watching some talks on writing Python C extensions. Every talk mentioned that the main reasons for writing an extension are:

  • Interfacing with C/C++ (I'm in this camp!)
  • Improving performance of Python code by rewriting it in C/C++

I need to try …

Read

There are comments.

Day 35 — What's inside an ELF executable? (symver edition)

I saw "ELF" being mentioned a lot while reading about linkers yesterday so I thought about looking into it. Turns out it's a file format for executables. Just hearing the word "executable" used to give me the chills because I couldn't look at what's inside one. (One time I ran …

Read

There are comments.

Day 34 — Linkers go brrrrr

Continuing from the day before yesterday, I started looking into linkers and loaders. Till now, I haven't had experience writing multiple C files that work together. And up until yesterday, my only other experience with .so files has been knowing that if I put opencv's .so file in my Python …

Read

There are comments.

Day 33 — There are so many LD variables!

Using strace to spy on ghostscript's system calls made me wonder if there's a way to print the names of all function calls (along with their file paths) that a compiled executable makes after you invoke it on the command-line. This would be awesome to navigate large C codebases …

Read

There are comments.

Day 32 — A Python C extension module!

Today I did some Yak shaving and made opep because opening/reading each PEP in its own browser tab (with all the extra information on the webpage) was getting tiring both for me and the browser.

I'd used the man command a lot yesterday to read some manual entries, so …

Read

There are comments.