Hey everyone! 👋
I'm back with another update on my writing journey, and this time it's something completely different from what I've shared before. After months of thinking, restructuring, and honestly, a bit of soul-searching about what I really wanted to create, I'm excited to introduce you to Arliz – but not the version you might have seen in my previous posts. This is a complete reimagining of the project.
What is Arliz?
First, let me explain the name. Arliz started as a random choice, but over time I found a meaningful backronym that perfectly captures what this book is about:
Arrays • Reasoning • Logic • Identity • Zero
- Arrays: The fundamental data structure we're exploring
- Reasoning: The logical thinking behind data organization
- Logic: How computers process and manipulate information
- Identity: The concept of indexing and giving "identity" to elements
- Zero: The philosophical starting point of all computation and counting
You can pronounce it however feels natural – "Ar-liz," or just "Arliz" (which is how I say it).
The Big Idea
Here's what makes this book different: it doesn't start with code.
I know, I know – that sounds crazy for a book about arrays, right? But hear me out. Every time I tried to truly understand data structures, I felt like something fundamental was missing. All the explanations I found assumed you already knew why arrays exist, how they came to be, and what problems they solve. They jumped straight into syntax and implementation without building the conceptual foundation.
So I asked myself: What if we started from absolute zero?
That's exactly what Arliz does. We begin thousands of years ago with humans counting on their fingers, explore ancient civilizations and their counting systems, trace the invention of the abacus, and follow the gradual development of mathematical thinking that eventually led to modern computation. By the time we meet arrays, they're not mysterious programming constructs – they're the natural culmination of humanity's age-old quest to organize information.
The Structure
The book is organized into 8 parts, each building on the previous one:
Part 1: Philosophical & Historical Foundations - We start thousands of years ago with humans counting, explore ancient civilizations and their methods of organizing information, trace the development of mathematical thinking, and follow the path that led to modern computation.
Part 2: Mathematical Fundamentals - Here we dive into set theory, functions, mathematical logic, and discrete mathematics - the mathematical tools that make data structures possible.
Part 3: Data Representation - How do we actually encode information in digital systems? Number systems, binary representation, character encoding - this is where abstract concepts become concrete.
Part 4: Computer Architecture & Logic - The hardware foundations: logic gates, processor architecture, memory systems, and how the physical structure of computers influences how we organize data.
Part 5: Array Odyssey - Finally! This is where we meet arrays in all their glory, but now they're not mysterious programming constructs - they're the natural evolution of thousands of years of human thought about organizing information.
Part 6: Data Structures & Algorithms - With arrays thoroughly understood, we explore how other structures relate to and build upon array concepts.
Part 7: Parallelism & Systems - Modern computing: how data structures behave in multi-threaded and distributed systems.
Part 8: Synthesis & Frontiers - Where we've been, where we're going, and the cutting edge of computation.
Why This Approach?
I know what you're thinking: "Why should I care about ancient history when I just want to learn arrays?" That's exactly what I asked myself while planning this book. Here's the thing - understanding where something comes from changes how you think about it. When you know that arrays aren't just programming constructs but the culmination of humanity's quest to organize information, you start to see them differently.
It's like the difference between memorizing that array[index] gives you an element versus understanding that you're participating in a tradition of indexing and organizing that goes back millennia.
Current Status
I'll be honest - the book exists more as a complete structure than actual content right now. I've spent considerable time planning the architecture, writing the preface and introductory materials, and ensuring the flow makes sense. The actual chapters are still being written, but the foundation is solid.
This is intentional. After my previous attempts where I kept restructuring, I wanted to get the architecture right first. Now I'm confident in the approach and ready to fill in the content systematically.
What I'd Love to Hear From You
As I continue working on Arliz, I'm really interested in your thoughts:
About the overall concept: Does this historical-to-modern approach make sense to you? Do you think starting from ancient counting methods will actually help people understand arrays better, or am I overcomplicating things?
About the structure: Looking at those eight parts, what's your gut reaction? Does the progression feel logical? Are there gaps you can spot? Parts that seem unnecessary or parts that are missing?
About Part 1 (Philosophical & Historical Foundations): This is probably the most controversial part. Some people love context and history, others just want to get to the code. What's your take? Essential foundation or unnecessary detour?
About Part 5 (Array Odyssey): This is the heart of the book. After four parts of buildup, do you think readers will be more prepared to really understand arrays, or will they be exhausted and just want the basics?
About the "living book" concept: Does the idea of a book that continuously evolves appeal to you, or do you prefer the stability of a finished, unchanging text?
About accessibility: I'm writing this in English and making it freely available. Are there barriers I'm not considering? Ways to make it more accessible to different audiences?
Honestly, what do you think? Is this ambitious and innovative, or am I overthinking what should be a straightforward technical book? Would you read it? Would you recommend it to others?
I've put a lot of thought into this approach, but I also know that sometimes you can be too close to your own work to see it clearly. Your perspectives - whether you're a beginner who wishes someone had explained this stuff differently, an experienced developer who's taught others, or anyone in between - would be incredibly valuable.
The book is freely available now (though mostly structure at this point), and I'd love for you to take a look, star the repo if you're interested, and share any thoughts that come to mind. Even a quick "this makes sense" or "this seems overcomplicated" would help me understand if I'm on the right track.
Thanks for reading, and I hope Arliz becomes something useful for the community!
You can check out the current version and follow the progress at: http://github.com/m-mdy-m/Arliz
Top comments (7)
That sounds amazing! Excited to see how it unfolds. It may not be for everyone to have the patience to understand the context and draw inspiration from that but for those who do, this sort of timeline and connections would be invaluable. I have always wanted to work on something similar, let me know if we could collaborate. Happy to contribute to the process.
Thank you so much! 🙌
You're absolutely right - this approach won’t resonate with everyone, but for those who value the deeper historical and philosophical context, I believe it can foster a much more meaningful connection with the subject.
I so glad that you found the idea of a deep context interesting! I’m also very eager to collaborate with you and would definitely welcome your contributions....Right now, the first step is to write the "Philosophical and Historical Foundations" (Part 1), which is currently empty and I’ll start working on it soon.
If you’d like to contribute:
You can take a look at the CONTRIBUTING.md file in the repo, which outlines the basic process and philosophy behind contributions. Once you've had a chance to review it, feel free to open an Issue on the repo to introduce your ideas or propose a contribution. That way, we can discuss and align our thoughts before diving into writing or planning. I’m starting work on Part 1 very soon, so the timing couldn’t be better. Whether you want to write, brainstorm, suggest sources, or even help shape the structure — I’d be thrilled to collaborate with you.
Thanks again! I’ve been reflecting on how the Indian context could complement the foundation you're building in Part 1. The progression from Harappan weights and ritual geometry to abstract reasoning and the invention of zero offers a compelling parallel to Arliz's journey from counting to computation.
Zero, especially, isn’t just a mathematical tool — it's a philosophical leap that aligns beautifully with your theme of “Zero” as a starting point. Including this thread could deepen the global narrative and highlight the interconnected roots of logic and reasoning.
I’ll open an Issue soon to outline some ideas and would love your input. Really excited to contribute!
That sounds wonderful — really looking forward to the Issue!
pretty cool seeing all this groundwork and thoughtfulness go in - honestly makes me wonder, you think context and backstory actually make concepts stick long-term or is it more about practice after all?
Thanks! And honestly, I think it really depends on the person.
For me absolutely yes! Every time I want to dive into a topic, it’s like a kind of obsession (more like an illness, really 😅). I just have to know what need gave birth to it. Why did it emerge? How did it evolve? What were the earliest forms like?
But I know some people can get way ahead of me just by practicing consistently, without caring much about the backstory or origins. So I don’t think there’s a one-size-fits-all answer here.
Really helful. buy facebook likes
Some comments may only be visible to logged-in visitors. Sign in to view all comments.