Python Liberation Front |
|
|
Front page Archives 2005-09-17 2005-09-24 2005-10-01 2005-10-15 2005-10-22 2005-10-29 2005-11-12 2005-12-03 2005-12-17 2005-12-31 Category archives ArtBlog Greeks community firedrop general ipodcasting javascript philosophy poetry python techne RSS |
I have started a new blog at the AwareTek Mash-Up. AskMerlin
Spiritual Programming
It seems to me that, if anything of a person survives death in any way, it must do so in some way very different than that way in which we exist now. For now, we live in a temporal world, and once our body and brain ceases to function, then our mind can no longer function in any way in this temporal world, and we cease to exist in this temporal world So if any part of us is to continue to exist, it must do so in a non-temporal world. In this temporal world, the pattern of our relationships with people, places and things will continue to exist as a hole, and will evolve as a hole that changes shape over time and ultimately becomes unrecognizable. So our effects may be eternal in this world, but our consciousness in this world may not be. Our current consciousness and awareness is a temporal one. We experience the one way flow of time. We are not actually conscious of any permanent thing, only of the changing world as time flows forwrd. In this sense, we are like the ghost in the machine of a computer system running a computer program, or programs, written in a procedural language and style. That is, the instructions in our program flow in a linear sequence, with each instruction impacting and giving way to the next instruction. Oh, there are the occasional looping structures, and even the occasional out-of-left-field chaos causing go-to; but we nevertheless experience all these things as linear and procedural. It seems apparent to me that , if anything of us survives it must do so outside time, and any surviving consciousness could not experience the same sort of temporal, linear, procedural existence of which we are now aware. Oh, I can imagine a timeless essence of our "being" existing timelessly but statically, observing the remnant of our "informational holes" evolving and dissolving away in the temporal universe; but this would be a cold survival after all, hardly worthy of the name. But perhaps there is a non-temporal world of eternity, that has structures more reminiscent of higher order programming structures. So, for instance, functional programming takes and builds upon its procedural predecessors. So maybe our better, more re-useable parts, that we develop in this temporal existence, are recycled into functional units in a non-temporal world. There would still be a direction of logic flow, but it would still be a higher order reality than a linear, procedural one. But beyond this perhpas we can imagine an object oriented world, one in which the more functional, re-useable parts of people and things from this lower, temporal world are re-packaged into objects containing both functional methods and also parameters of state. These higher order objects, and the relationships they form amongst themselves, can be imagined to exist in a more timeless state than mere procedural programs, or even functional ones, in that the complex object oriented structures of such a timeless world would hold meaning even when viewed as a whole, and not just when played linearly like a phonograph record. There must be some higher order cognate of time, in this object oriented world, but we are not able to conceive of it at this time. Our awareness of existence in this higher order world would be very different than our current awareness of linearly flowing time, but must be more in teh way of sensing the movements of meaning and relationships amongst the informational matrices of this higher order, object oriented universe. One can visualize a universe in which there are are an infinite number of infinite dimensions, but these dimensions also keep expanding at an infinite speed forever. This expansion could be thought of as the cognate of time. Entities in this world could freely move back and forth in any dimension, and could experience the totality of reality all at once, but still experience the novelty of "time". I do not know how Aspect Oriented Programming fits into this picture, if at all. But one can imagine higher orders of programming logic and structure than OOP, whether AOP qualifies or some other, yet undescribed programing paradigm. And, we do not know how many higher layers of programming structure exist beyond our current technical knowledge. Perhaps this is one reason why programmers are so passionate, and even religious, about their programming tools; becuase they intuitively sense that we are dealing with ideas that, however crudely, mirror eternal realities of immense significance. Pragamtic Python
Here are the links for sites mentioned in the podcast: Enjoy! Python and XML, HTML, AJAX
Here are the links from the show: and links to help promote Python411: Vote for Python411 on PodcastAlley PyGoogle
pyGoogle flickr.py Beej's Flickr API del.icio.us experiments using Python PyYahoo Googly.py pyigs or Python for Google Suggest A Python wrapper for the Amazon web API. Allows you to do Amazon searches by keyword, ASIN, UPC, author, artist, actor, director, manufacturer, list, similar, or best seller. A Python wrapper for the Blogger API A Python wrapper for the Google web API. Allows you to do Google searches, retrieve pages from the Google cache, and ask A Python wrapper for the Manila API. Allows you to script your Manila site via XML-RPC. Supports complete Manila remote PySiteStats generates reports from Apache-style access logs. It is specifically geared towards weblog-ish sites, but it should A Python wrapper for the Technorati web API. Allows you to search Technorati for incoming links to a tracked site (such as a weblog). A Python port of Textile, Dean Allen's Human Web Text Generator. Magic: List Comprehensions, Iterators, Generators, Generator Expressions, Decorators and Sets
Links mentioned in the show: MIT Lectures on Structure and Interpreatation of Computer Programs TurboGears and More Web Programming Tools, the Podcast
Enjoy! ;-))) Python Scripts
Also, Doug Kaye over at IT Conversations is looking for Python coders to help create a new podcast creation and managment software tool, youi can join teh discussion and the mailing list over at Blogarithms Drop me a line over on the AwareTek discussion forum also.. Web Projects Shownotes
Audio "podcast" of PyCon talks! PyChing, a fun program using the Tkinter gui toolkit! And, last but not least, the Python411 podcast series!!! Jython
Enjoy! Please leave any comments on the Discussion Forum Python's Niche
Top 10 Python Web Sites
1. Python Home Page 3. Planet Python 5. Fredrik Lundh's weffbot.org site 6. PyZine 8. Dr. David Mertz' Gnosis Software's Articles on Pythonic Programming Choose your Programming Language:Which Programming Language is right for you?Java, Visual Basic, C#, JavaScript, PHP, Lisp/Scheme, C/C++, Perl, Python, or Ruby?CGI programming with Python: a Podcast Tutorial
Also, here are links to 3 good online Tutorials about Python and CGI: CGI Web Applications with Python, Part One from PyZine an Interactive Tutorial Writing CGI Programs in Python (FAQ) Updated Mini How-To for Firedrop2Firedrop Mini How-To Docs for New End Users (updated August 6, 2005) You may want to listen to this podcast before working with the Mini How-To: rss to subscibe to this podcast series Vote for Python411 at PodcastAlley These links below are indispensable aids: Firedrop is a client side weblog creation and web content management system. It is open source and written in Python by Hans Nowak. It is cross platform and runs on Windows, Linux, Mac OS X and most Unix like systems. Fuzzyman has created a plugin creation tool and some nice plugins. This Mini How-To is meant to take you step by step through the installation and first use of Firedrop. if you have any questions, please don't hesitate to ask them at the Discussion Forum Installation and pre-requisistes: You must have installed Python, wxPython, and wax before you install firedrop2. See the links at the bottom of this document for the locations of these files. While firedrop should work with any recent version of Python, be sure you install the latest versions of wxPython and wax. At the time of this writing the latest version of wxPython is wxPythonOSX-2.6.1 nd the latest released wax is wax-0.2.68 and the latest version of firedrop2 is firedrop2-2005.9. Wax 2.xx does not work with wxPython 2.6xx, you must use wxPython 2.5xx with wax 2.xx. In order to use wxPython 2.6.x you must use wax 3.x, which is under development by Hans Nowak and can be obtained by using CVS on Sourceforge at this time.The wxPython, wax and firedrop2 folders must be placed in the Python site-packages folder. On Windows, this will probably b in C:\Python 23\Lib\site-packages. In Mac OS X, this will be in something like /Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages. Do not guess at this stage, these folders must be in the site-packages directory in order to work. Wax is a Hans Nowak open source project that sits atop the cross platform wxPython and is used to write firedrop2's GUI front end. I have installed and used Firedrop2 on both Windows XP and on Mac OS X 10.4, and I see no reason why anyone should have any problems on any Linux or BSD system. On most systems, the wxPython, wax, and firedrop2 download should be in a zip or otherwise archived file that will be unpacked by your system tools more or less automatically, you just need to tell your machine which directory to put them into (site-packages). One other important point: the wax and firedrop 2 folders that you place in your site-packages directory must be named exactly that, wax and firedrop2. if the folders you unpack include version numbers, or anything else, you must rename them to simply wax and firedrop2, because the firedrop programs look for those folder names and will not work otherwise. Note that the firedrop2 folder will not work if it is called firedrop; it must be named firedrop2. So, to summarize, install in this order, Python, then wxPython, then wax, then firedrop2; and make sure wxPython, wax, and firedrop2 are all in your site-packages directory. Opening the firedrop GUI from the firedrop2 folder: Inside the firedrop2 folder that is now in your site-packages directory, you will find a few dozen python programs. The only one you must concern yourself with is the wxfiredrop.py program. Run this program, wxfiredrop.py, either from the command line or by double clicking on it in your file browser. This opens up the firedrop GUI that looks like this on MAC OS X: ![]() ![]() Note that on Windows, the title bar that sits atop the whole Mac screen is integrated into the main firedrop2 GUI frame; this title bar includes the drop down menus " File, Edit, Format, Window, and Help". Below this you will find a row of buttons labeled "Open, New, Save, Build, Preview, Upload, and One-Click." Also, on Windows, the buttons will be rectangular instead of oval (pill-shaped) on the Mac. Create a weblog or article collection folder: Now, using your system tools, create a new folder to hold your weblog or article collection. This folder can be anywhere you want it, just remember where you put it ;-))). let's say you create a new, empty folder called weblog in your desktop directory. Then, manually, create a new empty folder inside your weblog folder and name it weblog_html. This folder will be used to hold your actual weblog html files. Now, on the firedrop2 title bar, click "File" and a drop down menu appears giving you a choice between "new site" and "open site". Click on "new site" and a dialog box opens. You must choose between creating an ArticleCollection or a Weblog. Let's say you chose "Weblog". Then you must choose a directory, and let's say you choose the new folder (directory) called "weblog" that you just created. Click OK and firedrop2 will fill-in your weblog folder with the files build.ini, build.py, page_template.html and entry_template.html. Build.ini will look something like this: output_dir="weblog_html" archive_method = "d:7" page_template = 'page_template.html' entry_template = 'entry_template.html' num_front_page = 20 frontpage_name = 'index.html' root_url = 'http://www.awaretek.com/weblog/' categories = ["philosophy", "general", "firedrop", "python", "poetry"] title="AwareTek weblog" description = "" ftp_server = 'awaretek.com' ftp_login = 'xxxxx%xxxxxxxxx.com' ftp_port = 21 ftp_password = 'xxxxxx' ftp_startdir = '/usr/local/apache/htdocs/weblog' rss_filename = 'index.xml' macro_filename = 'macros.py' blogping = 0 You should open the file build.ini and fill in the root url of the website you will use for your Blog, as well as the categories you will use to order your posts (you can leave this blank for now, if you want), and the ftp information for firedrop's automatic uploader.py program to find your web site and login, including your site password. If you build an ArticleCollection, your build.ini will look very similar and you must add the same kind of information. Now, if you look at the file page_template.html you will see the default setup for how your blog page will look. This can and should be customized by you to be whatever you want. Your entry_template must be filled out appropriately. I seem to find it easiest to learn by example ;-))) here's a link to my my entry_template code Open Weblog: Now, using your firedrop GUI, click on the "Open" button. This will open up a file browser and you should navigate to the 'weblog" folder you recently created and that was populated with build.ini etc. by firedrop2. Upon accepting and choosing the "weblog" folder or directory, firedrop will "open" it, but it is still "empty" of any actual blog posts. The blog post titles, as you create them, will appear in the vertical rectangular window on the left; the actual post you are working on will be typed into the larger window on the right. Create a New Post: Now, click on the "New" button. On the top of the blog post window, above the two -- dash lines, will appear two attributes, insert_date and modified_date. These two attributes are self explanatory. You can add any new attributes you want! This is one of the best features of Firedrop. For instance, most folks will want to create a categories attribute, and in fact you may recall that your build.ini already has a Python list called categories. If you add a string "poems' to your build.ini categories list, then you can add an expression categories="poems' above the two -- dashed lines in your blog post window. Below the two -- dashed lines, you will see one line saying "New". Erase this line and insert instead your own Title of choice for this blog post. Let's say you choose "Hello World". Now, for entering the main text of the blog post, you have two choices (actually more are available, but I am only going to cover two). First, you can just hit the return key twice and, starting on the second line below "Hello World" you can just type plain text. In this mode, you can also use HTMl tags, such as paragraph tags to set off separate paragraphs, and Some URL to set up web links. The second alternative is to use Hans Nowak's sextile format. In order to do this, after typing in your blog post title "Hello World", immediately hit the return button and then type % below the "Hello World" title line, and then hit the return key twice (do not even hit the space bar after typing % before you hit the return key twice). Your blog post window should look like this: insert_date='2004-01-31 15:38:48' I recommend using sextile, and I almost always do. The first difference you will notice (and appreciate) when using sextile is that you will not need to use the paragraph tags to offset paragraphs. Instead, you can just hit the return key twice to separate two paragraphs with a line of white space, just like you do in a normal text editor. You can still use regular html tags under sextile. There are many other features for ease of use in sextile and you are encouraged to read Han's docs on sextile on his web site. If sextile causes you any confusion, just go back to using plain text until you have furher studied sextile. Whether you use sextile or not, you also will have available a powerful feature called "macros" to simplify the creation of blog posts. You are encouraged to read Hans' docs on Macros on his web site. Macros essentially allow you to define your own ease-of-use custom features. Saving and Building and Uploading: Once your new post is as you want it, you click on the "Save" button and then on the "Build" button. You must click on these two buttons in the proper order, first "Save" and then "Build". "Save" saves a file of the form 00001.fd2 in your weblog folder. if you are saving your 100th post, the file saved will be 00100.fd2. When you click on the "Build" button, the program build.py (in your firedrop2 folder in your site-packages directory) will be run. build.py will use your build.ini file and will use the page_template.html file and the entry_template.html file to use your 00001.fd2 file to create an html file called index.html in your weblog_html folder. Recall that you created an empty folder called weblog_html and placed it in your weblog folder. This index.html file is your weblog. (If we had been creating an ArticleCollection, the process would have been the same but the file created by build.py would be given its own title.html name). Now, you can click the "preview" button if you like to see what your blog post html (or your new article) will look like. Then you must click the "Upload" button to run the python script uploader.py, which uses the information you supplied to build.ini to log into your web site using ftp and upload the newly revised weblog (or new web article) to your web site. There is also a button called "One Click" on the firedrop2 GUI, but I do not use it. One click will automatically do the whole sequence in order, save, then build, then upload. i find it safer and more helpful to do them one step at a time. There is also a "Preview" button, that when clicked automatically opens up the created html file in your browser, in order for you to make sure it is as you want it before you upload it. Since firedrop is open source and in Python, you can also do most of these things from the command line rather than from the GUI. Doing stuff from the command line is good because it helps you to see more of what goes on behind the scenes, and may give you ideas for future use. On Windows XP, I have found everything to work perfectly. On Mac OS X 10.3, the only two features I have had trouble with are the "Preview" button, which I don't use any way (one can always click on the index.html file to open manually to preview); and the uploader.py script, which I think is a problem between my Mac and my website. At any rate, I use an ftp program manually from the command line to upload my files to my website. However you have done it, now you have accomplished something! Final Comments: There is of course a lot more you can do with Firedrop. Keep in min that tis is written in Python and is pen source, adn you can add features and customize two you hearts content. You can also explore the code and se how everything works. meanwhile, Hans is still coding away and adding features, so thing may change. keep is touch with his web log at http://www.zephyrfalcon.org/weblog/ fro future developments. And, if you have any questions about Firedrop or these docs, please ask them at http://pub38.ezboard.com/bawaretek Important Links Hans Nowak's Documentation page for Firedrop, wax, sextile etc. Hans download page for firedrop, wax etc. Python 2.3 download page wxPython download page downloadable and printable HTML version of this Firedrop2 mini How-To Python411: Firedrop2 Podcast
Firedrop2 Podcast These links below are indispensable aids; Firedrop2 Mini-How To Tutorial by me Download wax and Firedrop2 AwareTek Podcast Series and Python411 Podcast Series
I am currently running two podcasts series, see below. Please give me some feedback, either by voice mail or on the disccussion forum (also see below). Call 206-600-5404 to leave a voice message or comment. Be sure to mention whether it is OK for me to use the comment in a future podcast ;-))) Click here to send email to Ron Stephens A jpg of an old painting that inspired a poem....
When quakes shall root out foundings to the core, How small a loss it were to lose a race Yet still a pity should we lose our hope, Before the solemn eyes of aged Pope Comments
Discussion Forum
|