22nd June 2006
After installing WordPress, the first thing I was looking for was improving my personal WordPress experience with plugins – for extended functionality, usability, and pleasure of use 🙂 .
Here I will present (and regularly update) the list of plugins I looked at and installed.
The first plugin I installed is WordPress Database Backup – we all know, how painful can the data loss be. Installation is easy (copy-activate), and on-demand database backup is immediately available in Manage -> Backup menu. Plugin automatically pre-selects all default database tables, and allows you to select any other tables you happen to have in your database – these can be, for example, tables of your WordPress plugins. I would recommend saving all the database tables, except if you know that there are tables not related to your blog (you can tell this usually by the table prefix – which is ‘wp_’ by default).
After you are done with the selection of plugins, you can choose to download the backup, email it, or to store it on the server in a backup folder (plugin handles the creation of the backup folder for you).
After pressing ‘Backup’, you will see a nice progress bar, and if you had chosen to download the backup, you will get gzipped backup file.
Updates on other useful plugins coming soon… stay tuned 🙂
Posted in WP PlugIns | No Comments »
21st June 2006
Approximately a month ago I endeavoured to use Python as my main shell-scripting language. At that moment, I was already aware of multiple benefits you get when you use Python for scripting:
- source-level cross-platform scripting: your script will run anywhere, where Python compiles; expanding this statement – your script will run anywhere, where there is a C compiler (needed to build Python itself)
- high-level language: you can iterate all the lines in a text file with as little as one ‘for’-statement, for example (see the actual example below)
- simple/minimalist syntax: no curly braces around blocks of statements, no semicolons after each and every line of code, etc. Python at a glance looks much more understandable, than, for example, Perl.
- the power of C in a language-interpreting system
- it is interpreted! This gives easyness of debugging: modify, execute, see the trouble – with no compile/link stages
- and, despite being interpreted, it is fast!
For the comparison (in speed, memory use, program size) with other computer programming languages, please see the “Computer Language Shootout Benchmarks”. Here I provide the link only to the comparison of Python with Perl and comparison of Python with PHP (which can also be used as shell-scripting language, albeit after some tinkering with settings and stuff)
Below is an example of the 2-minute script in Python, which counts the number of occurrences of some string in a file.
"""Read FILE and count number of occurences of SUBSTR."""
version = 0.01
import sys
def main():
from optparse import OptionParser
opts = OptionParser(usage="%prog [options] FILE SUBSTR",
version="%prog " + str(version),
description="Read FILE and count number of occurences of SUBSTR.")
opts.set_defaults(verbose=False,flush=False)
opts.add_option("-v", "--verbose", action="store_true", dest="verbose", help="Print every line containing substr [default: %default]")
opts.add_option("-f", "--flush", action="store_true", dest="flush", help="When verbose, flush every line [default: %default]")
(options, args) = opts.parse_args()
if len(args) != 2:
print "Two arguments required for correct processing"
opts.print_help()
sys.exit(2)
infile = args[0]
substr = args[1]
lines_count = 0
substr_count = 0
lines_substr_count = 0
if options.verbose and not options.flush:
msg = ""
f = open(infile, 'r')
for line in f:
lines_count += 1
found = line.count(substr)
substr_count += found
if found > 0:
lines_substr_count += 1
if options.verbose and not options.flush:
msg += str(found) + ": " + line
elif options.verbose and options.flush:
print (str(found) + ": " + line).replace("n","")
f.close()
if options.verbose and not options.flush:
print msg
print "Lines read from file: ", str(lines_count)
print "Lines with substring found: ", str(lines_substr_count)
print "Total substrings detected: ", str(substr_count)
return
if __name__ == "__main__": main()
Posted in Programming, Python | 4 Comments »