b-decoded
notation
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
b-decoded
- found when searching for a way to make a color darker using js
-
Minigames while waiting for builds
Just use b
-
Note, the first time you ever run the render() method, it will download Chromium into your home directory (e.g. ~/.pyppeteer/). This only happens once.
I use b
-
Notation as a Tool of Thought
I used to believe this but i don't anymore.
From https://github.com/tlack/b-decoded
Arthur is famous for his very dense programming style. Most C programmers would scream when seeing this code.
In his view (and others in the terse scene), it is much better to have everything in your application readable on the screen at once than to have great names for things or a lot of white space to comfort the first timer reader.
To them, once you've sufficiently studied that screen or two of code, you can understand all of it at the same time. If it's spread out over thousands of files, it's very difficult to understand all of it, which leads to bugs, unnecessary abstraction, and the need for advanced tooling just to work with your own project's code.
He wants to see the code "all at once" so he can understand all of its behavior without paging around and shifting his focus to another tab, window, etc. To get there he makes a lot of tradeoffs in terms of the code formatting and naming conventions. He also, in b, creates a dense set of interlocking macros and abstractions that can make the code very hard to follow.
Critics and the uninitiated say that his code is like old school modem line noise: random punctuation intermixed with bits of understandable code. I would suggest that he's actually quite careful with the abstractions he chooses and they are actually not always the most dense, highly compressed code structures available to him. He chooses wisely and his code rewards deep study.
Interview with Arthur Whitney: https://queue.acm.org/detail.cfm?id=1531242
-
Thinking in an Array Language
Here's some links relating to this style of code that you may find useful:
https://docs.google.com/document/d/1W83ME5JecI2hd5hAUqQ1BVF3...
https://github.com/tlack/b-decoded
https://chat.stackexchange.com/rooms/90748/conversation/ngn-...
They're not 1.5 paragraphs per line, but enough to give a taste of the implementation style.
-
20 times a day. 20 x 4 sec = 80 sec = 1min + 20sec. For vim users, this is a lot.
I could write a whole compiler in that time.
-
Someone earlier linked to Arthur Whitney's style of coding in the comments. Can we discuss this further? I am disturbed by what I saw.
Here is a link: https://github.com/tlack/b-decoded
notation
-
Notation as a Tool of Thought
If you enjoy this, you might find this meta list on "notation and thought" interesting: https://github.com/k-qy/notation
What are some alternatives?
cosign - Code signing and transparency for containers and binaries
jsource - J engine source mirror
ngn-k-tutorial - An ngn/k tutorial.
pyppeteer - Headless chrome/chromium automation library (unofficial port of puppeteer)
krakatoa
ladybird - Ladybird web browser [Moved to: https://github.com/SerenityOS/ladybird]