CSC 195.01 2013S Technologies for Mediascripting : Handouts

Course Schedule

This handout is also available in PDF.

I am in the process of inviting alumni to participate. I will update the list as I hear from more. I am doing my best to get alumni from a variety of years.

  Date Topics Reading
1 Thursday, 24 January 2013 Introduction. An overview of the semester. The architecture of a media scripting application. Style guidelines. GNU Style Guidelines. The Glimmer Guide to The Architecture of Media Scripting
2 Thursday, 31 January 2013 Source Code Control Systems. Background: Managing software that is developed by multiple people. Keeping track of multiple versions. Sharing changes. Habits and customs. Technologies: git and Subversion. TBD
3 Thursday, 7 February 2013 Automation with Make. Dependencies in large programs. Recording instructions of building programs. Why use Make. Using Make for more than compilation. TBD
4 Thursday, 14 February 2013 Class Cancelled TBD
5 Thursday, 21 February 2013 Inter-Application Communication with the D-Bus (1): Basics. The purpose of D-Bus. Clients and servers. Communicating with a D-Bus server using D-Feet. Computing with a D-Bus server using Python. Communicating with a D-Bus server using Scheme. TBD
6 Thursday, 28 February 2013 Inter- Application Communication with the D-Bus (2): Writing Clients. Writing a simple client program in C. The GVariant data type. Packing and unpacking values. The Glimmer Guide to An Introduction to GObjects. The Glimmer Guide to An Introduction to GVariants. The Glimmer Guide to Writing D-Bus Clients in C.
7 Thursday, 7 March 2013 No class.
8 Thursday, 14 March 2013 Inter-program Communication with the D-Bus (3): Writing Servers. The Glimmer Guide to Writing D-Bus Servers in C.
Spring Break!
9 Thursday, 4 April 2013 GIMP Internals (1): Plug-Ins. Writing a simple plug-in for the GNU Image Manipulation System. The Glimmer Guide to A Simple GIMP Plug-In.
10 Thursday, 11 April 2013 GIMP Internals (2): Manipulating Pixels. The GIMP Pixel model. Modifying pixels. Writing a plug-in that does more sophisticated transformations. The Glimmer Guide to Manipulating GIMP pixels in C.
11 Thursday, 18 April 2013 GIMP Internals (3): The Procedural Database. Determining what functions are available (by hand). Determining what functions are available (by code). Getting information on a function. Ways to call functions. The GimpParam type. The Glimmer Guide to Programming the GIMP PDB.
12 Thursday, 25 April 2013 Racket Internals (1): Overview. Writing a simple Racket extension in C. The Glimmer Guide to Extending Racket with C.
13 Thursday, 2 May 2013 Racket Internals (2): Types. Dealing with the wide variety of types. The Glimmer Guide to Racket Types.
14 Thursday, 9 May 2013 Wrapup/Debrief.

Disclaimer: I usually create these pages on the fly, which means that I rarely proofread them and they may contain bad grammar and incorrect details. It also means that I tend to update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This document was generated by Siteweaver on Sun Feb 17 09:26:10 2013.
The source to the document was last modified on Sun Feb 17 09:26:07 2013.
This document may be found at

You may wish to validate this document's HTML ; Valid CSS! ; Creative Commons License

Samuel A. Rebelsky,

Copyright © 2012 Samuel A. Rebelsky. This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 License. To view a copy of this license, visit or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.