A couple of hours ago there was a Hacker News story about SimpleCPU.com
, which gives a nice, simple, introduction to what a computer does at a low level, in about 10 minutes, with cool things to click on.
I played with it for a bit, noticed that the scrolling of one piece didn't work in Firefox, and that it didn't correctly cope with an overflow of the program counter. I reported both of these as Issues on the Github repository, and then realised that I could probably fix the latter one myself.
So I browsed through the source code for it on Github, discovered it was nicely organised, found the line of code I wanted to change, forked the code, created a branch, made the change on it, and then submitted that change back to the person who owns the original code.
Three minutes later they accepted the change and merged it into their version of the code.
And shortly after that they pushed the latest version of the code up onto their site, and now it's live, with my fix in it!
I've never done this before, and now I'm sitting here feel very cheery that it went as smoothly as it did.
If you have a few spare minutes, and an interest in how computers work, I recommend taking a look.If anyone is actually interested in what that means, ask in the comments.
Basically, made a copy of it that includes a pointer back to the original version it came from.
A split from the master version of the code that contains the change you want.
Oh, and I also pulled a copy of the code onto my machine and tested my change actually worked. Because there's nothing makes you look stupid faster than saying "This change is so simple it doesn't need to be tested."
This change submission is known as a "pull request", because that nomenclature maximises confusion. Apparently "change submission" was too easy to understand.
Original post on Dreamwidth
- there are