<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<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/"
	>

<channel>
	<title>Digital Native</title>
	<link>http://www.digitalnative.net</link>
	<description>Your ideas, our design.</description>
	<pubDate>Wed, 16 Jul 2008 09:07:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Syncronise CentOS to local repository using RSync</title>
		<link>http://www.digitalnative.net/2008/05/13/syncronise-centos-to-local-repository-using-rsync/</link>
		<comments>http://www.digitalnative.net/2008/05/13/syncronise-centos-to-local-repository-using-rsync/#comments</comments>
		<pubDate>Tue, 13 May 2008 11:44:53 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2008/05/13/syncronise-centos-to-local-repository-using-rsync/</guid>
		<description><![CDATA[Having a lot of local users and/or processes accessing external repositories needlessly increases access times and bandwidth usage. Use a simple script to setup a syncronisation between a CentOS mirror and a local server. Here it is

#/bin/sh 

VERSIONS=(5 5.1)
REPOS=(os updates centosplus extras)
RSYNC_LOCATION="rsync://rsync.mirrorservice.org/sites/mirror.centos.org"
DESTINATION="/repository/distributions/CentOS" 

for version in ${VERSIONS[@]}
do
        for repo [...]]]></description>
			<content:encoded><![CDATA[<p>Having a lot of local users and/or processes accessing external repositories needlessly increases access times and bandwidth usage. Use a simple script to setup a syncronisation between a CentOS mirror and a local server. Here it is</p>
<pre>
#/bin/sh 

VERSIONS=(5 5.1)
REPOS=(os updates centosplus extras)
RSYNC_LOCATION="rsync://rsync.mirrorservice.org/sites/mirror.centos.org"
DESTINATION="/repository/distributions/CentOS" 

for version in ${VERSIONS[@]}
do
        for repo in ${REPOS[@]}
        do
                echo "*******************************************************"
                echo "      rsyncing CentOS ${version} ${repo} repository  "
                echo "*******************************************************" 

                echo "Source: ${RSYNC_LOCATION}/${version}/${repo}/i386/"
                echo "Destination: ${DESTINATION}/${version}/${repo}/i386/" 

                /usr/bin/rsync -q -Pvptrl --delete ${RSYNC_LOCATION}/${version}/${repo}/i386/ ${DESTINATION}/${version}/${repo}/i386/
        done
done</pre>
<p>You should be able to run this from cron quite easily, don&#8217;t forget to point to a mirror near you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2008/05/13/syncronise-centos-to-local-repository-using-rsync/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pylons 0.9.6 with SQLAlchemy 4 and Elixir 0.4</title>
		<link>http://www.digitalnative.net/2007/12/17/pylons-096-with-sqlalchemy-4-and-elixir-04/</link>
		<comments>http://www.digitalnative.net/2007/12/17/pylons-096-with-sqlalchemy-4-and-elixir-04/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 14:20:50 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Pylons]]></category>

		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/12/17/pylons-096-with-sqlalchemy-4-and-elixir-04/</guid>
		<description><![CDATA[This is short quick tutorial on how to integrate these technologies to build a successful MVC web platform. Elixir is a declarative layer built on top of SQLAlchemy, the definition of the model becomes much simpler but just as flexible whilst queries remain within the SQLAlchemy space. The difficult bit is putting these two model [...]]]></description>
			<content:encoded><![CDATA[<p>This is short quick tutorial on how to integrate these technologies to build a successful <a href="http://en.wikipedia.org/wiki/Model-view-controller">MVC</a> web platform. <a href="http://elixir.ematia.de/trac/wiki">Elixir</a> is a declarative layer built on top of <a href="http://www.sqlalchemy.org/">SQLAlchemy</a>, the definition of the model becomes much simpler but just as flexible whilst queries remain within the SQLAlchemy space. The difficult bit is putting these two model [helper] technologies together with <a href="http://pylonshq.com/">Pylons</a> which is what this is about&#8230;</p>
<p>Firstly make sure you have all the Python <a href="http://peak.telecommunity.com/DevCenter/PythonEggs">Eggs</a> -</p>
<pre>
easy_install Pylons==0.6.1
easy_install SQLAlchemy==0.4.1
easy_install Elixir==0.4</pre>
<p><strong>Configuration</strong></p>
<p>The path to your database needs specifying in</p>
<pre>
# development.ini
sqlalchemy.default.url = sqlite:///%(here)s/databases/mydb.db</pre>
<p><strong>Application Environment Configuration</strong></p>
<p>This reads in the configuration specified above into the global configuration space of the application and binds the session (that are used to perform sql operations with) and the metadata (that maps your object to table entity relations) to the actual physical database. The session and metadata are defined in the model below.</p>
<pre>
# project/config/environment.py
# at the end of the file add
from sqlalchemy import engine_from_config
config['pylons.g'].default_engine = engine_from_config(config, 'sqlalchemy.default.')
from project import model
model.session.bind = config['pylons.g'].default_engine
model.metadata.bind = config['pylons.g'].default_engine</pre>
<p><strong>Model Setup</strong></p>
<p>Assuming you define your model in project/model/mymodel.py as follows -</p>
<pre>
# project/model/mymodel.py
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy import create_engine
from elixir import *

class A(Entity):
    ...</pre>
<p>Then your project/model/__init__.py file should contain -</p>
<pre>
# project/model/__init__.py
from mymodel import *
setup_all()</pre>
<p>The setup_all() call tells elixir to build the mappings between the defined objects (that inherit from Entity) and the table definitions. The bind call in environment.py makes these table definitions meaningful!</p>
<p><strong>Application Setup</strong></p>
<p>If you want to run &#8220;paster setup-app development.ini&#8221; to create the database initially edit project/websetup.py. The global environment is not imported into websetup because it&#8217;s a one time only operation, so it needs to be specified again.</p>
<pre>
# project/websetup.py
# at the end of the file
from provisionz import model
print "Creating tables"
config['pylons.g'].default_engine.echo = True
model.metadata.bind = config['pylons.g'].default_engine
model.drop_all()
model.create_all()</pre>
<p>If you plan on adding some initial data to the database, then a few more things need to be added to the above</p>
<pre>
model.session.bind = config['pylons.g'].default_engine
mytable = model.MyTable(column="my data")
model.session.flush()</pre>
<p>Hopefully this is self explanitory, the session is used only to query the database. The metadata is used to create it but it must exist (and be bound) for the session to work.</p>
<p><strong>Application Globals and Cleanup</strong></p>
<p>The file project/lib/base.py contains the BaseController method which is inherited by all controllers you will define, it&#8217;s also a good place to add your global model import, along with any other imports -</p>
<pre>
from project import model</pre>
<p>And at the end of the BaseController __call__ method make sure it finishes by cleaning up the session connection -</p>
<pre>
try:
    return WSGIController.__call__(self, environ, start_response)
finally:
    model.session.remove()</pre>
<p>Now in the controllers you have defined you can use and abuse your model -</p>
<pre>
row = model.MyTable(...)
model.session.flush()</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/12/17/pylons-096-with-sqlalchemy-4-and-elixir-04/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SOCKS 5 HTTP proxy via SSH</title>
		<link>http://www.digitalnative.net/2007/12/17/socks-5-http-proxy-via-ssh/</link>
		<comments>http://www.digitalnative.net/2007/12/17/socks-5-http-proxy-via-ssh/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 00:40:13 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Security]]></category>

		<category><![CDATA[Windows]]></category>

		<category><![CDATA[System Management]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/12/17/socks-5-http-proxy-via-ssh/</guid>
		<description><![CDATA[If you don&#8217;t trust the network your on, wan&#8217;t to appear to be in another location or need to bypass forced (aka transparent) proxying of your web traffic SOCKS proxying over an SSH tunnel maybe for you!
It&#8217;s very straight forward on Windows or Linux, the one thing you do need though is some other computer [...]]]></description>
			<content:encoded><![CDATA[<p>If you don&#8217;t trust the network your on, wan&#8217;t to appear to be in another location or need to bypass forced (aka transparent) proxying of your web traffic SOCKS proxying over an SSH tunnel maybe for you!</p>
<p>It&#8217;s very straight forward on Windows or Linux, the one thing you do need though is some other computer running an SSH server on the internet  to connect to. This could be a home based PC or just your OpenWRT ADSL router, or as fancy as dedicated server or ssh service, it&#8217;s up to you.</p>
<p>If your running Windows, download <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a> and configure it to tunnel a local port, say 5000, using a <a href="http://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter3.html#using-port-forwarding" target="_blank">Dynamic</a> connection to your remote SSH server.</p>
<p>On Linux with <a href="http://www.openssh.com/">OpenSSH</a> the same command to do this is -</p>
<pre>
ssh -f -N -D 5000 remoteuser@remote.host.com</pre>
<p>The -f and -N make backgrounding the process possible in a terminal, it&#8217;s the -D that is the import part.</p>
<p>Then just configure your browser, in Firefox it&#8217;s under Edit -&gt; Preference and Windows it&#8217;s Tools -&gt; Options; click on the Advanced tab, then Network sub tab and finally select the Settings button. At the bottom of the list is the SOCKS 5 option. In SOCKS host put &#8220;localhost&#8221; and under the  port &#8220;5000&#8243;.</p>
<p>Thats it, browse away. If you do this often, make sure you try out one of the <a href="https://addons.mozilla.org/en-US/firefox/search?q=proxy&amp;status=4">Proxy Selection Firefox add-ons</a>.</p>
<p>Disclaimer: Your DNS traffic will not tunneled or encrypted but all your web traffic is using this method.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/12/17/socks-5-http-proxy-via-ssh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SSH tunnel via a middle system</title>
		<link>http://www.digitalnative.net/2007/09/25/ssh-tunnel-via-a-middle-system/</link>
		<comments>http://www.digitalnative.net/2007/09/25/ssh-tunnel-via-a-middle-system/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 14:26:32 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[System Management]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/09/25/ssh-tunnel-via-a-middle-system/</guid>
		<description><![CDATA[Often you need to create a tunnel from one system to another, this is simple enough to do. Either you want to forward a local port on your system to a remote system securely (think POP3 etc) which you can do like this on the local system:

ssh -f -N -L 110:localhost:110 ruser@remote.system.com
Then you would configure [...]]]></description>
			<content:encoded><![CDATA[<p>Often you need to create a tunnel from one system to another, this is simple enough to do. Either you want to forward a local port on your system to a remote system securely (think POP3 etc) which you can do like this on the local system:</p>
<pre>
ssh -f -N -L 110:localhost:110 ruser@remote.system.com</pre>
<p>Then you would configure your POP mail client to connect to localhost:110 instead of the remote system.</p>
<p>Other times you may want to make a connection from a remote machine to your local machine (a reverse tunnel). A typical example of this is when connecting from a home pc to a work system that is behind a firewall. To setup this sort of tunnel the tunnel would be initiated on the work system as such:</p>
<pre>
ssh -fnNT -R 5678:localhost:22 home.system.com</pre>
<p>Then it will be possible to login to your work pc by running <code>ssh localhost -p 5678</code> on your home pc.</p>
<p>However, what if you need to tie these two things together by having an intemediary server? If we take the example this time of running vnc over ssh so we want something like this:</p>
<pre>
VNC-server (5901) &lt;-- ssh --&gt; (5901) In-between-system (5901) &lt;-- ssh --&gt; (5901) VNC-client</pre>
<p>How do we do it? Firstly, startup the vnc server on the VNC-server. Then startup the reverse tunnel from the VNC-server to the In-between-system like this:</p>
<pre>
ssh -ngfNT -R 5901:localhost:5901 ruser@in.between.system</pre>
<p>Note: For the above process to background itself correctly as the &#8220;-f&#8221; command implies you would need your keys setup between these systems (i.e. the public key of the VNC-server copied to the authorized_keys file of &#8220;ruser&#8221; on the In-between-system).</p>
<p>Then on your VNC client start a local tunnel to the In-between-system as follows:</p>
<pre>
ssh -f -N -L 5901:localhost:5901 ruser@in.between.system</pre>
<p>Then to view your remote desktop run <code>vncviewer localhost:1</code> (:1 representing port 5901) which will route your data via the In-between-system and tunnel it over ssh.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/09/25/ssh-tunnel-via-a-middle-system/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rebuild CentOS/RHEL 5 kernel</title>
		<link>http://www.digitalnative.net/2007/05/23/rebuild-centosrhel-5-kernel/</link>
		<comments>http://www.digitalnative.net/2007/05/23/rebuild-centosrhel-5-kernel/#comments</comments>
		<pubDate>Wed, 23 May 2007 17:38:28 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[kernel]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/05/23/rebuild-centosrhel-5-kernel/</guid>
		<description><![CDATA[Download the kernel source package for example kernel-2.6.18-8.el5.src.rpm and install it after following the instructions on creating a user specific build layout.
Then the minimum that&#8217;s required is -

cd rpm/SPECS
rpmbuild -ba --target=i686 kernel-2.6.spec
If you need to patch the kernel with your changes, place the patch in the rpm/SOURCES directory and update the spec file with the [...]]]></description>
			<content:encoded><![CDATA[<p>Download the kernel source package for example <code>kernel-2.6.18-8.el5.src.rpm</code> and install it after following the instructions on creating a <a href="http://www.incension.com/content/2007/03/09/building-rpms-as-non-root-user/">user specific build layout</a>.</p>
<p>Then the minimum that&#8217;s required is -</p>
<pre>
cd rpm/SPECS
rpmbuild -ba --target=i686 kernel-2.6.spec</pre>
<p>If you need to patch the kernel with your changes, place the patch in the <code>rpm/SOURCES</code> directory and update the spec file with the appropriate lines. For example, i needed to add a patch for a Brain Boxes serial card.</p>
<p>I added a line as follows in the header section:</p>
<pre>
Patch1024: linux-2.6-brainboxes.patch</pre>
<p>and then further down in the %prep where the patching actually takes place, i added:</p>
<pre>
%patch1024 -p1</pre>
<p>As i had other third party modules built against this kernel i maintained the existing version and release number, however it would be a good idea to change this if you are releasing it into the wild!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/05/23/rebuild-centosrhel-5-kernel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Kernel build system (kbuild) - building a module using binary objects</title>
		<link>http://www.digitalnative.net/2007/05/16/kernel-build-system-kbuild-building-a-module-using-binary-objects/</link>
		<comments>http://www.digitalnative.net/2007/05/16/kernel-build-system-kbuild-building-a-module-using-binary-objects/#comments</comments>
		<pubDate>Wed, 16 May 2007 11:28:14 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[kernel]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/05/16/kernel-build-system-kbuild-building-a-module-using-binary-objects/</guid>
		<description><![CDATA[Using the kernel build system to build a module when you ony have access to binary object files is not as straightforward as it may seem.
The kernel kbuild documenation does not have a complete description of this, so i had to piece it together from mailing lists. The reason for this is probably simply that doing this is discouraged because drivers should have their code released and if possible integrated into the kernel.
So, you&#8217;ve got some [...]]]></description>
			<content:encoded><![CDATA[<p>Using the kernel build system to build a module when you ony have access to binary object files is not as straightforward as it may seem.</p>
<p>The kernel kbuild documenation does not have a complete description of this, so i had to piece it together from mailing lists. The reason for this is probably simply that doing this is discouraged because drivers should have their code released and if possible integrated into the kernel.</p>
<p>So, you&#8217;ve got some object files that make up a module but need to link (ld) them against the current kernel. It is NOT as simple as doing <code>ld -o mymod.ko *.o -lc -L/usr/src/linux</code>.</p>
<p>So i have these modules:</p>
<pre>
obj1.o
obj2.o
obj3.o</pre>
<p>And i want them to turn end up as <code>mymod.ko</code>. The first trick is to rename them to <code>name.o_shipped</code>. I say trick because the kbuild system does a lot of stuff that is not shown in the makefile. It is invoked by the obj-m definition in the makefile below (see comments).</p>
<pre>
for i in *.o; do
    mv $i $i_shipped
done

ls
obj1.o_shipped obj2.o_shipped obj3.o_shipped</pre>
<p>I now need to create a Makefile that works correctly with the kbuild system, and uses these object files:</p>
<pre>
MODULE_NAME := mymod
MODULE_OBJECT := $(MODULE_NAME).ko

# these binary objects must be renamed to <object>.0_shipped
# for the kbuild system to use them correctly.
CORE_OBJS := obj1.o obj2.o obj3.oKERNEL_SOURCES := /lib/modules/`uname -r`/build

KERNEL_HEADERS := $(KERNEL_SOURCES)/include
KERNEL_UNAME ?= $(shell uname -r)
MODULE_ROOT := /lib/modules/$(KERNEL_UNAME)/kernel/drivers
KBUILD_PARAMS += KBUILD_VERBOSE=1 -C $(KERNEL_SOURCES) SUBDIRS=$(PWD)
EXTRA_CFLAGS += -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE  -DNVRM -DNV_VERSION_STRING=&#8221;1.0&#8221; -UDEBUG -U_DEBUG -DNDEBUG
CC ?= cc
HOST_CC ?= $(CC)
OBJDUMP ?= objdump

# If KERNELRELEASE is defined, we&#8217;ve been invoked from the
# kernel build system and can use its language.

ifneq ($(KERNELRELEASE),)
    obj-m := $(MODULE_NAME).o
    $(MODULE_NAME)-y := $(CORE_OBJS)
# Otherwise we were called directly from the command
# line; invoke the kernel build system.
else
    KERNELDIR ?= /lib/modules/$(shell uname -r)/build
    PWD := $(shell pwd)
default:
    $(MAKE) $(KBUILD_PARAMS) modules
endif

clean:
    rm -rf *.o
</object></pre>
<p>The important bit here is the line <code>$(MODULE_NAME)-y := $(CORE_OBJS)</code> which tells the kbuild system to look for files ending with &#8220;_shipped&#8221;.</p>
<p>I hope this helps somebody.</p>
<p>Discaimer: this may not be 100% correct as i&#8217;m no kernel expert but it works for me!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/05/16/kernel-build-system-kbuild-building-a-module-using-binary-objects/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash USB devices in Cygwin</title>
		<link>http://www.digitalnative.net/2007/04/14/flash-usb-devices-in-cygwin/</link>
		<comments>http://www.digitalnative.net/2007/04/14/flash-usb-devices-in-cygwin/#comments</comments>
		<pubDate>Sat, 14 Apr 2007 12:09:53 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Cygwin]]></category>

		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/04/14/flash-usb-devices-in-cygwin/</guid>
		<description><![CDATA[Using raw devices in Cygwin has changed over the years and the current documentation doesn&#8217;t make it that clear what is required to use them correctly. A google search turns up some of the older methods of accessing raw devices mixed in with the new (POSIX) method which i describe below in the hope it [...]]]></description>
			<content:encoded><![CDATA[<p>Using raw devices in Cygwin has changed over the years and the current <a href="http://cygwin.com/cygwin-ug-net/using-specialnames.html">documentation </a>doesn&#8217;t make it that clear what is required to use them correctly. A google search turns up some of the <a href="https://systems.cs.colorado.edu/deptwiki/index.php/WindowsRawDevices">older methods</a> of accessing raw devices mixed in with the new (POSIX) method which i describe below in the hope it will help someone who spends a while looking around like i have done.</p>
<p>Additionally the <a href="http://cygwin.com/ml/cygwin/2004-03/txt00028.txt">create_devices.sh</a> script mentioned in the documentation didn&#8217;t work for me (when using version 1.5.24-2).</p>
<p>All i wanted to do was dd a disk image file (specifically a Linux boot disk image) to my usb flash drive so i could use it for kicking off network installations. Simple you might think but of no (unless you read this post first that is!).</p>
<p>First of all i though, ah i&#8217;ll have a  look at my device list -</p>
<pre>ls -lht /dev</pre>
<p>nothing, no devices in fact /dev doesn&#8217;t even exist - or so i first thought. It&#8217;s simulated internally, so as the documentation says /dev/tty does actually exist and you can run ls against it and it&#8217;ll work. A little bit like magic always gets people.</p>
<p>Then i thought, ok try something simple. My device is mounted as o: under windows so i thought maybe /cygdrive/o will be a raw device.</p>
<pre>
dd if=/path/to/myfile of=/cygdrive/o</pre>
<p>error, nope it&#8217;s not.</p>
<p>Thats when i started googling and came across a multitude of incorrect methods (this <a href="http://sources.redhat.com/ml/cygwin/2001-09/msg01175.html">post</a> for one) for mounting and accessing raw devices.</p>
<pre>
dd if=/path/to/myfile of=//./O:
mount -s -b //./o: /dev/fd0
mount -f -b //./physicaldrive5 /dev/fd0</pre>
<p>the last one started me off looking at device numbers which was helpful. Check the Windows XP Computer Manager -&gt; Disk Manager tool to find out what the device number actually is.</p>
<p>One thing i was fairly sure about is that you definately need to mount it within Cygwin before you can actually use it as a raw device. Eventually, i read the documentation thourouly and discovered a post saying how all the old methods are now obsolete.</p>
<p>What you need to do is find out the device number from Disk Manager tool (is there a simpler command line way i wonder?) and then look for the corresponding device in /dev. For example, my device was mounted as O: in Windows but this has absolutely no bearing on the device number so i had to check to find out that it was device 5 (counting from 0) so it was actually the sixth device.</p>
<p>Thus in /dev, <code>/dev/sda</code> equals device 0 which is my C: drive so <code>/dev/sdf</code> is my flash device!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/04/14/flash-usb-devices-in-cygwin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PuTTYcyg - a replacement terminal emulator for Windows</title>
		<link>http://www.digitalnative.net/2007/04/05/puttycyg-a-new-terminal-emulator-for-windows/</link>
		<comments>http://www.digitalnative.net/2007/04/05/puttycyg-a-new-terminal-emulator-for-windows/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 20:14:30 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/04/05/puttycyg-a-new-terminal-emulator-for-windows/</guid>
		<description><![CDATA[If you use Cygwin on Windows for any purpose at all you might want to consider trying out PuTTYcyg which replaces both a standard PuTTY installation (it&#8217;s actually built on top of PuTTY) and the absolutely rubbish windows cmd.exe, which i&#8217;ve lived with for far far to long.
I&#8217;ve just found it and it works like [...]]]></description>
			<content:encoded><![CDATA[<p>If you use <a href="http://www.cygwin.com">Cygwin</a> on Windows for any purpose at all you might want to consider trying out <a href="http://web.gccaz.edu/~medgar/puttycyg/">PuTTYcyg </a>which replaces both a standard PuTTY installation (it&#8217;s actually built on top of PuTTY) and the absolutely rubbish windows cmd.exe, which i&#8217;ve lived with for far far to long.</p>
<p>I&#8217;ve just found it and it works like a dream, just download the zip file and put the files somewhere in your path. I put them in <code>H:\Documents and Settings\Nick\My Documents\My Programs\puttycyg</code> and ensure that is in my path.</p>
<p>Fire it up (putty.exe that is) and select &#8216;Cygterm&#8217; and &#8216;-&#8217; for the command line and it just works!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/04/05/puttycyg-a-new-terminal-emulator-for-windows/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQLObject SQLite on Windows/Win32</title>
		<link>http://www.digitalnative.net/2007/04/01/sqlobject-dburi-on-windowswin32/</link>
		<comments>http://www.digitalnative.net/2007/04/01/sqlobject-dburi-on-windowswin32/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 17:29:11 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/04/01/sqlobject-dburi-on-windowswin32/</guid>
		<description><![CDATA[I often develop using a windows platform and deploy on unix/linux. One of the great things about Python is it&#8217;s platform flexibility.
I&#8217;m learning Pylons which is an MVC framework at the moment and running through the blog tutorial which is a great starting point. Im developing using an Sqlite database (and probably deploying on a [...]]]></description>
			<content:encoded><![CDATA[<p>I often develop using a windows platform and deploy on unix/linux. One of the great things about <a href="http://www.python.org">Python </a>is it&#8217;s platform flexibility.</p>
<p>I&#8217;m learning <a href="http://pylonshq.com">Pylons</a> which is an MVC framework at the moment and running through the blog tutorial which is a great starting point. Im developing using an <a href="http://www.sqlite.org">Sqlite </a>database (and probably deploying on a Mysql database), using the <a href="http://www.sqlobject.org">SQLObject </a>[model] component of Pylons.</p>
<p>I came a bit of a cropper and wasted a few hours trying to discover the correct URI syntax for SQLObject with sqlite on Windows. On linux typically it&#8217;s easy but i couldn&#8217;t let it rest and had to figure it out how do it on Windows so i could develop project easily and quickly on whichever platform i want to develop on. I&#8217;m adding this entry here so i never have to figure it out again!</p>
<p>I created a database with <a href="http://www.zeitungsjunge.de/delphi/sqlitespy">SQLiteSpy</a> (great SQLite GUI tool) and copied the .db3 file to a directory called <code>H:\dbs</code>.</p>
<p>The SQLObject scheme syntax for this is as follows, which i entered into the <code>development.ini</code> Pylons file:</p>
<p><code>sqlobject.dburi = sqlite:///H|/dbs/blogtutorial.db3</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/04/01/sqlobject-dburi-on-windowswin32/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Yum and Kickstart</title>
		<link>http://www.digitalnative.net/2007/03/25/yum-and-kickstart/</link>
		<comments>http://www.digitalnative.net/2007/03/25/yum-and-kickstart/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 20:09:14 +0000</pubDate>
		<dc:creator>nick</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.digitalnative.net/2007/03/25/yum-and-kickstart/</guid>
		<description><![CDATA[When using yum in a %post section of a kickstart a number of services are unavailable that yum would normally use. I got the error message &#8220;SysLogHandler instance has no attribute &#8216;unixsocket&#8217;&#8221; which is because syslog is unavailable and normally listens on the /dev/log device.
To get around this is i just moved the device file [...]]]></description>
			<content:encoded><![CDATA[<p>When using yum in a %post section of a kickstart a number of services are unavailable that yum would normally use. I got the error message &#8220;SysLogHandler instance has no attribute &#8216;unixsocket&#8217;&#8221; which is because syslog is unavailable and normally listens on the /dev/log device.</p>
<p>To get around this is i just moved the device file in the sysimage location for the duration of the yum install process. It&#8217;s a hack but it works and thats the main thing.</p>
<pre>
mv /dev/log /dev/log.tmp
yum install &lt;package&gt;
mv /dev/log.tmp /dev/log</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.digitalnative.net/2007/03/25/yum-and-kickstart/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
