Arch Linux on ASUS X205T/X205TA

I recently found an old ASUS X205T laptop squirreled away in my closet. When I tried to boot it, it constantly rebooted back to the BIOS. Since it was 100% unsalvagable, I decided to try putting Linux on it. To save others my pain, I have decided to chronical my steps from nothing to boot. There are several other tutorials »

Being a Dick with Pointers in C

I like to argue that C can be a boring language. Boring here is a good thing. This is boring code: void some_function(int param1, void *param2) { if( param1 == 0 || param2 == NULL ) { return; } char *casted_value = (char*)param2; if( casted_value[param1] == 'A' ) { //do something } } It's boring because it's obvious what each piece does, even with nonsensical variable names. »


Clunk is a terminal-based note-taking program that focuses on taking notes and getting out of the way. About Notes are stored locally in ~/.clunk/ All prompts will be in the lower left Notes are NOT automatically saved Lines beginning with ^ are highlighted Works on any system with ncurses installed Installation The only dependency to build is ncurses. To install, simply »

OSX Cracking (Dash)

This is intended to be an educational exploration of some cracking concepts. If you enjoy the software target, please support the original authors by purchasing it. Dash is an offline documentation browser. It has no copy protection which makes it an ideal target for learning cracking. It has an offline license authentication scheme that uses a license file. You can »

C fgetln and strcpy

This is a continuation of the exploring C articles I started here. This will focus on a quirk that caused me some debugging pain. In fairness, this is documented on the man-page of fgetln: This line is not a C string as it does not end with a terminating NULL character. A simple implementation of fgetln to iterate through every »