Generalized Password Cracking, Part 2: Starting with Some Stock Password Attacks

Brute-force password cracking attack

Disclaimer: The present series of posts contains information on how to exploit security vulnerabilities in passwords. It is intended for educational and research purposes only. Neither the password cracking tools described in this series nor any of the exploits developed with these tools are to be used for gaining unauthorized access to accounts or other … Continue reading Generalized Password Cracking, Part 2: Starting with Some Stock Password Attacks

Generalized Password Cracking, Part 1: A Description of the PCL Password Cracking Language

Cracking passwords with the PCL password cracking language

Disclaimer: The present series of posts contains information on how to exploit security vulnerabilities in passwords. It is intended for educational and research purposes only. Neither the password cracking tools described in this series nor any of the exploits developed with these tools are to be used for gaining unauthorized access to accounts or other … Continue reading Generalized Password Cracking, Part 1: A Description of the PCL Password Cracking Language

Doing Statistics in awk

Statistics in awk

One exercise that offers a lot of interesting challenges in coding is to use a programming language for an application that it's not intended to be used for. Writing a Fortran compiler in TECO and solving the Towers of Hanoi problem in the troff text formatter are two examples from the legendary Hacker Purity Test. … Continue reading Doing Statistics in awk

Adding Set Types to the C Programming Language

Well, it's been over a month since my last post, so it's high time I got back into it. I kinda got distracted by other stuff on other sites, most notably DeviantArt and Discord. But I'm back now, and hopefully I'll be able to post more consistently in the future. This is my third article … Continue reading Adding Set Types to the C Programming Language

libdfloat: A C Library for Exact Representation of Decimal Floating Point Numbers

Guys, something really awesome just happened!... I actually finished one of my large-scale coding projects! I'd like to introduce you to libdfloat, a C library for representing decimal numbers without any rounding errors. I started this project as an offshoot of my CSV library when I realized that there was a need for a mechanism … Continue reading libdfloat: A C Library for Exact Representation of Decimal Floating Point Numbers

Data Science in C: Programming a Turing Machine to Parse CSV Code

Okay, so maybe I ripped my featured image from the Hack-A-Day site, but that image of a personification of a Turing machine as an intelligent robot was too relevant to the topic of this post to pass up, so sue me. 😛 I want to talk about the first step to building data science or … Continue reading Data Science in C: Programming a Turing Machine to Parse CSV Code

Adding Rational Types to the C Programming Language

One of the main problems with the C programming language as opposed to something like Python is that it doesn't provide any of the convenient amenities that more high-level languages provide in terms of abstract data types. Basically, you have to implement everything yourself. C provides integer types and floating point types, and that's basically … Continue reading Adding Rational Types to the C Programming Language

Writing an Emulator for the MIX Architecture

I've been reading a lot of TAOCP lately (that's The Art of Computer Programming by Donald Knuth for you plebes out there 😛 ). This classic book series consists mainly of designing a lot of algorithms in machine language. The machine language used is that of the fictional MIX architecture, which Knuth created specifically for … Continue reading Writing an Emulator for the MIX Architecture

How to Check the Byte Order (Endianness) of Your System in C

There are two basic kinds of computer architectures: little-endian and big-endian. These two terms refer to the byte order used for numerical data. In little-endian systems (which include most CISC architectures), the lower-order bytes are stored first (meaning in the lower addresses). In big-endian systems (which include most RISC architectures), the higher-order bytes are stored … Continue reading How to Check the Byte Order (Endianness) of Your System in C

Finding the Day Difference Between Two Dates in C

Necessity is the mother of invention, and nowhere is that more true than in the realm of programming. Many of my best ideas for programming projects come not from casually looking for project ideas on the Internet (although that does help) but rather from having an emerging need for a bit of functionality that I … Continue reading Finding the Day Difference Between Two Dates in C