Tie Guan Yin #08-10
I did a three, shorter episodes of the Tie Guan Yin webcast. I moved to stream on Twitch as I decided being on a Periscope-compatible resolution is really too annoying for me. I also switched from Mac to Linux as OBS seems to be working well there and it makes development easier.
In Episode 8, I’ve been mostly debugging a single exception stream that appeared on a server. This wasn’t resolved as I discovered in only affects development server and I did a workaround for favicon
.
Episode 9 was debugging the HTML renderer and Django’s way of marking strings as safe in templates, only to discover the wrong use of methods. Integration tests to the resuce!
Follow-up in Episode 10 explored of HTML with attributes, inspecting the naive way this is done in original version and temporarily giving up to an easy solution.
This will be my focus next week. Subscribe on Twitch if you want to follow up.
The Graveyard of Tie Guan Yin is a webcast series where I drink tea and refactor my old Czech website (that is due for its 20th anniversary next year) into an open-source project.
I plan to cut this into annotated shorter snippets at one point, but I want to get the work done first. The aim is to help new programmers bridge the gap between finishing basic learnings and tutorials and submerging into a real-world project. The particular areas I see people struggling with:
- Debugging, debugging, and debugging. Discovery and reasoning behind old decisions
- Orienting yourself in a larger codebase
- Making product micro-decisions
- Considerations tied to running the project in production
- Practical learning and blending the learnings of fundamentals with technologies that operate on top of them
This is thus an unstructured series that doesn’t contain prepared segments. I do share how I learn, how I debug and how do I overcome obstacles thrown in my way in technologies I am not an expert in. I am also trying to demonstrate how technology decisions depend on the context and sharing how I would decide differently under different conditions (i.e. larger project, stringer security requirements, etc.). I am also producing a real code produced under time constraints and going through optimal time/value path.