One year ago I looked around for existing tech that would provide me with compile-time guarantees for a REST-ish API interface. With full-stack TypeScript web applications reaching a level of maturity where I, a previously die-hard Rails developer, felt comfortable taking the dive - it seemed like the Node ecosystem was lacking in ties between the front end and back end.
Tag: programming
What is BrainFuck? BrainFuck is an esoteric programming language designed specifically to be easy to compile. The environment provides the programmer with an “infinite” array of bytes (traditionally just 30,000) and a data pointer. There are only 8 single character commands:
A common riddle-like question for programmers asks them to swap the values of two integers without a temporary intermediate value. There are two common solutions that I’m aware of, addition swap and XOR swap. Here’s what each looks like in C:
You can check out the source for the above shader here. Shaders provide programmers with a beautiful combination of art and math. Most other throwaway projects are devoid of any artistic value. In less than a dozen lines of code you can draw fractals. A few more and you can start creating intricate animations. The most interesting part is the unique perspective they force you into.
Say you want to draw a circle in an imperative programming language.
The intention is to force myself to get a small taste of a bunch of new programming languages and programming paradigms. Since I was late to the party I rushed through the first 4 problems in languages I’m familiar with. But for day 5 I solved the daily problem with MIPS assembly. I look forward to learning and writing Common Lisp, Haskell, Prolog, and many more languages.
One hope I have is to complete a problem in GLSL.
Commit-Language-Visualizer
After a stroke of inspiration earlier this evening I hacked together this tool. It produces a stacked time-series graph of GitHub commit data. The commit data is organized by language and uses the same colors as GitHub for each corresponding language.