Resources Related to Talks
The Minefield Beyond Algorithms
Seminar presentation at Dept. of CSE, IIT Palakkad, 5 Feb 2025.
While the correctness of software has its roots in their specification and the algorithms used, there is a lot that can go wrong in the implementation side. Many a time, this is due to the peculiarities (to be polite) of programming languages, architectures, and other players including operating systems. Even a piece of code written by a seasoned developer that seems to mirror a formally proven algorithm can behave in unexpected ways due to details like this.
I plan to cover some interesting examples of things going wrong in the implementation side, with a slight detour to some hobby projects to showcase the complexities that a developer should face even to create a seemingly silly application. Roughly speaking, it will include pitfalls like undefined behaviour, some graphics-related practices like Gamma Correction, procedural drawing, test automation, and the development of a trans-compiler and wrapper libraries for custom purposes.
While there is research happening in this direction, it is out of scope of this task. Please come prepared for a less serious session.
Git: A Developer's Time Machine
An online session for Vocational Higher Secondary Schools in Kerala, 16 Jan 2025.
Code Generation: How the Lazy Becomes the Prolific
A talk delivered at Open Source India 2022.
Do We Know Enough About Computer Memory?
An introduction to the concepts, pitfalls and curious cases from a programmer's viewpoint. Language-specific examples/clarifications include C, Go, JavaScript and Python.