Coding Challenges - Core Tools and Systems Implementations
A collection of my implementations for the Coding Challenges series by John Crickett, where I build real-world tools and systems such as Unix utilities with programming languages like Python
Overview
This collection of implementations consists of the solutions I implemented for the Coding Challenges designed by John Crickett. Each challenge focuses on building functional applications or utilities inspired by real-world tools and systems.
Through these challenges, my aim is to gain a deeper understanding of programming fundamentals, working of many tools, architectures and programming paradigms used in software development.
Projects
1. Unix wc Clone
A reimplementation of the Unix wc (word count) utility in Python that processes stdin text streams and files.
GitHub link to my implementation
Key Concepts:
- File I/O and stream processing
- Efficient parsing of large text inputs
- Command-line interface design
Highlights:
- Supports counting lines, words, and characters
- Handles multiple input sources (files and standard input)
2. Write your own Compression Tool
Implementation of file compression tool using the Huffman Coding Algorithm.
GitHub link to my implementation
Key Concepts:
- Built with Python
- File compression by reading and writing files in binary mode
- Command-line interface design
Highlights:
- Supports a wide variety of characters due to binary reading mode
3. Write your own cut Tool
Implementation of the Unix cut command using Python
GitHub link to my implementation
Key Concepts:
- Built with Python
- Handles two main options -
-fto select fields to return and-dfor the delimiter - Command-line interface design
Highlights:
- Handles input by reading from file or through standard input
stdin.