Planet Fachschaftsumfeld moved
to the more memorizable URL http://dat-berger.de/planet/
I am happy to announce that Daniel Berger is now running the service for the students of the TU Kaiserslautern’s CS department. Along with the move, he also updates the software and tweaked the HTML template a lot. It isn’t obvious at first sight, but the page is alreay way niftier in many details (colored source code for example. Yay!
)
Thanks for doing this! I had a great time building the website, and I hope you will, too.
Cow Clicker
A facebook game about facebook games: http://www.bogost.com/blog/cow_clicker_1.shtml. An interesting read.
Book Tip: Structure and Interpretation of Computer Programs
One of my all-time favourite computer science textbooks is Structure and Interpretation of Computer Programs, which is the textbook accompanying the equally named introductory CS course at MIT. The course gives an introduction to programming, program design and how programming languages work.
This is not an average programming course: Topics covered are a range of different programming models like functional programming, logic programming, data-directed programming (OO is a specialization of that) as well as stream-oriented programming.
I read this book pretty late in my studies, and it still lead to an amazingly large number of “Aha” moments. One of my favourite ones is the example which motivates procedural abstraction (first-class functions). It also contains insightful discussions of layered system design and a number of interpreters are built for different Scheme dialects, including one with lazy evaluation and one with ambiguous values. Finally, its last chapter discusses how to implement (dynamically typed, garbage collected) languages on register machines (real processors).
It is an ever-ongoing discussion whether this book it suited for beginners. Amazon’s review page contains some very strong opinions in both directions. While I can’t judge this, I can definitely recommend having a look at the lecture content in text or video form, because it’s available free of charge:
- http://mitpress.mit.edu/sicp/ — Book website, including full text in HTML format
- http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ — Video lectures (highly recommended and often very entertaining!)
- Wikipedia has a more complete and up-to-date list of links on SICP.
Forgotten treasures of Software Engineering
Forgotten treasures of Software Engineering from my recently-cleaned-up home directory.
Back in about 2005, a friend told me he wanted to write a program which uses the Scroll Lock LED to display morse code. Here’s what we ended up with back then.
bsdgames and X11 required.
#!/bin/sh exec morse -s | sed -e 's/\./xset led on; sleep 0PUNKT1; xset led off; sleep 0PUNKT5;/g' -e 's/\-/xset led on; sleep 0PUNKT3; xset led off; sleep 0PUNKT3;/g' -e 's/PUNKT/\./g' -e 's/MINUS/\-/g' -e 'a sleep 0.6' | sh
Who needs an interpreter when you can do code transformation with sed?
