<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.7" -->
<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>AlephZarro</title>
	<link>http://alephzarro.com/blog</link>
	<description>Viktor Zigo</description>
	<pubDate>Fri, 23 Apr 2010 12:20:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.7</generator>
	<language>en</language>
			<item>
		<title>XPather 1.4 on Firefox 3</title>
		<link>http://alephzarro.com/blog/2008/03/16/xpather-14-on-firefox-3/</link>
		<comments>http://alephzarro.com/blog/2008/03/16/xpather-14-on-firefox-3/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 14:19:21 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>news</dc:subject><dc:subject>XPather</dc:subject><dc:subject>news</dc:subject><dc:subject>projects</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2008/03/16/xpather-14-on-firefox-3/</guid>
		<description><![CDATA[ What to say. I made Firefox 3 compatibility update of XPather. Go, and get it from XPather’s site or soon also from AMO. Bye.
Oh yes, since FF 3 beta 4, the DOMinspector is not anymore distributed with FF. You need to install it as a separate extension.
Oh, XPather has always been just a small [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" title="XPather" alt="XPather" src="http://alephzarro.com/images/xpather_icon.png" /> What to say. I made Firefox 3 compatibility update of XPather. Go, and get it from <a href="http://xpath.alephzarro.com/">XPather’s site</a> or soon also from <a href="https://addons.mozilla.org/firefox/1192/">AMO</a>. Bye.</p>
<p>Oh yes, since FF 3 beta 4, the DOMinspector is not anymore distributed with FF. You need to install it as a <a href="https://addons.mozilla.org/en-US/firefox/addon/6622">separate extension</a>.</p>
<p>Oh, XPather has always been just a small development-utility toy-project, though it helps (a lot?). Anyway, the facts are inspiring: 2,5 year old; 58000 downloads; very positive feedback; $7 donations (+5 empty promises); $27 adsense. The mission: <em>contribution to public</em> successful. Isn&#8217;t it? ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2008/03/16/xpather-14-on-firefox-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Easy cron scheduling in Ruby.</title>
		<link>http://alephzarro.com/blog/2007/12/19/easy-cron-scheduling-in-ruby/</link>
		<comments>http://alephzarro.com/blog/2007/12/19/easy-cron-scheduling-in-ruby/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 23:15:29 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>cron</dc:subject><dc:subject>linux</dc:subject><dc:subject>news</dc:subject><dc:subject>project</dc:subject><dc:subject>projects</dc:subject><dc:subject>ruby</dc:subject><dc:subject>scheduling</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/12/19/easy-cron-scheduling-in-ruby/</guid>
		<description><![CDATA[You  do Ruby. You are on *nix. You have a task you need to schedule using cron from your scripts. Later you schedule another task.  After some time, and probably from another script, you want to unschedule/cancel the first task &#8230; How do you do it?
Fetch CronEdit &#8230;

    sudo gem [...]]]></description>
			<content:encoded><![CDATA[<p>You  do Ruby. You are on *nix. You have a task you need to schedule using cron from your scripts. Later you schedule another task.  After some time, and probably from another script, you want to unschedule/cancel the first task &#8230; How do you do it?</p>
<p>Fetch <a href="http://cronedit.rubyforge.org/">CronEdit</a> &#8230;</p>
<pre>
    sudo gem install cronedit</pre>
<p>&#8230;.and just do it:</p>
<pre>
    Crontab.Add  'agent1', '5,35 0-23/2 * * * echo agent1'
    ...
    Crontab.Add  'agent2', {:minute=>5, :command=>'echo 42'}
    ...
    Crontab.Remove 'agent1'</pre>
<p>You can CRUD your tasks independently (based on the IDs you give them). The schedule can be in Hash notation, or the standard cron text definition.</p>
<p><strong>UPDATE:</strong> The new version of library allows you to do some more tricks. First of all, you can manipulate groups of definitions (<em>bulk/group operations</em>). Besides modifications of the actual crontab, you can do now all operations upon files or in memory. And you can combine these &#8216;devices&#8217; as needed. Let me show you a small example:</p>
<pre>
    fc = FileCrontab.new '/jobs/mail-delivery.cron'
    Crontab.Merge fc
    ...
    Crontab.Subtract fc</pre>
<p>The previous snippet loads a group of cron definitions from file and merges them with the current system crontab. On the last line the same group of definitions is removed from the system crontab.</p>
<p>See <a href="http://cronedit.rubyforge.org/">documentation</a> for more details and examples.<br />
<strong>UPDATE:</strong> A related article discusses the library in context of <a href="http://www.rubyagent.com/?p=19">scheduling of Ruby Agents using Cron</a>. </p>
<p>In Ruby there are few schedulers out there, for example the most advanced: <a href="http://openwferu.rubyforge.org/scheduler.html">openwferu scheduler</a>. They are great for many task, yet&#8230;. they are Ruby proprietary schedulers and the host ruby script needs to be running. If you need native cron scheduling, for whatever reason, go for CronEdit.
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/12/19/easy-cron-scheduling-in-ruby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rhotoalbum - a ruby photo album generator</title>
		<link>http://alephzarro.com/blog/2007/11/15/rhotoalbum-a-ruby-photo-album-generator/</link>
		<comments>http://alephzarro.com/blog/2007/11/15/rhotoalbum-a-ruby-photo-album-generator/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 08:19:01 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>news</dc:subject><dc:subject>photo</dc:subject><dc:subject>projects</dc:subject><dc:subject>ruby</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/11/15/rhotoalbum-a-ruby-photo-album-generator/</guid>
		<description><![CDATA[Do you want to have photo albums (on your site)? I did. I wanted a comfortable but not &#8220;over-web20-ized&#8221; user experience, and above all, simple and pragmatic content management/control. 
Believe or not, nothing I came across was just the right thing. Too heavy, too weak, too ajaxy, unacceptable license, etc. At the end of the [...]]]></description>
			<content:encoded><![CDATA[<p>Do you want to have photo albums (on your site)? I did. I wanted a comfortable but not &#8220;over-web20-ized&#8221; user experience, and above all, simple and pragmatic content management/control. </p>
<p>Believe or not, nothing I came across was just the right thing. Too heavy, too weak, too ajaxy, unacceptable license, etc. At the end of the day I found out I had not had to look too far. <a href="http://www.valibuk.net/" title="Blog of Ondrej Jaura">Ondrej Jaura</a> (a good friend of mine) created a simple command-line album generator - <a href="http://rhotoalbum.rubyforge.org/" title="Rhotoalbum - a simple ruby photoalbum generator">Rhotoalbum</a>. Bonus: it is written in ruby :)<br />
You treat your images as ordinary files in directories (which stand for albums) and run a generation command. That&#8217;s all you need to do. You add new images or change something? Just run the same script - anytime. It creates necessary thumbnails, and simple style-able index pages. For slideshow purposes it (optionally) integrates with nice <a href="http://slideshow.triptracker.net/">TripTracker</a>.</p>
<p>My way of appreciation of my Ondrej&#8217;s great work was &#8230; to contribute the project and help out in making it better. This resulted into a release of a new stable <a href="http://www.valibuk.net/?p=58" title="Rhotoalbum version 0.3 released">version 0.3</a> these days.</p>
<p>Well, I started this post saying I wanted some place for our photos to show them to friends occasionally. Here is are our Rhoto <a href="http://alephzarro.com/foto">photo gallery</a>. Another showcase for Rhotoalbum is <a href="http://www.valibuk.net/photoalbum/">Ondrej&#8217;s photo gallery</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/11/15/rhotoalbum-a-ruby-photo-album-generator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Acquisition of LumberJaczk Technologies</title>
		<link>http://alephzarro.com/blog/2007/07/26/acquisition-of-lumberjaczk-technologies/</link>
		<comments>http://alephzarro.com/blog/2007/07/26/acquisition-of-lumberjaczk-technologies/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 11:02:32 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>business</dc:subject><dc:subject>lumberjaczk</dc:subject><dc:subject>news</dc:subject><dc:subject>projects</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/07/26/acquisition-of-lumberjaczk-technologies/</guid>
		<description><![CDATA[In Summer 2005 I started few home-made experiments with workflows for governing complex processes - such as system integration on Web layer. I did this as a part of my PhD activities. The main motivation had been my deep disappointment with all the &#8220;enterprisy&#8221; workflow systems bull**** laying around. I needed something very dynamic, light-weight [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" title="LumberJaczk" alt="LumberJaczk" src="http://alephzarro.com/images/lumberjaczk.gif" />In Summer 2005 I started few home-made experiments with workflows for governing complex processes - such as system integration on Web layer. I did this as a part of my PhD activities. The main motivation had been my deep disappointment with all the &#8220;enterprisy&#8221; workflow systems bull**** laying around. I needed something very <em>dynamic, light-weight and portable</em>. I needed a <em>hammer</em> !</p>
<p>I engaged with <a href="http://developer.mozilla.org/">Mozilla platform</a> and built a workflow engine on top of this unbelievably feature-rich and mature open-source technology. This platform, surprisingly, allowed for much more. So I added libraries for Web navigation, information extraction, rich GUI, etc.</p>
<p>At the end of the day, there it was: a system for development and execution of full-fledged personalized on-top-Web applications. Users could create and share their own scenarios, own personal agents for searching best cars, checking back account, performing complex transactions on portals, or making any mashups crimes. You can learn more about it on the <a href="http://lumberjaczk.org">LumberJaczk  homepage</a>. From the very beginning the system was meant to be open-source as it really fits the model. </p>
<p>In mids 2006 a wave of strong interest arouse from commercial segments. Unfortunately this interest clashed with the open-source strategy.</p>
<p><img align="right" title="Lixto Software GmbH." alt="Lixto Software GmbH." src="http://alephzarro.com/images/logolixto.gif" />May 2007 - The end of the story (or beginning of another one). <a href="http://www.lixto.com"><em>Lixto Software GmbH</em></a> acquires the LumberJaczk technologies. Lixto is at the moment one of the market-leaders in the field of Information Extraction and a solution provider for Online Market Intelligence, Web Process Integration and Metasearch. Openly, the current plan of the company is to keep the source closed. </p>
<p>I hope interesting things will happen!</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/07/26/acquisition-of-lumberjaczk-technologies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JSSh for Firefox on Linux (because Firewatir loves it)</title>
		<link>http://alephzarro.com/blog/2007/03/12/jssh-for-firefox-on-linux-because-firewatir-loves-it/</link>
		<comments>http://alephzarro.com/blog/2007/03/12/jssh-for-firefox-on-linux-because-firewatir-loves-it/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 17:56:01 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>tech</dc:subject>
	<dc:subject>howto</dc:subject><dc:subject>firefox</dc:subject><dc:subject>howto</dc:subject><dc:subject>ruby</dc:subject><dc:subject>tech</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/03/12/jssh-for-firefox-on-linux-because-firewatir-loves-it/</guid>
		<description><![CDATA[It goes like this: Firewatir, the Firefox port of WATIR, depends on JSSh. And JSSh does not install &#38; run nicely on Linux. Clear ?
Annoyed by this situation, I looked what&#8217;s the problem with this JSSh. To make the story short, success - downlaod the working JSSh for Linux here.
Update 2007-04-11: modified to work also [...]]]></description>
			<content:encoded><![CDATA[<p>It goes like this: <a href="http://code.google.com/p/firewatir/">Firewatir</a>, the <a href="http://www.spreadfirefox.com/?q=affiliates&#038;id=141166&#038;t=1">Firefox</a> port of <a href="http://www.openqa.org/watir/">WATIR</a>, depends on <a href="http://www.croczilla.com/jssh">JSSh</a>. And JSSh does not install &amp; run nicely on Linux. Clear ?<br />
Annoyed by this situation, I looked what&#8217;s the problem with this JSSh. To make the story short, success - <a href="http://alephzarro.com/files/jssh-20070312-linux.xpi"><strong>downlaod the working JSSh for Linux here</strong></a>.<br />
<font color="#e05000">Update 2007-04-11: modified to work also with FF 1.5.3+</font></p>
<p>Oh, by the way, JSSh stands for <em>JavaScript Shell</em> and it allows you remotely manipulate Firefox remotely. <em>Firewatir</em> gives you a higher-level toolkit for &#8220;Web Application Testing in Ruby&#8221; (of course not Web scraping ;>>> ). Talking about it let me show how to install the whole thing:</p>
<p>(<strong>0.</strong> I would recommand to create a dedicated Firefox profile run Firefox in a dedicated profile <code>firefox -ProfileManager</code>)</p>
<p><strong>1.</strong> <a href="http://alephzarro.com/files/jssh-20070312-linux.xpi">Downlaod and install JSSh extension</a> to Firefox and restart it.</p>
<p><strong>2.</strong> Start Firefox:<br />
<code>firefox -P testyard -jssh</code></p>
<p>The JSSh should be up, listening on port 9997 (note: consider security issues). You should be able to communicate with Firefox via telnet. For example:</p>
<p><code>&gt;telnet localhost 9997<br />
Trying 127.0.0.1...<br />
Connected to localhost.<br />
Escape character is '^]'.<br />
Welcome to the Mozilla JavaScript Shell!<br />
&gt; 1+1<br />
2<br />
&gt; help()<br />
....<br />
&gt; exit()</code></p>
<p><strong>3.</strong> <a href="http://code.google.com/p/firewatir/downloads/list">Dowload firewatir</a> (you have to do it from its homepage, it is not on rubyforge yet). Use the mswin32 version, although you are on Linux. Install:<br />
<code>sudo gem install firewatir-1.0.1-mswin32.gem </code></p>
<p>3. Get to the real ruby test. For example:</p>
<div class="synthi_code" style="display:none;" id ="plain_synthi_4c544a8c22831">
<div class="synthi_header" style="font-weight:bold;"> Ruby <span  class="synthi_button"style="font-weight:lighter;font-size:smaller;">[<a href="#" onClick="javascript:document.getElementById('styled_synthi_4c544a8c22831').style.display='block';document.getElementById('plain_synthi_4c544a8c22831').style.display='none';return false">Show Styled Code</a>]:</span></div>
<pre style="width:100%;overflow:auto;">
require 'rubygems'
require 'firewatir'
include FireWatir

ff=Firefox.new
ff.goto(&#034;http://www.google.com/ncr&#034;)
ff.text_field(:name,&#034;q&#034;).set(&#034;ruby&#034;)
ff.button(:value,&#034;Google Search&#034;).click
puts ff.element_by_xpath(&#034;//a[@class='l']&#034;).text
ff.close
</pre>
</div>
<div class="synthi_code" style="display:block;" id ="styled_synthi_4c544a8c22831">
<div class="synthi_header" style="font-weight:bold;"> Ruby <span  class="synthi_button"style="font-weight:lighter;font-size:smaller;">[<a href="#" onClick="javascript:document.getElementById('plain_synthi_4c544a8c22831').style.display='block';document.getElementById('styled_synthi_4c544a8c22831').style.display='none';return false">Show Plain Code</a>]:</span></div>
<div class="ruby" style="font-family: monospace;">
<ol>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">require</span> &#8216;rubygems&#8217;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">require</span> &#8216;firewatir&#8217;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">include</span> FireWatir</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ff=Firefox.<span style="color:#9900CC;">new</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ff.<span style="color:#9900CC;">goto</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;http://www.google.com/ncr&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ff.<span style="color:#9900CC;">text_field</span><span style="color:#006600; font-weight:bold;">&#40;</span>:name,<span style="color:#996600;">&quot;q&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">set</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;ruby&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ff.<span style="color:#9900CC;">button</span><span style="color:#006600; font-weight:bold;">&#40;</span>:value,<span style="color:#996600;">&quot;Google Search&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">click</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">puts</span> ff.<span style="color:#9900CC;">element_by_xpath</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;//a[@class=&#8217;l']&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">text</span></div>
</li>
<li style="font-weight: bold;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ff.<span style="color:#9900CC;">close</span> </div>
</li>
</ol>
</div>
</div>
<p>PS: For those interested in what did I  fix: I took one of the latest builds from  <a href="http://people.mozilla.com/~davel/jssh/">Dave</a>, repackaged it so that it installs &#8220;properly&#8221; - as an extension of &#8220;21st century&#8221; - and added the config GUI shipped originally with the JSSh. It was tested with FF 2.0.0.1 on Ubuntu (Eft), Kubuntu, Gentoo. <font color="#e05000">Update: tested also on FF 1.5(.0.7)</font>
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/03/12/jssh-for-firefox-on-linux-because-firewatir-loves-it/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Subversion: move, migrate, split</title>
		<link>http://alephzarro.com/blog/2007/01/13/subversion-move-migrate-split/</link>
		<comments>http://alephzarro.com/blog/2007/01/13/subversion-move-migrate-split/#comments</comments>
		<pubDate>Sat, 13 Jan 2007 11:56:00 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>tech</dc:subject>
	<dc:subject>howto</dc:subject><dc:subject>howto</dc:subject><dc:subject>svn</dc:subject><dc:subject>tech</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/01/13/subversion-move-migrate-split/</guid>
		<description><![CDATA[Common problems: a repository in on server A and needs to be migrated onto server B; a single repository needs to be spit into few separate ones;  what to do with local working copies after server migration; the repository storage method needs to be changes e.g. from berkleyDB to file-system.
In some simple cases the [...]]]></description>
			<content:encoded><![CDATA[<p>Common problems: a repository in on server A and needs to be migrated onto server B; a single repository needs to be spit into few separate ones;  what to do with local working copies after server migration; the repository storage method needs to be changes e.g. from berkleyDB to file-system.</p>
<p>In some simple cases the repository can be moved directly on file system level. However, the following steps describes a more complex case, in a generally applicable way: a migration and split of repositories from one server to another, fixing the local working copies. Assume this situation:</p>
<pre>
<strong>ServerA,</strong> repository: <strong>projects</strong>  path: <strong>/proj1</strong>
                            path: <strong>/proj2</strong></pre>
<p>-></p>
<pre><strong>ServerB</strong>: repository: <strong>proj1</strong>     path: <strong>/</strong>
<strong>ServerB</strong>: repository: <strong>proj2</strong>     path: <strong>/</strong></pre>
<p>For example: https://svn.server.com/projects/proj1 -> https://mysvn.com/proj1</p>
<p><strong>1. Export the repository on ServerA</strong><br />
<code>svnadmin dump <em>/path/to/repos/</em>projects > projects.dump</code></p>
<p><strong>2. Split / filter out repositories</strong><br />
<code>svndumpfilter include proj1 < projects.dump > proj1.dump<br />
svndumpfilter include proj2 < projects.dump > proj2.dump</code></p>
<p><strong>3. Fix the paths</strong><br />
As the dump is in a text format you can easily edit it to change prune the projects root directory. You do it:</p>
<ol>
<li>by renaming the paths: <br />
<code>sed -e "s/Node-path: projects\//Node-path: /" < proj1.dump > proj1-fixed.dump</code> <br />
The same for proj2.dump
</li>
<li>and removing the section that creates the root directory, i.e. delete the following lines form somewhere at the beginning of  both dumps proj1-fix.dump and proj2-fix.dump:<br />
<code>Node-path: projects<br />
Node-action: add<br />
Node-kind: dir<br />
Prop-content-length: 10<br />
Content-length: 10</p>
<p>PROPS-END</code>
</li>
</ol>
<p><strong>4. Import the repositories on Server</strong><br />
Create a new repository for each project and import the dumps. (A detailed description of how to setup a Subversion (and friends) is in my <a href="http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/">previous post</a>)<br />
<code><br />
svnadmin create <em>/path/to/repos/</em>proj1<br />
svnadmin load <em>/path/to/repos/</em>proj1 < proj1-fixed.dump<br />
</code><br />
Do it analogically also for proj2.</p>
<p><strong>Done</strong><br />
Happy checkout :) After migration you&#8217;d rather check/modify/recreate the hooks, users for authentication (if you used some of those). And again, read the official <a href="http://svnbook.red-bean.com/">SVNBook</a> for details. </p>
<p><strong>Fixing existing working copies</strong><br />
If you don&#8217;t want to checkout but rather continue using existing working copies you can (cannot be done in case of some repository splits).</p>
<p>First of all, use </code><code>--force-uuid</code> option for <code>svnadmin load</code> (step 4). Then you can tweak the local copy by running (in the root of the local repo):<br />
<code>svn switch --relocate <em>http://ServerA/testproject https://ServerB/project</em> .</code></p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/01/13/subversion-move-migrate-split/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installation of Subversion on Ubuntu, with Apache, SSL, and BasicAuth.</title>
		<link>http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/</link>
		<comments>http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/#comments</comments>
		<pubDate>Sun, 07 Jan 2007 19:49:23 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>tech</dc:subject>
	<dc:subject>howto</dc:subject><dc:subject>apache</dc:subject><dc:subject>howto</dc:subject><dc:subject>svn</dc:subject><dc:subject>tech</dc:subject><dc:subject>ubuntu</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/</guid>
		<description><![CDATA[I did it again! Yet another installation of Subversion for &#8220;standard&#8221; project development purposes, i.e. using Apache2, WebDAV, SSL, Basic Authentication. In case I do it again &#8230;  and soon again, I recorded the installation howto logs.
NOTE: The target OS is Ubuntu Edgy 6.10, and Feisty. I use $NAME notation to refer to places [...]]]></description>
			<content:encoded><![CDATA[<p>I did it again! Yet another installation of <a href="http://subversion.tigris.org/">Subversion</a> for &#8220;standard&#8221; project development purposes, i.e. using Apache2, WebDAV, SSL, Basic Authentication. In case I do it again &#8230;  and soon again, I recorded the installation howto logs.</p>
<p>NOTE: The target OS is Ubuntu Edgy 6.10, and Feisty. I use <em>$NAME</em> notation to refer to places to be substituted by the installation specific values</p>
<p><strong>1. Install packages:</strong><br />
<code>sudo apt-get install subversion libapache2-svn libapache-mod-dav apache2</code></p>
<p><strong>2. Enable SSL:</strong><br />
<code>sudo a2enmod ssl<br />
sudo sh -c &quot;echo 'Listen 443' >> /etc/apache2/ports.conf&quot;<br />
</code></p>
<p><strong>3. Generate Certificate:</strong><br />
Ubuntu <strong>&lt;</strong> Feisty:<br />
<code>sudo apache2-ssl-certificate</code><br />
Use the server name to be used for access the web server.</p>
<p>Ubuntu <strong>&gt;=</strong> Feisty:  (thanx Roderik)<br />
<code>sudo apt-get install ssl-cert<br />
sudo mkdir /etc/apache2/ssl<br />
sudo /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem</code></p>
<p><strong>4. Create Virtual Host:</strong><br />
<code>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/<em>$SITENAME</em><br />
sudo vim /etc/apache2/sites-available/<em>$SITENAME</em></code><br />
change:<br />
<code>NameVirtualHost *:443<br />
&lt;VirtualHost *:443&gt;</code><br />
add:<br />
<code>SSLEngine on<br />
SSLCertificateFile /etc/apache2/ssl/apache.pem<br />
SSLProtocol all<br />
SSLCipherSuite HIGH:MEDIUM</code></p>
<p><strong>5. Enable the site:</strong><br />
<code>sudo a2ensite <em>$SITENAME</em><br />
sudo /etc/init.d/apache2 restart</code></p>
<p>A warning that complaints about failure of server name determination can be fixed by adding <code>ServerName <em>$SERVERNAME</em></code> to the main Apache config /etc/apache2/apache2.conf</p>
<p><strong>6. Adding repository(ies):</strong><br />
The following setup assumes we want to host multiple repositories.<br />
<code>sudo mkdir /var/svn<br />
sudo svnadmin create /var/svn/<em>$REPOS</em><br />
sudo chown -R www-data:www-data /var/svn/<em>$REPOS</em><br />
sudo chmod -R g+ws /var/svn/<em>$REPOS</em></code></p>
<p><strong>7. Adding Basic Authentication:</strong><br />
<code>sudo htpasswd2 -c -m /etc/apache2/dav_svn.passwd <em>$AUTH_USER</em></code></p>
<p><strong>8. Enable and configure WebDAV and SVN:</strong><br />
Add to /etc/apache2/mods-available/dav_svn.conf<br />
<code>DAV svn<br />
SVNParentPath /var/svn<br />
AuthType Basic<br />
AuthName "Subversion Repository"<br />
AuthUserFile /etc/apache2/dav_svn.passwd<br />
Require valid-user<br />
SSLRequireSSL</code></p>
<p>and for non-anonymous access comment out:<br />
<code>#&lt;LimitExcept GET PROPFIND OPTIONS REPORT&gt;<br />
#&lt;/LimitExcept&gt;</code></p>
<p>(optionally the same configuration can be set for particular virtual host only, i.e. /etc/apache2/sites-available/<em>$SITENAME</em>)</p>
<p><strong>9. Finalization:</strong> (guess what?)<br />
<code>sudo /etc/init.d/apache2 restart</code></p>
<p><strong>Testing:</strong><br />
Web access:<br />
<code>lynx https://localhost/svn/<em>$REPOS</em></code> exposes the repository.<br />
<code>lynx http://localhost/svn/<em>$REPOS</em></code> says: eat my shorts , i.e. 403-forbidden.</p>
<p>An initial import:<br />
<code>svn import --username <em>$AUTH_USER $A_FILE</em> https://localhost/svn/<em>$REPOS</em>/testdir -m &#8220;Testing&#8221;</code></p>
<p>&#8230; and check-out:<br />
<code>svn co --username <em>$AUTH_USER</em> https://localhost/svn/<em>$REPOS</em></code></p>
<p>To add a new repository just repeat the step 6 (without making the root directory of course).<br />
If you wish to configure a single repository only, instead of point 6:<br />
<code>sudo svnadmin create /var/svn<br />
sudo chown -R www-data:www-data /var/svn<br />
sudo chmod -R g+ws /var/svn</code></p>
<p>and in /etc/apache2/mods-available/dav_svn.conf (step 8) use this instead of SVNParentPath:<br />
<code>SVNPath /var/svn</code> </p>
<p>Above all, check the great <a href="http://svnbook.red-bean.com/">SVN Book</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2007/01/07/installation-of-subversion-on-ubuntu-with-apache-ssl-and-basicauth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XPather 1.3 on Firefox 2.0</title>
		<link>http://alephzarro.com/blog/2006/10/27/xpather-13-on-firefox-20/</link>
		<comments>http://alephzarro.com/blog/2006/10/27/xpather-13-on-firefox-20/#comments</comments>
		<pubDate>Fri, 27 Oct 2006 09:37:00 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>XPather</dc:subject><dc:subject>news</dc:subject><dc:subject>projects</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2006/10/27/xpather-13-on-firefox-20/</guid>
		<description><![CDATA[A new update of XPather compatible with Firefox 2.0 is out. (Oct 27 2006). Additionally it contains some new features and bugfixes, e.g. auto-expansion of DOM tree for multiple XPath results. Check out the complete changelog for details.
As usually it is available at XPather&#8217;s site, and in few weeks it will  appear also on [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" title="XPather" alt="XPather" src="http://alephzarro.com/images/xpather_icon.png" />A new update of XPather compatible with Firefox 2.0 is out. (Oct 27 2006). Additionally it contains some new features and bugfixes, e.g. auto-expansion of DOM tree for multiple XPath results. Check out the complete <a href="http://xpath.alephzarro.com/download#changelog">changelog</a> for details.</p>
<p>As usually it is available at <a href="http://xpath.alephzarro.com/">XPather&#8217;s site</a>, and in few weeks it will  appear also on Mozilla&#8217;s <a href="https://addons.mozilla.org/firefox/1192/">AMO</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2006/10/27/xpather-13-on-firefox-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Version of XPather 1.1</title>
		<link>http://alephzarro.com/blog/2006/09/29/new-version-of-xpather-11/</link>
		<comments>http://alephzarro.com/blog/2006/09/29/new-version-of-xpather-11/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 11:30:03 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>XPather</dc:subject><dc:subject>news</dc:subject><dc:subject>projects</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2006/09/29/new-version-of-xpather-11/</guid>
		<description><![CDATA[Hola hey! A new version of XPather is out since Sep 29 2006. Though it may take some time to appear also on AMO, it is already available at XPather&#8217;s site.
The new version brings few severe bugfixes, improvements, and two new features:

Cross-frame XPath evaluation - You can evaluate your XPaths from one place against all [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" title="XPather" alt="XPather" src="http://alephzarro.com/images/xpather_icon.png" />Hola hey! A new version of XPather is out since Sep 29 2006. Though it may take some time to appear also on <a href="https://addons.mozilla.org/firefox/1192/">AMO</a>, it is already available at <a href="http://xpath.alephzarro.com/">XPather&#8217;s site</a>.</p>
<p>The new version brings few severe bugfixes, improvements, and two new features:</p>
<ul>
<li><strong>Cross-frame XPath evaluation</strong> - You can evaluate your XPaths from one place against all frames/iframes/etc in the document.</li>
<li><strong>Handling of default namespaces</strong> - The documents with default namespaces can be queried.</li>
</ul>
<p>For the detailed list of changes check out the <a href="http://xpath.alephzarro.com/download#changelog">changelog</a>. All of you folks who have already installed XPather (and who have not deactivated the automatic extension updates) should get the updates automatically.</p>
<p>Enjoy!
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2006/09/29/new-version-of-xpather-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>On-top-of-Web Applications&#8217; Address: lumberjaczk.org</title>
		<link>http://alephzarro.com/blog/2006/06/01/on-top-of-web-applications-address-lumberjaczkorg/</link>
		<comments>http://alephzarro.com/blog/2006/06/01/on-top-of-web-applications-address-lumberjaczkorg/#comments</comments>
		<pubDate>Thu, 01 Jun 2006 17:37:44 +0000</pubDate>
		<dc:creator>viz</dc:creator>
		
	<dc:subject>projects</dc:subject>
	<dc:subject>news</dc:subject><dc:subject>lumberjaczk</dc:subject><dc:subject>meta search</dc:subject><dc:subject>mozilla firefox</dc:subject><dc:subject>news</dc:subject><dc:subject>projects</dc:subject><dc:subject>web extraction</dc:subject>
		<guid isPermaLink="false">http://alephzarro.com/blog/2006/06/01/on-top-of-web-applications-address-lumberjaczkorg/</guid>
		<description><![CDATA[Two weeks ago I announced the new project - the LumberJaczk. There I described it as: 
An open-source technology that enables better ways to get and use information on the Web. It let people run and create light-weight on-top-of-Web applications and share them with others. Hacking out your own &#8220;best flights search&#8221;, &#8220;personal investments monitor&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago I <a href="http://alephzarro.com/blog/2006/05/18/new-applications-on-top-of-the-web-lumberjaczk-is-comming/">announced the new project</a> - the LumberJaczk. There I described it as: <a title="LumberJaczk Project Homepage" href="http://lumberjaczk.org"><img align="right" title="LumberJaczk - On-top-of-Web applications" alt="LumberJaczk - On-top-of-Web applications" src="http://alephzarro.com/images/lumbersticker.gif" /></a></p>
<blockquote><p>An <em>open-source technology</em> that enables better ways to <em>get and use information on the Web</em>. It let people run and create <em>light-weight on-top-of-Web applications</em> and <em>share them with others</em>. Hacking out your own &#8220;best flights search&#8221;, &#8220;personal investments monitor&#8221; will be fun to do.</p></blockquote>
<p>Since yesterdays late night, the LumberJaczk has its official Web running public at:</p>
<div class="center"><a style="font-size: 1.6em" title="LumberJaczk - On-top-of-Web applications" href="http://lumberjaczk.org/">http://lumberjaczk.org</a></div>
<p>Besides the &#8220;obligatory&#8221; project information the site features few <strong>use-cases</strong> and <strong>screencasts</strong> showing the LumberJaczk in action. To keep you informed of what&#8217;s going on next subscribe to the <a href="http://alephzarro.com/blog/tag/lumberjaczk/feed">project news RSS feed</a>, or join/browse the <a href="http://groups.google.com/group/lumberjaczk">project mailing list</a>. I&#8217;m looking forward to hearing from you guys :)
</p>
]]></content:encoded>
			<wfw:commentRss>http://alephzarro.com/blog/2006/06/01/on-top-of-web-applications-address-lumberjaczkorg/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
