Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
39

[e-book] So You Think You Know C? And TenMore Short Essays on Programming Languages

from Words and Buttons Online [alt+shift+b] in programming

Can’t say that running away from complexity was a smart thing to do. It was definitely not the most productive way to create software. The journey, however, has taught me a few things so it was not a complete waste of time either. This book is a reflection of these lessons. It consists of small essays each about one particular language and one particular insight. They can be read in order but they can be read separately. I encourage you to start from the languages you’re the least interested in. I also encourage you to try the actual languages too. I hope you’ll find this book not too boring, not too trivial, and if nothing else, not too long.
21st Apr 2020

Stay updated

Get a weekly newsletter with the top 5 articles worth reading every week.

More from Words and Buttons Online

Words and Buttons Online: current hiatus and future plans

Hello! I’m Oleksandr Kaleniuk. I do Words and Buttons Online. Just not too often lately. Last night reminded me that I probably owe my subscribers a “still alive” message. Literally still alive. So here it is. I’m still alive. As for the site, I haven’t written a new piece for about a year and, for the time being, am not planning to do so. The reason is that I’m working two jobs mid-war, and I really have no vigor left for interactive writing. The good news is that I restarted my academic career, and something good may eventually come out of it. I work at the Institute of Nuclear and Thermal Energy (https://dte.kpi.ua/pedahohichnyi-sklad/kaleniuk-oleksandr-serhiiovych/), where I teach numeric methods and explore periodic surfaces and their applications for thermal management. For instance, this is my latest work, code, examples, and whitepaper included: https://codeberg.org/okaleniuk/faitps I also built a tool for online teaching that includes all the visuals from the Words and Buttons, plus many more: https://okaleniuk.codeberg.page/blackboard/. It’s like a slide deck with interactive visuals where you get to form your deck according to your own lecture plan. I do have a lot of material to share. Some classics of numerical methods and mathematical programming, and some really hot insights, straight from the frontier of computational geometry research. So, if I manage to dodge a few more missiles and live to see the impending victory, I will definitely breathe out and come back to writing for Words and Buttons Online. But for now, I have to keep my priorities straight. Stay tuned.

2nd Jul 2026 • 1 votes
Gauss–Seidel visually explained

An interactive demo of the Gauss-Seidel method for solving linear equation systems. When and why does it work? And why, when you flip the equations, it suddenly stop working? You can now play and see.

21st Sep 2025 • 51 votes
Why learn about the golden-section search

An interactive demo of bisection search and golden ratio search algorithms. There is also a motivation to learn them both. Spoiler alert! One converges better, and the other has a better computational cost.

29th Jun 2025 • 51 votes
A smooth and sharp image interpolation you probably haven't heard of

An image interpolation that gives us a continuous and smooth image, where every interpolated value only depends on the four neighboring pixel values. The image becomes smooth, but sharp features remain sharp.

29th Apr 2024 • 89 votes
Rational interpolation

Rational interpolation is a step forward from polynomial interpolation towards rational splines. With rational interpolation, you can build functions that run through a set of points and also have vertical asymptotes whenever you want. With this capability, you can now model functions like logarithms better.

5th Mar 2024 • 84 votes

More in programming

Community

I’ve been taking a break from Mastodon as my social home on the web for about six weeks. It has been more difficult than I’d usually admit. I have an amazing local community in my town that I love and am deeply involved in. But nobody here is a programmer, or even a computer nerd, so it doesn’t serve my need for a tech community. I work alone, for myself, in my house. It’s a fortunate lifestyle with many upsides, but it means I don’t get that form of community at work, either. I’ve had this feeling before… as a teenager in the 1990s. It’s profoundly lonely. But when I got internet access, that started to change. I found my people. First in the Total Annihilation community (RIP, Annihilated), then the HardOCP Forum, then the Something Awful Forums, then Tumblr, then Twitter and our community of Apple bloggers, and then Mastodon. Communities form, change, and dissolve over time. None of those are, today, anything like what they were when I most enjoyed them. We change, too. I didn’t move on from most of those solely because they changed — it was usually because we both changed, and it was no longer a good fit. My break from Mastodon has been a relief in some ways, as I’ve felt increasing divergence between what I wanted and what I was getting from it, but I didn’t know where else to go. Instagram, TikTok, and YouTube are all more video-broadcast platforms than communities. All I’ve found on Bluesky is even more anger and politics, the last things I need or want. Threads hasn’t yet stuck for me, and it’s owned by an asshole. Twitter was an amazing product and community that was previously owned by assholes, and now it’s X, which has a strong but different tech community, and is owned by different assholes. So I’ve just been… nowhere, for the first time since the 1990s. It has been, once again, quite lonely. Sure, it’s been relaxing, too, but in the way a vacation is relaxing. It’s great to take breaks, but after a long vacation, I’m ready to turn my brain back on. Without participating in a large, broad tech community, I’m exposed to fewer new ideas, both of my main jobs (app development and podcasting) are much harder, the quality and reach of my work have suffered, my skills aren’t improving as much, my mind is less stimulated, and I feel disconnected from my professions and passions. My world has gotten smaller. I could keep going like this to prove a stubborn victory or purity test, but I’d mostly just be hurting myself. Communities change, conditions change, and we change. We’re all better off if we’re willing to change our minds, and if our communities let us, no matter how strongly our younger selves declared a previous position. So I’m going to wade back in and see how it goes, trying to find a better balance to hopefully have better results, including on Mastodon. My people are spread across multiple services, and I’m going to explore them all, despite most of them being owned by assholes. I’d love to participate in communities without any assholes benefiting from it, but in the modern world, that simply isn’t possible. The only alternative is to isolate myself and not have a community at all (or a job, or a smartphone, or a computer, or internet access, or a car, or most of my food, or my country). That’s neither a price I’m willing to pay nor a condition I’d try to impose on anyone else. I’d love to have your support, forgiveness, and grace as I try to find my people again, and I strive to offer the same to all of you. Everyone deserves to be part of a community. And as I grow, I’m learning to declare fewer absolutes in a complex, imperfect, and constantly changing world.

2 days ago • 2 votes
If people would just

Building systems that incentivise good behaviour

4 days ago • 2 votes
BazelCon 2026 recap

My now-traditional “summary” of the conference along with my own commentary and thoughts.

5 days ago • 1 votes
The Future of CSS ✨

Every year, browser vendors collaborate via the Interop project to synchronize their efforts on new HTML/CSS/JS features. This year, there’s a ton of super exciting features being considered! In this blog post, we’ll explore the CSS of the future, to get a glimpse of what we’ll soon be able to do.

6 days ago • 1 votes
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in