Skip to content
View agl-alexglopez's full-sized avatar
🪣
Learning
🪣
Learning

Block or report agl-alexglopez

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
agl-alexglopez/README.md

What's Happening?

I'm Alex. Here is what's been happening in my coding life.

What's New?

Zig

After much consideration, I have decided to explore Zig as the foundation for an educational operating system. Starting with Zig as the build system and gradually incorporating it more into the project, I plan to offer a first class modern developer experience with this language capable of mixing C and Zig. To start, I needed to learn the language. To do so I used my tried and true "Rosetta Stone" program, a maze generator and solver.

wilson-loop

This time, I incorporated isometric pixel art and raylib-zig in my iso-mui project.

Compilers

I implemented the COOL programming language as part of Stanford's CS143 Compilers course. This was a rewarding experience and I have a greater appreciation for the mix of theoretical and technical complexity that goes into the compilation pipeline. Out of respect for the work the course staff puts in to create their compiler framework the work will remain private for now but I am happy to share on request or discuss the compilation pipeline in detail any time.

What's Old?

The Operating System

I recently finished implementing the well-known PintOS kernel and operating system in C. This was a fun and challenging endeavor, especially with some of Stanford University's unique requirements in implementation through the CS212 course offering. From this work I have found a new interest in developing low level libraries to make systems programming easier and more pleasant. These projects started as extensions to the base operating system provided libraries and have developed into libraries under active development.

  • str_view - A string helper library providing read only string handling, searching, and tokenization in C (now available through vcpkg).
  • C Container Collection (ccc) - A collection of containers written in C with a focus on memory flexibility and programmer control.

What's Next?

After completing the PintOS projects I have many ideas for how educational operating systems can be improved. Check here for updates on my work towards implementing an operating system scaffolding similar to PintOS or xv6 for learners wanting to enter the field of operating systems. It has begun with my work on the C Container Collection (ccc), the data structure framework I hope to have at the core of the OS.

I am also now interested in making this project compatible with both Zig and C. Stay tuned for updates.

Pinned Loading

  1. maze-tui maze-tui Public

    This repository implements various maze building and solving algorithms in Rust. Unicode characters help explore these beautiful algorithms in a TUI!

    Rust 61 2

  2. ccc ccc Public

    Various containers written for C programmers who need complete control over their memory.

    C 14 1

  3. str_view str_view Public

    Simple, robust, and convenient read-only string handling in C.

    C

  4. dancing-links-and-planning-pokemon dancing-links-and-planning-pokemon Public

    A repository that explores how to apply Donald Knuth's Algorithm X via Dancing Links to Pokémon type coverage.

    C

  5. iso-mui iso-mui Public

    Isometric pixel art helps display various maze building and solving algorithms.

    Zig

  6. heap-allocator-workshop heap-allocator-workshop Public

    This repository is a workshop for heap allocator implementations using a variety of data structures and algorithms. The goal is to compare performance and tradeoffs of different approaches in depth.

    C 1 1