Friday Hacks #279, September 5: Keeping code fresh and modern scripting languages
Posted on by Prakamya Singh
Date/Time: Friday, September 5 at 7:00pm SGT
Venue: Seminar Room 12, COM3-01-21, NUS
Sign-up Link: Sign-up here
Food 🍕 and Drinks 🧋 will be served!
1) Notional Machines for Modern Scripting Languages
Introductory CS courses often use scripting languages such as Python. A notional machine is a predictive set of abstractions designed for teaching computational processes. In his courses, he developed the CSE machine as a notional machine for scripting languages. The CSE machine can be derived from the SECD machine for the lambda-calculus originally proposed by Peter Landin. In this talk, he augments the resulting core machine step-by-step to explain a scripting language and demonstrates how it can accommodate a range of advanced features. The talk uses examples from NUS courses to illustrates how this approach works in practice.
Talk Recording
Speaker Profile 🎙️️
He initiated Source Academy, an immersive online experiential environment for learning programming used in CS1101S and at the University of San Francisco and Uppsala University. Since 2012, he has led NUS SoC’s flagship programming course CS1101S. Additionally, Martin Henz founded the experiential course CS4215 “Programming Language Implementation”, and extensively subscribes to SoC’s project-based course CP3108 for experiential learning.
The work on CS1101S culminated in the textbook Structure and Interpretation of Computer Programs, JavaScript Edition. He also develops open-source software on GitHub and co-founded Workforce Optimizer Pte Ltd with Alan Sevugan.
2) Keeping Code Fresh: 20 Years of Lizard and Counting
Lizard began as a weekend hack in 2005 and still ships new features today. I’ll unpack the engineering practices—ruthless simplification, full coverage with small tests, fast feedback loops, and dog-fooding our own complexity metrics—that have kept the codebase lean, flexible, and fun despite two decades of language churn and contributor turnover. Expect also lessons you can apply to modern AI-assisted development.
Talk Recording
Speaker Profile 🎙️️
Terry Yin is a seasoned software product developer with nearly 30 years of hands-on experience and leadership. Terry specializes in helping large-scale software development organizations cultivate teams that align with versatile business needs. His deep understanding of the dynamics of large-scale development enables him to seamlessly integrate technical execution with strategic business objectives.
Terry Yin is an Adaptive Coach of Odd-e team. Terry has been working at Nokia for 10 years mostly in R&D management and Agile transformation before joining Odd-e. He has coached Large Scale Scrum and software development technical practices in a large variety of software companies. Terry has been an active programmer for more than 25 years, crossing many domains. He’s open source software static analyser Lizard is used in many large organization, e.g. Nokia, Ericsson and even the Atlas experiment at CERN. He’s also the developer of the https://less.works web site. He’s also an experienced trainer and conference speaker
👋 See you there!