|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.|
- 1 Blog
- 2 Book reviews and other writings
- 3 Python
- 4 Erlang
- 5 Ruby
- 7 XML
- 8 Distributed processing, networked devices
- 9 Training and work
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
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
I've collected my Python course notes plus some advanced examples plus a workbook with exercises into a book. You can find it here:
- In HTML that you can browse online: http://www.davekuhlman.org/python_book_01.html
- In PDF: http://www.davekuhlman.org/python_book_01.pdf
- In paper -- You can order a copy at Lulu (but that version is not up-to-date): http://www.lulu.com/shop/dave-kuhlman/a-python-book/paperback/product-20077539.html
- A version for LibreOffice/OpenOffice: http://www.davekuhlman.org/python_book_01.odt
These are the materials that I use while teaching a course on beginning Python programming. The README file contains guidance about its contents:
- Compressed tar -- http://www.davekuhlman.org/materials_20151117.tar.xz
- Zipped -- http://www.davekuhlman.org/materials_20151117.zip
- Or, you can clone the Bazaar repository that is located here: https://code.launchpad.net/~dkuhlman/python-training-materials/Materials
Please feel welcome to use these materials to conduct training yourself, or to help yourself learn Python.
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:
- At Bitbucket: https://bitbucket.org/dkuhlman/generateds
- At the Python Package Index: https://pypi.python.org/pypi/generateDS
- At SourgeForge.net: http://sourceforge.net/projects/generateds/
There is also a mailing list: https://sourceforge.net/p/generateds/mailman/
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.
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
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
Here are a few utilities that I've written in Python:
- Search for an xpath pattern in multiple XML files, optionally in subdirectories, too -- http://www.davekuhlman.org/searchxml.py
- Display a directory tree starting at the current directory or at a directory specified on the command line -- http://www.davekuhlman.org/dirtree.py
- Display the links in a (remote) Web page, and optionally in linked pages to a specified depth. Illustrates simple use of BeautifulSoup -- http://www.davekuhlman.org/showlinks.py
- Print out a formatted listing of the contents of a Zip compressed archive with control over sorting, columns displayed, etc -- http://www.davekuhlman.org/zip-ls.py
Here are a few utilities written in Python for dealing with HDF5 data files: http://www.davekuhlman.org/hdf5_python_utilites.zip
Here are notes, code examples, etc. about several ways to do multiprocessing in Python: http://www.davekuhlman.org/python_multiprocessing_01.html
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.
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
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
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.
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
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