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 Book reviews and other writings
I've collected book reviews that I've written into a single document: http://www.reifywork.com/book_reviews01.html. 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
2 Python
2.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
2.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:
- In HTML that you can browse online: http://www.reifywork.com/python_book_01.html
- In PDF: http://www.reifywork.com/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.reifywork.com/python_book_01.odt
2.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:
- Compressed tar -- http://www.reifywork.com/materials_20151117.tar.xz
- Zipped -- http://www.reifywork.com/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.
2.4 generateDS.py
generateDS.py generates Python data bindings from the element type definitions in an XML Schema. Read this for details: http://www.reifywork.com/generateDS.html
You can find the source code distribution and learn more about generateDS.py here:
- 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/
2.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.
2.6 Numpy, SciPy, etc
Here are some notes on using Numpy, SciPy, and a few other packages for processing numerical data with Python:
- An earlier document: http://www.reifywork.com/scipy_guide_01.html
- A more recent version: http://www.reifywork.com/py-datasci-survey.html
2.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
2.8 A few Python utilities
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.reifywork.com/searchxml.py
- Display a directory tree starting at the current directory or at a directory specified on the command line -- http://www.reifywork.com/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.reifywork.com/showlinks.py
- Print out a formatted listing of the contents of a Zip compressed archive with control over sorting, columns displayed, etc -- http://www.reifywork.com/zip-ls.py
Here are a few utilities written in Python for dealing with HDF5 data files: http://www.reifywork.com/hdf5_python_utilites.zip
2.9 Multiprocessing in Python
Here are notes, code examples, etc. about several ways to do multiprocessing in Python: http://www.reifywork.com/python_multiprocessing_01.html
3 Erlang
3.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.reifywork.com/erlang_course.html.
3.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
3.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
3.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.reifywork.com/n2o_howto.html.
4 Ruby
4.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
5 JavaScript and Node.js
5.1 JavaScript/Node.js training notes
Some notes I written to help get started with Node.js: Nodejs/Javascript Course Notes.
6 XML
6.1 Python data bindings for XML schema
See generateDS.py elsewhere in this document.
7 Distributed processing, networked devices
7.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
8 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.reifywork.com/resume.html