We are a friendly and enthusiastic group of Central Ohio Pythonistas. We meet most Thursday evenings for informal dojos, occasionally for lunch on various days of the week, and have a monthly meeting usually on the last Monday of the month. To have lunch at your favorite place, announce the time and place on the mailing list.
After our monthly meetings we like to adjourn to Brazenhead to enjoy good food, good drinks, and good conversation.
We have code on our github repository, especially of challenges where people solved problems using Python in very different ways.
Usually on last Monday of each month.
Dojos are informal Python group study sessions. Complete beginners, experts, and everyone else are welcome to the Dojos. Bring your Python questions and problems. Digressions from Python are common.
Please bring outlet strips and extension cords.
October 29, 2018, 6:00 p.m.
18:00 Pillar Technology's 'The Forge' at the Smith Brothers' Hardware Building Do not park in front (south side) of the building or your car will be towed. Instead park on the north side of the building.
20:00 Brazenhead Irish Pub
Computer hardware from opcodes to IO: Build a Virtual Machine in Python by Zak Kohler
Programming languages are designed for a specific level of abstraction or distance from the hardware. The main trade off is "developer productivity" vs "control over hardware". C and assembly are low level and therefore map closely to CPU instructions. Python on the other hand goes through many layers, libraries, and a virtual machine before the CPU is reached. This allows powerful programs to be written concisely and cross-platform—but it also leaves an immense "Magic Valley" of faith. Eliminating the magic can lead to interesting insights and a greater appreciation for the subtleties of performance, quirks of legacy compatibility, and the purpose of operating systems.
We will build up a virtual machine in Python, and I will connect these concepts to concrete hardware details as they naturally emerge.
Guaranteed material: opcodes, CPU, data/address bus, ROM/RAM, and IO.
Bonus material: assemblers, interrupts, tty output.
Afterwards we'll be heading to Brazenhead on Fifth Ave.
Please RSVP so our generous host knows how much pizza to order.