An original post of Andrew Kensler about a compact raytracer printed on his business card.
http://eastfarthing.com/blog/2016-01-12-card/
Note: his business card was updated recently with even more interesting code deciphered by Fabien Sanglard.
http://fabiensanglard.net/postcard_pathtracer/index.html
http://eastfarthing.com/blog/2016-01-12-card/
Note: his business card was updated recently with even more interesting code deciphered by Fabien Sanglard.
http://fabiensanglard.net/postcard_pathtracer/index.html
Eastfarthing
Business Card Ray Tracer
Inspired by Paul Heckbert's business card ray tracer challenge, I wrote my own version. I found the expanded version of it that I'd originally started with.
A perfect lecture of Bret Victor for engineers about the powerful way to create things according to own principles.
https://m.youtube.com/watch?v=PUv66718DII
https://m.youtube.com/watch?v=PUv66718DII
YouTube
Bret Victor - Inventing on Principle
A video from CppCon about some features in modern C++ compilers that can make use of this language simpler. The most interesting part for me is about an objects lifetime checker. Such thing together with smart pointers shift C++ closer to Rust in the sense of memory safety.
https://youtu.be/80BZxujhY38
https://youtu.be/80BZxujhY38
YouTube
CppCon 2018: Herb Sutter “Thoughts on a more powerful and simpler C++ (5 of N)”
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Perhaps the most important thing we can do for C++ at this point in its evolution is to make sure we preserve…
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018
—
Perhaps the most important thing we can do for C++ at this point in its evolution is to make sure we preserve…
Sometimes people ask me to recommend some actual book on C programming language. Yes, I like K&R as most of C programmers, but, to be honest, there are more suitable books today.
One of such free books is Modern C.
http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf
One more free book on ideomatic, modular C programming is C Interfaces and Implementations.
http://www.r-5.org/files/books/computers/languages/c/mod/David_R_Hanson-C_Interfaces_and_Implementations-EN.pdf
I also recommend reading of CERT C Secure Coding Standard.
https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf
One of such free books is Modern C.
http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf
One more free book on ideomatic, modular C programming is C Interfaces and Implementations.
http://www.r-5.org/files/books/computers/languages/c/mod/David_R_Hanson-C_Interfaces_and_Implementations-EN.pdf
I also recommend reading of CERT C Secure Coding Standard.
https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf
Slides accompanying the course on compiler construction in the Carnegie Mellon University. Lots of interesting materials in compact form.
http://www.cs.cmu.edu/afs/cs/academic/class/15745-s13/public/lectures/
http://www.cs.cmu.edu/afs/cs/academic/class/15745-s13/public/lectures/
A talk of Piotr Padlewski at CppCon 2017 about undefined behavior in C++.
https://www.youtube.com/watch?v=ehyHyAIa5so
https://www.youtube.com/watch?v=ehyHyAIa5so
YouTube
CppCon 2017: Piotr Padlewski “Undefined Behaviour is awesome!”
http://CppCon.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2017
—
Undefined behavior (UB) is one of the features of C++ that is both loved and hated. Every C++ developer cares…
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2017
—
Undefined behavior (UB) is one of the features of C++ that is both loved and hated. Every C++ developer cares…
Some nice quotes on C and C++ programming.
I have stopped reading Stephen King novels. Now I just read C code instead. Richard A. O'Keefe
When it's 3 A.M., and you've been debugging for 12 hours, and you encounter a virtual static friend protected volatile templated function pointer, you want to go into hibernation and awake as a werewolf and then find the people who wrote the C++ standard and bring ruin to the things that they love. James Mickens
The last good thing written in C was Franz Schubert's Symphony number 9." Erwin Dieterich
I have stopped reading Stephen King novels. Now I just read C code instead. Richard A. O'Keefe
When it's 3 A.M., and you've been debugging for 12 hours, and you encounter a virtual static friend protected volatile templated function pointer, you want to go into hibernation and awake as a werewolf and then find the people who wrote the C++ standard and bring ruin to the things that they love. James Mickens
The last good thing written in C was Franz Schubert's Symphony number 9." Erwin Dieterich
Статья Александра Дёмина про виртуальный процессор лишь с одной инструкцией — стрелкой Пирса.
http://demin.ws/blog/russian/2010/03/26/one-command-cpu/
http://demin.ws/blog/russian/2010/03/26/one-command-cpu/
Well known speech from Google I/O 2009. The Myth of the Genius Programmer.
https://youtu.be/0SARbwvhupQ
https://youtu.be/0SARbwvhupQ
YouTube
Google I/O 2009 - The Myth of the Genius Programmer
Google I/O 2009 - The Myth of the Genius Programmer
Brian Fitzpatrick, Ben Collins-Sussman
A pervasive elitism hovers in the background of collaborative software development: everyone secretly wants to be seen as a genius. In this talk, we discuss…
Brian Fitzpatrick, Ben Collins-Sussman
A pervasive elitism hovers in the background of collaborative software development: everyone secretly wants to be seen as a genius. In this talk, we discuss…
A dissertation on implementation of a Typed Scheme programming language, one of the languages available in the DrRacket programming environment. In the dissertation the well known functional programming language Scheme was extended to support mandatory explicit type annotations.
http://www.ccs.neu.edu/home/samth/dissertation.pdf
http://www.ccs.neu.edu/home/samth/dissertation.pdf
A beautiful introduction to the Scheme programming language. Having the tutorial passed you will definitely know everything necessary to read SICP.
http://www.shido.info/lisp/idx_scm_e.html
http://www.shido.info/lisp/idx_scm_e.html
www.shido.info
Yet Another Scheme Tutorial
Scheme Tutorial for beginners
A statically typed research programming language for realtime applications with compile-time object ownership tracking.
https://github.com/carp-lang/Carp
https://github.com/carp-lang/Carp
GitHub
GitHub - carp-lang/Carp: A statically typed lisp, without a GC, for real-time applications.
A statically typed lisp, without a GC, for real-time applications. - carp-lang/Carp
An article with adaptation of the technique proposed by Alessandro Warth in Packrat Parsesrs Can Support Left Recursion to the case of "pure" PEGs.
https://tratt.net/laurie/research/pubs/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf
https://tratt.net/laurie/research/pubs/papers/tratt__direct_left_recursive_parsing_expression_grammars.pdf
An example of a packrat parser written by Richard WM Jones in Ocaml to parse a simple left-recursive grammar.
https://rwmj.wordpress.com/2010/12/29/packrat-parser-with-left-recursion/
https://rwmj.wordpress.com/2010/12/29/packrat-parser-with-left-recursion/
Richard WM Jones
Packrat parser with left recursion
Traditional bottom-up LALR(1) parsers like yacc are both complex to implement and limited in what they can parse. In contrast, top-down packrat parsers (good Wikipedia intro) are simple to write fr…
A tutorial on writing a toy Web browser engine in Rust.
https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html
https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html
limpet.net
Let's build a browser engine!
Part 1: Getting started
Part 1: Getting started
A repository with correctness proves of the leftpad function written in HOL4, Isabelle, Agda, Idris, Coq and etc.
https://github.com/hwayne/lets-prove-leftpad
https://github.com/hwayne/lets-prove-leftpad
GitHub
GitHub - hwayne/lets-prove-leftpad: Proving leftpad correct two-dozen different ways
Proving leftpad correct two-dozen different ways. Contribute to hwayne/lets-prove-leftpad development by creating an account on GitHub.
Хороший блог на русском языке о системном программировании, радиоэлектроннике и микроконтроллерах.
https://eax.me
https://eax.me
Retro Recipes is a show focused on refurbrishing of retro computers and history of personal computing.
https://www.youtube.com/channel/UC6gARF3ICgaLfs3o2znuqXA
https://www.youtube.com/channel/UC6gARF3ICgaLfs3o2znuqXA
YouTube
Retro Recipes x Commodore
👾 Tech & TV nostalgia + your backstage portal to Commodore® from the CEO's desk 💁🏻♂️
Join The Fractics & the whole Commodore Crew! On select Saturdays we dive deep into retro tech, unbox history, and sail forward with a legacy we all share. Whether you’re…
Join The Fractics & the whole Commodore Crew! On select Saturdays we dive deep into retro tech, unbox history, and sail forward with a legacy we all share. Whether you’re…
GrafX2 is a modern pixel art editor highly inspired by the Amiga's version of Deluxe Paint. I like this program not only because of its functional strengths, but also because of the interface made with own retro-looking UI toolkit.
http://grafx2.chez.com/
http://grafx2.chez.com/