23 comments

[ 3.0 ms ] story [ 61.4 ms ] thread
This sounds like a massive undertaking. The breadth and depth both seem huge. Though I suspect that the prerequisites for the intended audience could probably be a barrier, this will be helpful to thousands (if not millions) of people around the world.

I will check it out. Wish you all the best!!!

The daily or bi-daily streaming and starting from scratch sounds like a kindred idea to Casey Muratori's long running Handmade Hero gamedev streaming project. Maybe not entirely by accident - it seems these guys have some common professional history.
Yeah, Casey's work was a big inspiration. Much of the structure is my attempt at adapting Casey's format for my own goals.
> My goal with Bitwise is to show that these things can be done much more simply and quickly than people realize if we strongly favor simplicity over marginal gains in feature completeness or performance.

This is a refreshing way of looking at the world. One of my principles is to always strive for simplicity when creating, but i've never given much thought about how it applies to the fundamentals of existing creations or ideas when learning.

In retrospect, I've learned many thing that I previously thought too complex to understand. The complexities tend to dissolve when you realise they are mostly just extra distractions emerging from the pressures of engineering the thing... distractions that you probably find yourself inventing all over again once you've assimilated the core idea.

My favorite "toys", by far, are those happy, cheerful, friendly implementations of famous problems, that make for a fun but educative learning experience.

It may not be as huge in scope, but allow me to plug my own initiative:

https://www.latenightsnack.io

I set out to replicate the joy of reading through code listings in old magazines, and present seemingly-complicated problems in a simple and concise way.

Some of the problems I will approach in the future are text and image compression, compilers, chains, http servers, and so on.

I would love if you had a look!

Pretty cool idea (though I'd personally tone down the intensity of the yellow background, and use a higher contrast font color... whoever came up with the "black is bad" meme will be really sorry when they get older and their vision deteriorates!).

One story from "back in those days"... I worked at a small computer store in 1980/1981, and one of my fellow co-workers submitted a program to one of those magazines, and they printed it!

Well, they mis-printed it, and then mis-printed the correction he sent in :-)

That's how you patch software :) An open, if somewhat artisanal, process.

I have toned down the intensity of the yellow background, and increased text contrast. I hope this improves!

This looks great. Will you be writing about or discussing your stack machine implementation on the blog or elsewhere then? The annotations are nice but I would be interested in hearing/reading more. I've got it bookmarked. Cheers.
One of the reasons I set on this "espresso" format is that I wouldn't be able to find enough time for a more expansive write-up.

I hoped to compensate by including plenty of links, and making it easily modifiable. Maybe I should include a comment system?

What about asking questions via GitHub issues? :)

> and present seemingly-complicated problems in a simple and concise way.

I think concise is underrated, not terse necessarily, just minimal code devoid of distracting optimisations and architecture. It's so nice to come across those < 100 line _working_ implementations that you can focus on and internalise as a working model of the algorithm, I've found Rosetta Code a good place to find these (of varying quality though).

I'm not from that era of code listings in magazines but I really like idea and format of your site, earmarked for some bedtime reading :) please write more.

Thanks! That was exactly my intent. I added links to jsbin now, so it should be easy to quickly experiment with the code.

I have a few ideas (http server, text compression, blockchain) but I'd like to hear some from you.

Any preference on what you would like to see in the future?

Just finished the stack machine, very nice work. Love the presentation and the code is beautiful. Looking forward to future snacks!
>> This collection attempts to provide recreate that same feeling ...

I think the word "provide" should not be there.

Anyway, I think this is a brilliant idea. I don't mind the yellow background but I think the main text font could be darker for better visual contrast. A favicon won't hurt too.

Thanks (and thanks for the typo as well)!

I toned down the color theme, and increased contrast. I did not cache-bust, so you might have to clear your cache. I hope this makes it better!

I'll definitely follow this! Thanks for the contribution
This sounds great. Kudos for undertaking this. Looking forward to following along.
Will all of the course video and discussions be available for download from YouTube permanently? I am very interested in following along with my 10 year old daughter, but we will need to move at a much slower pace. If we can still access the course video a week or two late that would be ideal.

My daughter knows how to code in python, but not C or C++. I will have to teach her that on the side which will slow us down considerably. She is really motivated to learn though. We are both excited about your course.

Yes, they'll be available permanently. I talk about this in the FAQ in the repository, if you want to check it out.

I'm afraid this is going to be far beyond any 10 year old! I assume a pretty high level of intellectual development and ability to learn abstract ideas quickly, even if the formal prerequisites are minimal.

Understood. We are going to follow along anyway but at a much slower pace :-). My daughter is highly motivated to learn. As long as she remains interested I will do my best to lower the barrier of entry by teaching her all that I know about C programming. I will work through all of the exercises with her and we will spend as much time on them as we need to. We are not concerned about how long it takes.

What you are doing with your time is a gift. Thanks!

Hi. I'm the guy behind Bitwise. Long-time HN user. If anyone has questions, I'd be happy to answer them.
Thanks for this !

Question - Why did you choose C99 and not C11 as the standard ?

MSVC only received C99 support starting in Visual Studio 2015 and even then it's only partial (but enough for us). Actually, we'll probably use anonymous structs and unions, which are technically a C11 feature, but have been supported by all the major compilers for a long time before C11.