Dave's other stuff

Copyright:Copyright (c) 2014 Dave Kuhlman. All Rights Reserved. This software is subject to the provisions of the MIT License http://www.opensource.org/licenses/mit-license.php.
Abstract:Dave's Web site containing miscellaneous writings and support for Python, Erlang, Ruby, XML, Docutils, reStructuredText, etc.

2   Book reviews and other writings

I've collected book reviews that I've written into a single document: http://www.davekuhlman.org/book_reviews01.html. Many of them are also posted to my blog: http://www.davekuhlman.org/blog/. And, you can even buy a paper copy (although that may be out-of-date and not include my latest reviews): http://www.lulu.com/shop/dave-kuhlman/book-reviews-a-collection/paperback/product-21895426.html

3   Python

3.1   Python training and instruction

I've developed a course for beginning Python programming. The course notes should be usable as a self-training document. I can also deliver the course in person for a fee.

The Python course notes are here: Python Course Notes

3.2   A Python book

I've collected my Python course notes plus some advanced examples plus a workbook with exercises into a book. You can find it here:

3.3   Materials for Python training

These are the materials that I use while teaching a course on beginning Python programming. The README file contains guidance about its contents:

Please feel welcome to use these materials to conduct training yourself, or to help yourself learn Python.

3.4   generateDS.py

generateDS.py generates Python data bindings from the element type definitions in an XML Schema. Read this for details: http://www.davekuhlman.org/generateDS.html

You can find the source code distribution and learn more about generateDS.py here:

There is also a mailing list: https://sourceforge.net/p/generateds/mailman/

3.5   lxml.objectify

lxml.objectify seems like a very reasonable alternative to generateDS.py. And, there are some situations that lxml.objectify can handle but which give generateDS.py trouble.

I've written an introductory document about lxml.objectify and provided a few helper functions and some sample code. You can find them here: lxml.objectify notes.

3.6   Numpy, SciPy, etc

Here are some notes on using Numpy, SciPy, and a few other packages for processing numerical data with Python: http://www.davekuhlman.org/scipy_guide_01.html

3.7   ODF writer for Docutils

rst2odt.py is a writer for Docutils that translates reST (reStructuredText) into an ODF (Open Document Format) .odt file which is usable with the OpenOffice.org toolset.

Documentation -- You can learn more about odf-odt writer at the Docutils project here: Odt Writer for Docutils -- http://docutils.sourceforge.net/docs/user/odt.html.

Distribution -- odf-odt writer is available in the Docutils snapshot and from the Docutils Subversion repository. See: Docutils

3.8   A few Python utilities

Here are a few utilities that I've written in Python:

Here are a few utilities written in Python for dealing with HDF5 data files: http://www.davekuhlman.org/hdf5_python_utilites.zip

3.9   Multiprocessing in Python

Here are notes, code examples, etc. about several ways to do multiprocessing in Python: http://www.davekuhlman.org/python_multiprocessing_01.html

4   Erlang

4.1   Introductory Erlang programming notes

Here are some notes and guidance on programming in Erlang. It's a bit like an extended cheat sheet: http://www.davekuhlman.org/erlang_course.html.

4.2   Websocket controller for ChicagoBoss

This project provides a template for implementing a Websocket controller for ChicagoBoss. You can find it at Github: https://github.com/dkuhlman/cb_websocket_controller

4.3   Erlport templates for Python

This package contains a set of templates that can be used to interface Erlang to Python using Erlport. You can find it at Github: https://github.com/dkuhlman/erlport_templates

Notice: This code is for an earlier version of erlport. While I believe that these templates can be of interest to those developing capabilities to employ Python code with high concurrency, it is not likely that you will be able to use this code with the latest version of erlport without servious modification.

See here for more on erlport: https://github.com/hdima/erlport.git

4.4   N2O Web framework

I've started working with N2O. I'd like to learn how to use it to push analytical results computed with Python and Numpy/SciPy etc to Web pages where, for example, that data can be graphed with d3js (http://d3js.org/). Things look promising so far.

Here are a few beginners notes on developing Web apps with N2O: http://www.davekuhlman.org/n2o_howto.html.

5   Ruby

5.1   Ruby training and instruction

Note: Work in progress. I'm still learning Ruby.

I've developed a course for beginning Ruby programming. The course notes should be usable as a self-training document. I can also deliver the course in person for a fee.

The Ruby course notes are here: Ruby Course Notes

8   Distributed processing, networked devices

8.1   h5serv -- The HDF server -- Notes and examples

Here are a few notes and some sample code for using h5serv. h5serv uses a REST interface to serve data and information from HDF5 data files -- h5serv -- The HDF server -- Notes and examples

9   Training and work

I'm available to give a beginning course in Python programming or Ruby programming. See the Python and Ruby sections for more information.

I'm available for short term projects for Python, Erlang, and Ruby. My resume is here: http://www.davekuhlman.org/resume.html