Addresses and Pointers

If I had to guess, the most challenging thing about C is memory management. Unlike other languages, C doesn’t hide the details about where your data lives in memory and, unless you’re writing very simple programs, sooner or later, you’ll have to make sure your data lives long enough to do something useful. To effectively manipulate memory with C, first, it’s necessary to understand addresses and pointers.

Read more →

Cross Compiling Raspberry Pi Code

The Raspberry Pi is an amazing computer. With this little device you can build and run C code, play with Python, connect to external hardware, hack Linux, create a home server, power robots, and do many more things. When I first started with Raspberry Pi, I didn’t know that I could write my source code from the comfort of my laptop, compile it, and then transfer the executable to the Pi.
Read more →

Containerizing GCC with Docker

As a programmer, I think it’s essential to have a C compiler installed on my computer, however it is hard to manage multiple compilers, interpreters, and other tools. Docker is great to isolate development environments: with it, you can easily have all the tools you need, the exact version that you require, all without extra clutter, and in one place. Because C programs require few tools to build them, learning how to use Docker to containerize a C development environment is a great way to start with Docker.
Read more →

How to Start a Blog

There are many (maybe too many) options when it comes to technical solutions to build a website; if you want a free, simple way to put your blogs out for the world to see, GitHub Pages may be the way to go. I’m going to show you how to set up a blog in a few easy steps, with the express goal of getting your website up and running in an afternoon.
Read more →