<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Quis custodiet ipsos custodes?</title>
	<atom:link href="http://cynici.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cynici.wordpress.com</link>
	<description>Death: To stop sinning suddenly -- Elbert Hubbard (1856-1915)</description>
	<lastBuildDate>Mon, 05 Dec 2011 04:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='cynici.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Quis custodiet ipsos custodes?</title>
		<link>http://cynici.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://cynici.wordpress.com/osd.xml" title="Quis custodiet ipsos custodes?" />
	<atom:link rel='hub' href='http://cynici.wordpress.com/?pushpress=hub'/>
		<item>
		<title>How to call PostGIS ST_* functions in GeoDjango</title>
		<link>http://cynici.wordpress.com/2011/09/26/how-to-call-postgis-st_-functions-in-geodjango/</link>
		<comments>http://cynici.wordpress.com/2011/09/26/how-to-call-postgis-st_-functions-in-geodjango/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 11:06:23 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=215</guid>
		<description><![CDATA[In short: use django queryset extra() I needed to build a web interface using GeoDjango for querying an existing (huge) PostGIS database table which has a geometry column: the_geom = models.PointField(srid=4326) python manage.py inspectdb conveniently created models.py for my django application with the correct class Meta db_table set to the legacy database table name. I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=215&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In short: use django queryset <a href="https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.extra">extra()</a></p>
<p>I needed to build a web interface using GeoDjango for querying an existing (huge) PostGIS database table which has a geometry column:</p>
<pre>the_geom = models.PointField(srid=4326)</pre>
<p>python manage.py <a href="https://docs.djangoproject.com/en/dev/ref/django-admin/#inspectdb">inspectdb</a> conveniently created models.py for my django application with the correct class Meta db_table set to the legacy database table name. I just added &#8216;<a href="http://www.slideshare.net/ubernostrum/django-in-depth">managed = False</a>&#8216; so that django does not try to manage the table in any way.</p>
<p>Basically, my application requires the user to upload a KML file containing geometries of interest (e.g. POINT, LINESTRING, etc.), input a distance value in metres, and optional date range parameters.</p>
<p>The application then returns all the points from the database table which are within the user-specified distance and geometries of interest in KML format.</p>
<p>GeoDjango provides two <a href="https://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#spatial-lookups">spatial lookup</a> APIs for distance calculation, <a href="http://stackoverflow.com/questions/2235043/geodjango-difference-between-dwithin-and-distance-lt">dwithin and distance</a>. <a href="https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoquerysets/#std:fieldlookup-dwithin">dwithin</a> runs many times faster than <a href="https://docs.djangoproject.com/en/dev/ref/contrib/gis/geoquerysets/#distance-lookups">distance</a> but it requires the distance to be given in degrees.</p>
<p>PostGIS <a href="http://postgis.refractions.net/docs/ch04.html">documentation</a> suggested using geography() and ST_DWithin() for best performance. But, how to I call postGIS geography() in a where-clause from my django application?</p>
<p>I have considered writing a <a href="https://docs.djangoproject.com/en/dev/topics/db/managers/">custom manager</a> and using <a href="https://docs.djangoproject.com/en/1.2/topics/db/sql/">raw()</a> but raw() returns a RawQueryset, which unlike the ordinary Queryset, does not have filter() method (thus chaining of results is not possible). Besides, I would like to make use of postGIS ST_AsKml() on the query result.</p>
<p>Putting everything together:</p>
<pre>MyModel.objects.extra(
    select={'the_geom_wkt': 'ST_AsText(the_geom)'},
    where=[
        "ST_DWithin(geography(the_geom), ST_GeographyFromText('SRID=4326;%s'),%%s)"%%geometry_from_kml
    ],
    params=[distance_in_metres],
)</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/215/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/215/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/215/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=215&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2011/09/26/how-to-call-postgis-st_-functions-in-geodjango/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>How to make a circle geometry in KML or WKT</title>
		<link>http://cynici.wordpress.com/2011/09/16/how-to-make-a-circle-geometry-in-kml-or-wkt/</link>
		<comments>http://cynici.wordpress.com/2011/09/16/how-to-make-a-circle-geometry-in-kml-or-wkt/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 05:05:22 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=204</guid>
		<description><![CDATA[There is no circle geometry in KML. In remote sensing, some algorithms e.g. MODIS wild fire detection, etc. produce sparse point data. But, I find it more meaningful to visualise these point data on a map, Google Earth layer for instance, as circles whose radii are based on the satellite imagery resolution. As suggested in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=204&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/kml/faq.html#circle">There is no circle geometry in KML.</a></p>
<p>In remote sensing, some algorithms e.g. <a href="http://cimss.ssec.wisc.edu/goes/burn/wfabba.html">MODIS wild fire detection</a>, etc. produce sparse point data. But, I find it more meaningful to visualise these point data on a map, <a href="http://code.google.com/apis/kml/documentation/kml_tut.html">Google Earth layer</a> for instance, as circles whose radii are based on the satellite imagery resolution.</p>
<p>As suggested in the KML FAQ, I approximate the circle geometry using regular n-sided polygon. The Python code below is originates from las3rjock&#8217;s posting on <a href="http://stackoverflow.com/questions/877524/calculating-coordinates-given-a-bearing-and-a-distance">StackOverflow</a>. I have adapted it slightly to accept input in metres, and to produce KML fragment and <a href="http://en.wikipedia.org/wiki/Well-known_text">WKT</a>. It is good enough when radius is small compared to the radius of the Earth.</p>
<p>Alternatively, get <a href="http://code.google.com/p/kmlcircle/">KML circle</a> which can also do stars, or use the <a href="http://dev.bt23.org/keyhole/circlegen/">online generator</a>.</p>
<pre>from math import asin,cos,pi,sin
import re
class GeomHelper:
    rEarth_km = 6371.01 # Earth's average radius in km
    epsilon = 0.000001 # threshold for floating-point equality
    @staticmethod
    def deg2rad(angle):
        return angle*pi/180
    @staticmethod
    def rad2deg(angle):
        return angle*180/pi
    @staticmethod
    def pointRadialDistance(lat1_deg, lon1_deg, bearing_deg, distance_m):
        """
        Return final coordinates (lat2,lon2) [in degrees] given initial coordinates
        (lat1,lon1) [in degrees] and a bearing [in degrees] and distance [in m]
        """
        rlat1 = GeomHelper.deg2rad(lat1_deg)
        rlon1 = GeomHelper.deg2rad(lon1_deg)
        rbearing = GeomHelper.deg2rad(bearing_deg)
        rdistance = distance_m / (GeomHelper.rEarth_km*1000) # normalize linear distance to radian angle
        rlat = asin( sin(rlat1) * cos(rdistance) + cos(rlat1) * sin(rdistance) * cos(rbearing) )
        if cos(rlat) == 0 or abs(cos(rlat)) &lt; GeomHelper.epsilon: # Endpoint a pole
            rlon=rlon1
        else:
            rlon = ( (rlon1 - asin( sin(rbearing)* sin(rdistance) / cos(rlat) ) + pi ) % (2*pi) ) - pi
        lat = GeomHelper.rad2deg(rlat)
        lon = GeomHelper.rad2deg(rlon)
        return (lat, lon)

    @staticmethod
    def make_polygon(lon_deg, lat_deg, radius_m, sides=8, format='wkt'):
        theta = 360/sides
        if format is 'wkt':
            separator = ' '
        else:
            separator = ','
        result = []
        for i in range(sides):
            lat, lon = GeomHelper.pointRadialDistance(lat_deg, lon_deg, i*theta, radius_m)
            result.append("%f%s%f" % (lon, separator, lat))
        # Close the polygon
        result.append(result[0])
        if format is 'wkt':
            return 'POLYGON((%s))' % ','.join(result)
        else:
            # KML
            return '%s' % ' '.join(result)
    @staticmethod
    def make_polygon_from_wkt(point, radius_m, **kwargs):
        """ 'point' is a string like POINT(30,-25.45) """
        m = re.search('^point\((\S+) ([^)]+)\)$', point, re.I)
        if m:
            return GeomHelper.make_polygon(float(m.group(1)), float(m.group(2)), radius_m, **kwargs)
        else:
            raise ValueError("Invalid WKT POINT: %s" % point)
    @staticmethod
    def make_polygon_from_kml(point, radius_m, **kwargs):
        """ 'point' is a string like &lt;POINT&gt;&lt;coordinates&gt;27.113,-25.389&lt;/coordinates&gt;&lt;/POINT&gt; """
        m = re.search('&lt;point&gt;&lt;coordinates&gt;([^,]+),([^&lt;]+)', point, re.I)
        if m:
            return GeomHelper.make_polygon(float(m.group(1)), float(m.group(2)), radius_m, **kwargs)
        else:
            raise ValueError("Invalid KML POINT: %s" % point)</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=204&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2011/09/16/how-to-make-a-circle-geometry-in-kml-or-wkt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>GeoTIFF and Python GDAL</title>
		<link>http://cynici.wordpress.com/2011/08/26/geotiff-and-python-gdal/</link>
		<comments>http://cynici.wordpress.com/2011/08/26/geotiff-and-python-gdal/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 04:57:01 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=181</guid>
		<description><![CDATA[If you program in Python, then the Python binding to the Geospatial Data Abstraction library (GDAL) and Numpy are indispensable tools for reading, writing and manipulating raster image in GeoTIFF format. This summarizes my brief experience working with them. A GeoTIFF image file may contain one or more bands. Each band can be viewed as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=181&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you program in Python, then the <a href="http://pypi.python.org/pypi/GDAL/">Python binding</a> to the Geospatial Data Abstraction library (<a href="http://trac.osgeo.org/gdal/wiki/GdalOgrInPython">GDAL)</a> and <a href="http://numpy.scipy.org/">Numpy</a> are indispensable tools for reading, writing and manipulating raster image in <a href="http://en.wikipedia.org/wiki/GeoTIFF">GeoTIFF format</a>.</p>
<p>This summarizes my brief experience working with them.</p>
<p>A GeoTIFF image file may contain one or more bands. Each band can be viewed as a separate 2D data array but every band in the same file will have the same array dimension (or shape, in Numpy lingo).</p>
<p>All image pixels in a band (data element of array) are of the same <a href="http://www.gdal.org/gdal_8h.html#22e22ce0a55036a96f652765793fb7a4">data type</a>, e.g. byte, int16, etc., but one band may be of different data type from another in the same file.</p>
<p>By convention, if a GeoTIFF file contains a RGB raster image, it will have 3 bands (4 if it is RGBA, with the addition of alpha channel for pixel transparency) of byte data &#8212; band 1 for red, 2 for green and 3 for blue.</p>
<h3>GDAL API</h3>
<h4>To read GeoTIFF metadata (georeference information)</h4>
<pre>from osgeo import gdal
ds = gdal.Open("sample.tif", gdal.GA_ReadOnly)
(X, deltaX, rotation, Y, rotation, deltaY) = ds.GetGeoTransform()
srs_wkt = ds.GetProjection()
Nx = ds.RasterXSize
Ny = ds.RasterYSize
ds = None</pre>
<p>GeoTransform() returns a tuple where (X, Y) are corner coordinates of the image indicating the origin of the array, i.e. data element[0,0]. But, which corner?</p>
<p>If deltaX is positive, X is West. Otherwise, X is East. If deltaY is positive, Y is South. Otherwise, Y is North. In other words, when both deltaX and deltaY is positive, (X, Y) is the lower-left corner of the image.</p>
<p>It is also common to have positive deltaX but negative deltaY which indicates that (X, Y) is the top-left corner of the image.</p>
<p>There are several standard notations for SRS, e.g. <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/referencing/doc-files/WKT.html">WKT</a>, <a href="http://proj.maptools.org/gen_parms.html">Proj4</a>, etc. GetProjection() returns a WKT string. The meaning and unit-of-measurement for  X, Y, deltaX and deltaY are based on the spatial reference system (SRS) of the image. For example, if the SRS is <a href="http://www.remotesensing.org/geotiff/proj_list/polar_stereographic.html">Stereographic projection</a>, they are in kilometres.</p>
<h4>To convert from WKT notation to Proj4</h4>
<pre>from osgeo import osr
srs = osr.SpatialReference()
srs.ImportFromWKT(srs_wkt)
srs_proj4 = srs.ExportToProj4()</pre>
<h4>To load a multi-band GeoTIFF image file as Numpy arrays</h4>
<pre>from osgeo import gdal
arys = []
ds = gdal.Open('sample.tif', gdal.GA_ReadOnly)
for i in xrange(1, ds.RasterCount+1):
arys.append(ds.GetRasterBand(i).ReadAsArray())
# for a single-band GeoTIFF
ary = ds.GetRasterBand(1).ReadAsArray()</pre>
<p>Unlike mathematical convention for coordinates (X, Y), Numpy array indexing uses [y-offset][x-offset].</p>
<h4>To save a 2-D Numpy array as 1-band GeoTIFF file</h4>
<pre>from osgeo import gdal
 # data exists in 'ary' with values range 0 - 255
 # Uncomment next line if ary[0][0] is upper-left corner
 #ary = numpy.flipup(ary)
 Ny, Nx = ary.shape
 driver = gdal.GetDriverByName("GTiff")
 ds = driver.Create('output.tif', Ny, Nx, 1, gdal.GDT_Byte)
 ds.SetGeoTransform( ... ) # define GeoTransform tuple
 ds.GetRasterBand(1).WriteArray(ary)
 ds = None</pre>
<h4>To slice from a bigger image (array)</h4>
<pre>subary = ary[4:6, 5:8]</pre>
<h4>To change coordinates from one SRS to another</h4>
<p>Use <a href="http://pyproj.googlecode.com/svn/trunk/README.html">pyproj</a><br />
For example, to convert 2 lists of longitudes and latitudes to X, Y coordinates in polar stereographic projection:</p>
<pre>import pyproj
# Specify target SRS
pp = pyproj.Proj('+proj=stere +lat_ts=-60.0 +lat_0=-90.0 +lon_0=28.0 +k_0=1.0')

# Origin of 2D-data array: longitudes[0,0] latitudes[0,0]
X, Y = pp(longitudes, latitudes)

# To reverse the operation
longitudes, latitudes = pp(X, Y, inverse=True)</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=181&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2011/08/26/geotiff-and-python-gdal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>How to follow a big list of Twitter users</title>
		<link>http://cynici.wordpress.com/2011/06/08/how-to-follow-a-big-list-of-twitter-users/</link>
		<comments>http://cynici.wordpress.com/2011/06/08/how-to-follow-a-big-list-of-twitter-users/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 06:14:44 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=177</guid>
		<description><![CDATA[Say you have a big list of Twitter users you want to follow (example), you can add the Twitter username one-by-one or you can leverage the power of command line on Linux. Here&#8217;s how: Download the twidge binary appropriate for your Linux Rename the downloaded binary file as &#8216;twidge&#8217; and make it executable i.e. chmod [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=177&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Say you have a big list of Twitter users you want to follow (<a title="IT security" href="http://blogs.csoonline.com/1539/follow_friday_security_pros_to_find_on_twitter_june_3">example</a>), you can add the Twitter username one-by-one or you can leverage the power of command line on Linux. Here&#8217;s how:</p>
<ol>
<li><a title="twidge download page" href="https://github.com/jgoerzen/twidge/downloads">Download</a> the twidge binary appropriate for your Linux</li>
<li>Rename the downloaded binary file as &#8216;twidge&#8217; and make it executable i.e. chmod u+x twidge</li>
<li>twidge setup    # Follow instructions given to authorize twidge application to access your Twitter account</li>
<li>Using the example above, copy and paste the list of Twitter usernames and save the file as &#8216;userlist&#8217;</li>
<li>cat userlist | sed &#8216;s/@/\n/g&#8217; | while read U X; do if [ -z "$U" ]; then continue; fi; twidge follow $U; done</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/177/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/177/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/177/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=177&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2011/06/08/how-to-follow-a-big-list-of-twitter-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>How to parse HTML using Python HTMLParser</title>
		<link>http://cynici.wordpress.com/2011/01/14/how-to-parse-html-using-python-htmlparser/</link>
		<comments>http://cynici.wordpress.com/2011/01/14/how-to-parse-html-using-python-htmlparser/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 11:43:26 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=167</guid>
		<description><![CDATA[A sample code snippet on how to use the Python module HTMLParser to extract a well-formed HTML document for multiple &#60;input name="fileIDs" value="123456" /&#62; Code snippet: import urllib, urllib2 from HTMLParser import HTMLParser class MyHTMLParser(HTMLParser):     def __init__(self, fh):         """         {fh} must be an input stream returned by open() [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=167&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A sample code snippet on how to use the Python module HTMLParser to extract a well-formed HTML document for multiple</p>
<pre>&lt;input name="fileIDs" value="123456" /&gt;</pre>
<p>Code snippet:</p>
<pre>import urllib, urllib2</pre>
<pre>from HTMLParser import HTMLParser</pre>
<pre>class MyHTMLParser(HTMLParser):</pre>
<pre>    def __init__(self, fh):</pre>
<pre>        """</pre>
<pre>        {fh} must be an input stream returned by open() or urllib2.urlopen()</pre>
<pre>        """</pre>
<pre>        HTMLParser.__init__(self)</pre>
<pre>        self.fileids = []</pre>
<pre>        self.feed(fh.read())</pre>
<pre>    def handle_starttag(self, tag, attrs):</pre>
<pre>        if tag == 'input':</pre>
<pre>            attrD = dict(attrs)</pre>
<pre>            if attrD['name'] == 'fileIDs':</pre>
<pre>                self.fileids.append(attrD['value'])</pre>
<pre>    def get_fileids(self):</pre>
<pre>        return self.fileids</pre>
<pre>opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))</pre>
<pre>opener.addheaders = [('User-agent', 'Mozilla/5.0')]</pre>
<pre>response = opener.open("http://www.example.com/200.html")</pre>
<pre>myparser = MyHTMLParser(response)</pre>
<div>Reference:</div>
<div>
<ul>
<li><a href="http://www.hellboundhackers.org/articles/841-using-python-39;s-htmlparser-class.html">http://www.hellboundhackers.org/articles/841-using-python-39;s-htmlparser-class.html</a></li>
</ul>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/167/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/167/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/167/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=167&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2011/01/14/how-to-parse-html-using-python-htmlparser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>How to migrate 32-bit Cyrus IMAPD mailboxes to 64-bit</title>
		<link>http://cynici.wordpress.com/2010/12/06/how-to-migrate-32-bit-cyrus-imapd-mailboxes-to-64-bit/</link>
		<comments>http://cynici.wordpress.com/2010/12/06/how-to-migrate-32-bit-cyrus-imapd-mailboxes-to-64-bit/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 11:32:46 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=163</guid>
		<description><![CDATA[Thanks to Viktor Petersson&#8217;s blog for the crucial hints. I adapted his procedure for FreeBSD slightly because I was moving the cyrus-imapd service from an old 32-bit SuSE Linux Enterprise Server version 9 (SLES9) to a new 64-bit server running CentOS 5.5. On old server, rsync -aP /var/lib/imap root@mynewserver:/var/lib/imap rsync -aP /var/spool/imap root@mynewserver:/var/spool/imap Stop Cyrus service [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=163&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://viktorpetersson.com/2010/10/03/moving-cyrus-from-a-32bit-to-a-64bit-server/">Viktor Petersson&#8217;s blog</a> for the crucial hints. I adapted his procedure for FreeBSD slightly because I was moving the cyrus-imapd service from an old 32-bit SuSE Linux Enterprise Server version 9 (SLES9) to a new 64-bit server running CentOS 5.5.</p>
<p>On old server,</p>
<pre>rsync -aP /var/lib/imap root@mynewserver:/var/lib/imap
rsync -aP /var/spool/imap root@mynewserver:/var/spool/imap</pre>
<p>Stop Cyrus service on both old and new servers.</p>
<pre>rsync -aP --delete /var/lib/imap root@mynewserver:/var/lib/imap
rsync -aP --delete /var/spool/imap root@mynewserver:/var/spool/imap
sudo -u cyrus /usr/local/cyrus/bin/ctl_mboxlist -d &gt; ~/mboxlist.txt</pre>
<p>Copy mboxlist.txt to new server.</p>
<p>On the new server,</p>
<pre>sudo -u cyrus rm /var/lib/imap/db/* \
/var/lib/imap/db.backup1/* \
/var/lib/imap/db.backup2/* \
/var/lib/imap/deliver.db \
/var/lib/imap/tls_sessions.db \
/var/lib/imap/mailboxes.db
sudo -u cyrus /usr/lib/cyrus-imapd/ctl_mboxlist -u &lt; ~/mboxlist.txt
sudo -u cyrus /usr/lib/cyrus-imapd/ctl_cyrusdb -r
sudo -u cyrus /usr/lib/cyrus-imapd/tls_prune
sudo -u cyrus /usr/lib/cyrus-imapd/ctl_cyrusdb -c
sudo -u cyrus /usr/lib/cyrus-imapd/cyr_expire -E 3
sudo -u cyrus mkdir /var/lib/imap/rpm/
cd /var/spool/imap/users
for U in * ; do 
  sudo -u cyrus /usr/lib/cyrus-imapd/reconstruct -r -f "user.$U"; 
done</pre>
<p>Start the service on the new server.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/163/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/163/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/163/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=163&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2010/12/06/how-to-migrate-32-bit-cyrus-imapd-mailboxes-to-64-bit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>Six stages of a project</title>
		<link>http://cynici.wordpress.com/2010/09/23/six-stages-of-a-project/</link>
		<comments>http://cynici.wordpress.com/2010/09/23/six-stages-of-a-project/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 06:24:26 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=161</guid>
		<description><![CDATA[Applicable to any project involving more than 5 people. Author unknown. Enthusiasm Disillusionment Panic Persecution of the innocent Praise of the bystander<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=161&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Applicable to any project involving more than 5 people. Author unknown.</p>
<ol>
<li>Enthusiasm</li>
<li>Disillusionment</li>
<li>Panic</li>
<li>Persecution of the innocent</li>
<li>Praise of the bystander</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=161&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2010/09/23/six-stages-of-a-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>A collection of Latin quotes I like</title>
		<link>http://cynici.wordpress.com/2010/06/22/a-collection-of-latin-quotes-i-like/</link>
		<comments>http://cynici.wordpress.com/2010/06/22/a-collection-of-latin-quotes-i-like/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 05:10:41 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=155</guid>
		<description><![CDATA[I think I had my first encounter with Latin quotes/proverbs from reading Asterix comics (thanks Matthias). Perhaps it&#8217;s simply because I don&#8217;t know Latin that I like them being so concise and imperative. Ponte facto Caesar transit. &#8220;The ablative absolute,&#8221; his Latin teacher had explained, &#8220;is used by men of action who don&#8217;t want to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=155&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I think I had my first encounter with Latin quotes/proverbs from reading <a href="http://www.asterix.com/">Asterix comics</a> (thanks Matthias). Perhaps it&#8217;s simply because I don&#8217;t know Latin that I like them being so concise and imperative.</p>
<h3>Ponte facto Caesar transit.</h3>
<p>&#8220;The ablative absolute,&#8221; his Latin teacher                                  had explained, &#8220;is used by men of  action who                                  don&#8217;t want to waste words. <em>Ponte  facto                                  Caesar transit.</em> The bridge built,  Caesar                                  crossed it. Consider how effective this  is. No                                  bothering with who built the bridge or  at what                                  cost. The bridge was built, as a bridge  should                                  be, and Caesar crossed it.&#8221; (<a href="http://www.lynxfeather.net/nest/quotations/book-michener.html">source</a>)</p>
<h3>Nullius in verba</h3>
<p>&#8220;Take nobody&#8217;s word for it&#8221; (<a href="http://en.wikipedia.org/wiki/Royal_Society">source</a>)</p>
<h3>Acta est fabula</h3>
<p>It&#8217;s all over (lit. the drama has been acted out) (<a href="http://www.wattpad.com/117374-List-of-Latin-quotes-in-Asterix">source</a>)</p>
<h3>Alea jacta est</h3>
<p>The die is cast</p>
<h3>Audaces fortuna juvat</h3>
<p>Fortune favors the bold</p>
<h3>Auri sacra fames</h3>
<p>The cursed hunger for gold</p>
<h3>Bis repetita placent</h3>
<p>The things that pleases are repeated again and again</p>
<h3>Cognito ergo sum</h3>
<p>I think therefore I am</p>
<h3>Ab igne ignem capere</h3>
<p>&#8220;To light a fire with a fire.&#8221; (<a href="http://en.wikiquote.org/wiki/Cicero">source</a>)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/155/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/155/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/155/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=155&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2010/06/22/a-collection-of-latin-quotes-i-like/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>How to install Novell Groupwise 8 on 32-bit Ubuntu 9.10, 10.4, 10.10</title>
		<link>http://cynici.wordpress.com/2010/03/15/how-to-install-novell-groupwise-8-on-32-bit-ubuntu-9-10/</link>
		<comments>http://cynici.wordpress.com/2010/03/15/how-to-install-novell-groupwise-8-on-32-bit-ubuntu-9-10/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 08:30:34 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=138</guid>
		<description><![CDATA[The following Ubuntu packages are required: alien sun-java6-bin sun-java6-jre Next, Download the latest ZIP archive from http://gwclient.provo.novell.com/client/GW801LinuxClient.zip Uncompress the ZIP archive to extract the following two RPM files. The actual  RPM version may vary depending on the Groupwise ZIP package downloaded. novell-groupwise-client-8.0.1-88138.i586.rpm novell-groupwise-gwcheck-8.0.1-88138.i586.rpm sudo alien novell-groupwise-client-8.0.1-88138.i586.rpm to produce novell-groupwise-client_8.0.1-88139_i386.deb sudo dpkg -i novell-groupwise-client_8.0.1-88139_i386.deb Edit /usr/bin/groupwise [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=138&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:left;">The following Ubuntu packages are required:</p>
<ol style="text-align:left;">
<li>alien</li>
<li>sun-java6-bin</li>
<li>sun-java6-jre</li>
</ol>
<p style="text-align:left;">Next,</p>
<ol style="text-align:left;">
<li>Download the latest ZIP archive from <a href="http://gwclient.provo.novell.com/client/GW801LinuxClient.zip">http://gwclient.provo.novell.com/client/GW801LinuxClient.zip</a></li>
<li>Uncompress the ZIP archive to extract the following two RPM files. The <em>actual  RPM version may vary depending on the Groupwise ZIP package downloaded. </em>
<ol>
<li>novell-groupwise-client-8.0.1-88138.i586.rpm</li>
<li>novell-groupwise-gwcheck-8.0.1-88138.i586.rpm</li>
</ol>
</li>
<li><strong>sudo alien novell-groupwise-client-8.0.1-88138.i586.rpm</strong> to produce novell-groupwise-client_8.0.1-88139_i386.deb</li>
<li><strong>sudo dpkg -i novell-groupwise-client_8.0.1-88139_i386.deb</strong></li>
<li>Edit /usr/bin/groupwise to replace a line near the beginning that goes, &#8220;export LD_LIBRARY_PATH=&#8230;&#8221; with the following:</li>
</ol>
<pre style="text-align:left;"><strong># JRE_HOME may vary depending on the exact version you have installed</strong>
JVMHOME=$(ls -d /usr/lib/jvm/java-6-sun-* | tail -1)
if [ -z "$JVMHOME" ]; then
 echo "Install sun-java6-jre and sun-java6-bin packages first" &gt;&amp;2
 exit 1
fi
export JRE_HOME=$JVMHOME/jre
export LD_LIBRARY_PATH=$JRE_HOME/lib/i386:$JRE_HOME/lib/i386/client:$LD_LIBRARY_PATH
</pre>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/138/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/138/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/138/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=138&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2010/03/15/how-to-install-novell-groupwise-8-on-32-bit-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
		<item>
		<title>24 Timeless quotes on politics</title>
		<link>http://cynici.wordpress.com/2009/12/17/24-timeless-quotes-on-politics/</link>
		<comments>http://cynici.wordpress.com/2009/12/17/24-timeless-quotes-on-politics/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 04:29:30 +0000</pubDate>
		<dc:creator>cynici</dc:creator>
				<category><![CDATA[politics]]></category>

		<guid isPermaLink="false">http://cynici.wordpress.com/?p=134</guid>
		<description><![CDATA[From a forwarded email: The adage that “ the only thing Man learns from History is that Man learns nothing from History” seems to be backed up by sayings of famous people, going as far back as 430 BC! In my many years I have come to a conclusion that one useless man is a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=134&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>From a forwarded email:</div>
<blockquote>
<div>The adage that “ the only thing Man learns from History is that Man learns nothing from History”  seems to be backed up by sayings of famous people, going as far back as 430 BC!</div>
</blockquote>
<ol>
<li>In my many years I have come to a conclusion that one useless man is a shame, two is a law firm and three or more is a congress. &#8211; John Adams</li>
<li>If you don&#8217;t read the newspaper you are uninformed, if you do read the newspaper you are misinformed. &#8211; Mark Twain</li>
<li>Suppose you were an idiot. And suppose you were a member of Congress. But then I repeat myself. &#8212; Mark Twain</li>
<li>I contend that for a nation to try to tax itself into prosperity is like a man standing in a bucket and trying to lift himself up by the handle &#8230; &#8211; Winston Churchill</li>
<li>A government which robs Peter to pay Paul can always depend on the support of Paul. &#8211; George Bernard Shaw</li>
<li>A liberal is someone who feels a great debt to his fellow man, which debt he proposes to pay off with your money. &#8211; G. Gordon Liddy</li>
<li>Democracy must be something more than two wolves and a sheep voting on what to have for dinner. &#8211; James Bovard, Civil Libertarian (1994)</li>
<li>Foreign aid might be defined as a transfer of money from poor people in rich countries to rich people in poor countries. &#8211; Douglas Casey, Classmate of Bill Clinton at Georgetown University</li>
<li>Giving money and power to government is like giving whiskey and car keys to teenage boys. &#8211; P.J. O&#8217;Rourke, Civil Libertarian</li>
<li>Government is the great fiction, through which everybody endeavors to live at the expense of everybody else. &#8211; Frederic Bastiat, French Economist (1801-1850)</li>
<li>Government&#8217;s view of the economy could be summed up in a few short phrases: If it moves, tax it. If it keeps moving, regulate it. And if it stops moving, subsidize it. &#8211; Ronald Reagan (1986)</li>
<li>I don&#8217;t make jokes. I just watch the government and report the facts. &#8211; Will Rogers</li>
<li>If you think health care is expensive now, wait until you see what it costs when it&#8217;s free! &#8211; P.J. O&#8217;Rourke</li>
<li>In general, the art of government consists of taking as much money as possible from one party of the citizens to give to the other. &#8211; Voltaire (1764)</li>
<li>Just because you do not take an interest in politics doesn&#8217;t mean politics won&#8217;t take an interest in you! &#8211; Pericles (430 B.C.)</li>
<li>No man&#8217;s life, liberty, or property is safe while the legislature is in session. &#8211; Mark Twain (1866)</li>
<li>Talk is cheap&#8230;except when Congress does it. &#8211; Anonymous</li>
<li>The government is like a baby&#8217;s alimentary canal, with a happy appetite at one end and no responsibility at the other. &#8211; Ronald Reagan</li>
<li>The inherent vice of capitalism is the unequal sharing of the blessings. The inherent blessing of socialism is the equal sharing of misery. &#8211; Winston Churchill</li>
<li>The only difference between a tax man and a taxidermist is that the taxidermist leaves the skin. &#8211; Mark Twain</li>
<li>The ultimate result of shielding men from the effects of folly is to fill the world with fools. &#8211; Herbert Spencer, English Philosopher (1820-1903)</li>
<li>There is no distinctly native American criminal class&#8230;save Congress. &#8211; Mark Twain</li>
<li>What this country needs are more unemployed politicians. &#8211; Edward Langley, Artist (1928-1995)</li>
<li>A government big enough to give you everything you want, is strong enough to take everything you have. &#8211; Thomas Jefferson</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cynici.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cynici.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cynici.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cynici.wordpress.com&amp;blog=1551904&amp;post=134&amp;subd=cynici&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cynici.wordpress.com/2009/12/17/24-timeless-quotes-on-politics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/aee7c43b64a617a17211455846b7a201?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">cynici</media:title>
		</media:content>
	</item>
	</channel>
</rss>
