More of a sysadmin than a programmer; but I am pretty handy in sh (Bourne shell and its ilk) and in Python. At times I've been pretty good with Perl in the past, but those skills deteriorate rapidly for me; Perl just doesn't stick inside my head).
|My Favorite Languages|
Now studying Clojure
I've been touching up some of the Python entries and thinking about what sorts of tasks we might want to add to the mix.
- JimD 12:34, 18 October 2007 (MDT)
- rot-13: Implement a rot-13 function and a wrapper utility around it which performs line-by-line rot-13 on all files on it's command line or acts as a filter if no filenames are passed at arguments.
- SQL CRUD: Implement the simplest possible SQL RDBMS client showing the following: Create a table (and insert data into it), Retrieve data from it, Update data into it, and Delete data from it; (optionally drop the tables as well). (These common actions are sometimes referred to as "database CRUD" by programmers).
- ORM Object Persistence: For OO languages which support ORM (object-relational mapper) modules, classes, libraries, extensions (or whatever term is used for the language in question) implement the simplest program which demonstrates object persistence.
- Co-processing: Implement a program which spawns a separate process and establishes a "co-process" relationship with it (the ability to dispatch work to the co-process and read back results when they are available). (In Python this might be down by creating a pair of pipes, using os.fork() then having the processes manipulate their ends of these pipes to arrange for some to be closed, and some of the remaining ones to be non-blocking; then perhaps having the parent write arithmetic expressions to its co-process and perform non-blocking polls for the results).
- Creating a Secure Temporary File
- Unit testing: Write a simple program to compute arithetic mean (averages) over an input; and then show how to add unit tests to it using any standard or de facto standard libraries, classes or other features of the language in question. (Provide a suite of test cases as part of the problem description?)