<?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/"
	>

<channel>
	<title>BarryODonovan.com &#187; Links</title>
	<atom:link href="http://www.barryodonovan.com/index.php/category/links/feed" rel="self" type="application/rss+xml" />
	<link>http://www.barryodonovan.com</link>
	<description>Thoughts, ramblings and rants...</description>
	<lastBuildDate>Wed, 18 Jan 2012 10:31:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Today&#8217;s Links &#8211; 2012-01-18</title>
		<link>http://www.barryodonovan.com/index.php/2012/01/18/todays-links-2012-01-18</link>
		<comments>http://www.barryodonovan.com/index.php/2012/01/18/todays-links-2012-01-18#comments</comments>
		<pubDate>Wed, 18 Jan 2012 10:31:16 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[My Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=398</guid>
		<description><![CDATA[famfamfam.com: Silk Icons - “Silk” is a smooth, free icon set, containing over 700 16-by-16 pixel icons in strokably-soft PNG format. Read the Docs - Read the Docs hosts documentation, making it fully searchable and easy to find. You can import your docs using &#8230; <a href="http://www.barryodonovan.com/index.php/2012/01/18/todays-links-2012-01-18">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<ul>
<li><a title="famfamfam.com: Silk Icons" href="http://www.famfamfam.com/lab/icons/silk/" rel="nofollow" target="_blank">famfamfam.com: Silk Icons</a> - “Silk” is a smooth, free icon set, containing over 700 16-by-16 pixel icons in strokably-soft PNG format.</li>
<li><a title="Read the Docs" href="http://readthedocs.org/" rel="nofollow" target="_blank">Read the Docs</a> - Read the Docs hosts documentation, making it fully searchable and easy to find. You can import your docs using any major version control system, including Mercurial, Git, Subversion, and Bazaar. We support webhooks so your docs get built when you commit code. There&#8217;s also support for versioning so you can build docs from tags and branches of your code in your repository.</li>
<li><a title="Glue" href="https://github.com/jorgebastida/glue" rel="nofollow" target="_blank">Glue</a> - Automatic Sprite (PNG+CSS) creation. Support for multi-sprite projects. Automatic crop of unnecessary transparent borders around source images. Configurable paddings per image, sprite or project. Optional .less output format. Automatic sprite images post-processing using OptiPNG. Sprite- and Project-level configuration via static config files. Configurable cache busting for sprite images.</li>
<li><a title="scrollorama" href="http://johnpolacek.github.com/scrollorama/" rel="nofollow" target="_blank">scrollorama</a> - The jQuery plugin for doing cool scrolly stuff.</li>
<li><a href="http://www.freshbooks.com/" target="_blank">FreshBooks</a> - The fastest way to track time, organise expenses and invoice clients.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2012/01/18/todays-links-2012-01-18/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk with SS7 via Wanpipe, Dahdi and libss7 – with ISUP SAM support</title>
		<link>http://www.barryodonovan.com/index.php/2012/01/12/asterisk-ss7-sam-support</link>
		<comments>http://www.barryodonovan.com/index.php/2012/01/12/asterisk-ss7-sam-support#comments</comments>
		<pubDate>Thu, 12 Jan 2012 08:05:08 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[My Links]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Recipes]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[asterisk chan_ss7]]></category>
		<category><![CDATA[chan_ss7]]></category>
		<category><![CDATA[dahdi ss7]]></category>
		<category><![CDATA[isup sam]]></category>
		<category><![CDATA[libss7]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[sam]]></category>
		<category><![CDATA[sangoma]]></category>
		<category><![CDATA[sangoma ss7]]></category>
		<category><![CDATA[ss7]]></category>
		<category><![CDATA[ss7 sam]]></category>
		<category><![CDATA[subsequent address message]]></category>
		<category><![CDATA[zaptel ss7]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=385</guid>
		<description><![CDATA[A howto on installing Asterisk with SS7 supported via libss7 on Sangoma hardware along with support for ISUP SAM messages. <a href="http://www.barryodonovan.com/index.php/2012/01/12/asterisk-ss7-sam-support">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After much head banging in bringing up an SS7 link with SAM support, I am documented what worked here.</p>
<p>Firstly, what is <em>SAM support</em>? One end of an SS7 link initialises a new call by sending an <em>Initial Address Message (IAM)</em>. All SS7 software stacks support this and usually it&#8217;s enough. One case where it&#8217;s not enough is when one wants to address a phone number with more than the E.164 standard max length of 16  (usually to pass additional information tacked on the start, end of or even replacing an A or B number). In this scenario, SS7 uses a <em>Subsequent Address Message (SAM)</em> to send the additional digits. Most / all mainstream Asterisk SS7 software stacks do not support this.</p>
<p>The platform and software used is as follows:</p>
<ul>
<li>Ubuntu 10.04 LTS standard CLI install;</li>
<li>dahdi-linux-complete-2.4.0 from the archives (<a title="dahdi-linux-complete-2.4.0" href="http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.4.0+2.4.0.tar.gz">direct link</a>);</li>
<li>a patched version of libss7 supporting SAM via SVN (see below);</li>
<li>a patched version of chan-dahdi via SVN (see below);</li>
<li>Asterisk 1.6.0.28 from the archives (<a href="http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-1.6.0.28.tar.gz">direct link</a>);</li>
<li>Asterisk Addons 1.6.0.6 from the archives (<a href="http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-addons-1.6.0.6.tar.gz">direct link</a>);</li>
<li>Sangoma Wanpipe 3.5.24 (<a href="ftp://ftp.sangoma.com/linux/current_wanpipe/wanpipe-3.5.24.tgz">direct link</a>).</li>
</ul>
<p><strong>Yes, I know some of the above are obsolete. Unfortunately it&#8217;s what&#8217;s required for everything to play nicely together. And, guess what, it works!</strong></p>
<h3>Before You Start</h3>
<p>Ensure you have all the necessary packages for building the packages:</p>
<pre>apt-get install build-essential libnewt-dev subversion    \
   libsqlite3-dev libsnmp-dev bison libtool flex          \
   autoconf2.13 libmysqlclient-dev</pre>
<p>You can assume the working directory is <em>/usr/local/src</em> in the following.</p>
<h3>Installing dahdi-linux-complete</h3>
<p>Download and extract dahdi-linux-complete into /usr/local/src. Then, in the same directory, create some symbolic links:</p>
<pre>ln -s dahdi-linux-complete-2.4.0+2.4.0/linux dahdi-linux
ln -s dahdi-linux-complete-2.4.0+2.4.0/tools dahdi-tools</pre>
<p>Now build dahdi-linux:</p>
<pre>cd dahdi-linux
make
make install</pre>
<p>Now move onto dahdi-tools:</p>
<pre>cd dahdi-tools
./configure
make menuconfig # (and select tools or accept defaults)
make
make install
make config</pre>
<h3>Installing libss7</h3>
<p>There is a patched version of Digium&#8217;s libss7 referred to as <em>Attila&#8217;s libss7 </em>available via SVN. Download and install it:</p>
<pre>svn co https://observer.router.hu/repos_pub/libss7/trunk alibss7
cd alibss7
make
make install</pre>
<h3>Installing Asterisk</h3>
<p>Download and extract the Asterisk 1.6.0.28 package reference above.</p>
<pre>cd asterisk-1.6.0.28</pre>
<p>Now this next bit <strong>is very important and easy to miss</strong> - you also need a patched version of chan_dahdi.c that is compatible with the patched version of libss7. This is also available from SVN:</p>
<pre>svn co https://observer.router.hu/repos_pub/chan_dahdi/trunk achan_dahdi</pre>
<p>Then copy it to your Asterisk source:</p>
<pre>cp achan_dahdi/chan_dahdi.c asterisk-1.6.0.28/channels/chan_dahdi.c</pre>
<p>Now continue with the Asterisk installation:</p>
<pre>./configure
make menuconfig
make
make install
make samples
make config</pre>
<h3>Install Asterisk Addons (optional)</h3>
<p>Download and unpack the above referenced add ons package and build and install:</p>
<pre>cd asterisk-addons-1.6.0.6
./configure
make menuconfig
make
make install
make samples</pre>
<h3>Sangoma Wanpipe</h3>
<p>I&#8217;m using one of Sangoma&#8217;s E1 / T1 interface cards and so I need Wanpipe also. I&#8217;m using version 3.5.24 and preceed as follows after unpacking:</p>
<pre>cd wanpipe-3.5.24./Setup install</pre>
<p>During the install, follow these prompts:</p>
<ul>
<li>select option 2 =&gt; Asterisk/Dahdi Support;</li>
<li>enter path /usr/local/src/dahdi-linux (for Zaptel path prompt);</li>
<li>select defaults for everything else;</li>
<li>you DO want to install start-up scripts;</li>
<li>you DO to configure wanpipe devices for DAHDI;</li>
<li>you DO want to generate /etc/asterisk/chan_dahdi.conf and:
<ul>
<li>select E1 / T1 as appropriate;</li>
<li>select line framing and encoding;</li>
<li>choose clock source;</li>
<li>select <em>Zaptel/Dahdi &#8211; PRI CPE</em> as signalling;</li>
<li>select <em>National ISDN 2</em> as switch type;</li>
<li>do not enable hardware DTMF detection;</li>
<li>use all channels;</li>
<li>select dial plan context as appropriate;</li>
</ul>
</li>
<li>and continue for other ports as necessary;</li>
<li>finally, choose Save cfg: Stop Asterisk &amp; Wanpipe now</li>
<li>you would like wanrouter to start on system boot;</li>
<li>and you would like to execute &#8216;dahdi_cfg&#8217; each time wanrouter starts.</li>
</ul>
<h3>Configuration Steps</h3>
<p>We now need to set various options in Wanpipe, Dahdi and Asterisk for SS7 as it&#8217;s PRI/ISDN by default.</p>
<p>Edit all <em>/etc/wanpipe/wanpipeX.conf</em> files as necessary and change:</p>
<pre> TDMV_DCHAN              = 16</pre>
<p>to</p>
<pre>TDMV_DCHAN              = 0</pre>
<p>Now edit <em>/etc/dahdi/system.conf</em> and change (for example):</p>
<pre>span=1,1,0,ccs,hdb3,crc4
bchan=1-15,17-31
echocanceller=mg2,1-15,17-31
hardhdlc=16</pre>
<p>to</p>
<pre>span=1,1,0,ccs,hdb3,crc4
bchan=2-31
echocanceller=mg2,2-31
mtp2=1</pre>
<p>which of course assumes signalling is on channel 1. If you have voice only links, you might need something like:</p>
<pre>span=1,0,0,ccs,hdb3,crc4bchan=1-31
echocanceller=mg2,2-31</pre>
<p>Lastly, we need to configure Asterisk. Replace lines such as:</p>
<pre>;Sangoma A102 port 1 [slot:4 bus:5 span:1]
switchtype=national
context=from-pstn
group=0
echocancel=yes
signalling=pri_cpe
channel =&gt;1-15,17-31</pre>
<p>with an appropriate configuration. Mine follows below with some edits and <strong>some important notes at the end</strong>:</p>
<pre>;Sangoma A102 port 1 [slot:4 bus:5 span:1]
switchtype=national
context=from-pstn
group=0
echocancel=yes

signaling=ss7
ss7type=itu
ss7_called_nai=dynamic
ss7_calling_nai=dynamic
ss7_internationalprefix=00
ss7_nationalprefix=0
ss7_subscriberprefix=
ss7_unknownprefix=
linkset=1
pointcode=1
adjpointcode=2
defaultdpc=3
networkindicator=national_spare
cicbeginswith=2
channel=2-31
sigchan=1</pre>
<ul>
<li>Set <em>pointcode, adjpointcode and defaultdpc</em> as appropriate;</li>
<li>set <em>networkindicator</em> as appropriate and ensure it matches the other end (you can see what you’re being sent and what you’re sending via <em>ss7 debug</em>;</li>
<li><em>cicsbeginwith</em> is normally 1 but the telco on my end are starting at 2 – this was <em>groping in the dark</em> diagnostics and issues such as no audio, CICs not in service when both sides claim they are, etc may point to misaligned CICs;</li>
<li>make sure you have configured <em>from-pstn</em> or the appropriate context in your<em>extensions.conf</em>.</li>
</ul>
<h3>Confirming Your Link Is Up</h3>
<p>Now start wanrouter <em>(/etc/init.d/wanrouter start)</em>; dahdi <em>(/etc/init.d/dahdi start);</em> and Asterisk <em>(/etc/init.d/asterisk start)</em>. You should see your link come up via logs available with the <em>dmesg</em> command. Launch the Asterisk console and check the status of your links:</p>
<pre>ast-deg1-1*CLI&gt; ss7 show cics 1
  CIC   DPC  DAHDI        STATE   BLOCKING
    2    3      2         Idle
    3    3      3         Idle
    4    3      4         Idle
    5    3      5         Idle
    6    3      6         Idle
    7    3      7         Idle
    8    3      8         Idle
    9    3      9         Idle
   10    3     10         Idle
   11    3     11         Idle
   12    3     12         Idle
   13    3     13         Idle
   14    3     14         Idle
   15    3     15         Idle
   16    3     16         Idle
   17    3     17         Idle
   18    3     18         Idle
   19    3     19         Idle
   20    3     20         Idle
   21    3     21         Idle
   22    3     22         Idle
   23    3     23         Idle
   24    3     24         Idle
   25    3     25         Idle
   26    3     26         Idle
   27    3     27         Idle
   28    3     28         Idle
   29    3     29         Idle
   30    3     30         Idle
   31    3     31         Idle</pre>
<p>You should now be okay to make test calls.</p>
<h3>Do You Need Professional Support / Consultancy?</h3>
<p>While I will try to respond to comments and questions on this blog, I don’t have the time to provide one on one assistance pro-bono. Professional consultancy on Asterisk and SS7 is available worldwide through my company, <a href="http://www.opensolutions.ie/">Open Solutions</a> with <a href="http://www.opensolutions.ie/about-us/contact">contact details here</a>.</p>
<h3>References</h3>
<p>For posterity, I have added Domjan Attila patched libss7 and chan_dahdi to GitHub:</p>
<ul>
<li><a href="https://github.com/barryo/attila-libss7">https://github.com/barryo/attila-libss7</a></li>
<li><a href="https://github.com/barryo/attila-libss7-chan_dahdi">https://github.com/barryo/attila-libss7-chan_dahdi</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2012/01/12/asterisk-ss7-sam-support/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011-01-02 – Today’s Links</title>
		<link>http://www.barryodonovan.com/index.php/2012/01/03/2011-01-02-todays-links</link>
		<comments>http://www.barryodonovan.com/index.php/2012/01/03/2011-01-02-todays-links#comments</comments>
		<pubDate>Tue, 03 Jan 2012 07:45:14 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[My Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=382</guid>
		<description><![CDATA[jQuery UI Bootstrap - a Bootstrap-themed kickstart for jQuery UI widgets - http://addyosmani.github.com/jquery-ui-bootstrap/ &#160;]]></description>
			<content:encoded><![CDATA[<ul>
<li><strong>jQuery UI Bootstrap</strong> - <small>a Bootstrap-themed kickstart for jQuery UI widgets - <a href="http://addyosmani.github.com/jquery-ui-bootstrap/">http://addyosmani.github.com/jquery-ui-bootstrap/</a></small>
<p>&nbsp;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2012/01/03/2011-01-02-todays-links/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011-12-19 &#8211; Today&#8217;s Links</title>
		<link>http://www.barryodonovan.com/index.php/2011/12/19/2011-12-10-todays-links</link>
		<comments>http://www.barryodonovan.com/index.php/2011/12/19/2011-12-10-todays-links#comments</comments>
		<pubDate>Mon, 19 Dec 2011 11:52:23 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[My Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=377</guid>
		<description><![CDATA[Some interesting links I came across over the weekend: Rickshaw is a JavaScript toolkit for creating interactive time series graphs - http://shutterstock.github.com/rickshaw/ CoffeeScript is a little language that compiles into JavaScript - http://coffeescript.org/ Chosen is a JavaScript plugin that makes long, unwieldy &#8230; <a href="http://www.barryodonovan.com/index.php/2011/12/19/2011-12-10-todays-links">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some interesting links I came across over the weekend:</p>
<ul>
<li>Rickshaw is a JavaScript toolkit for creating interactive time series graphs - <a href="http://shutterstock.github.com/rickshaw/">http://shutterstock.github.com/rickshaw/</a></li>
<li>CoffeeScript is a little language that compiles into JavaScript - <a href="http://coffeescript.org/">http://coffeescript.org/</a></li>
<li>Chosen is a JavaScript plugin that makes long, unwieldy select boxes much more user-friendly. It is currently available in both jQuery and Prototype flavors - <a href="http://harvesthq.github.com/chosen/">http://harvesthq.github.com/chosen/</a></li>
<li>Orbit: A Slick jQuery Image Slider Plugin - <a href="http://www.zurb.com/playground/orbit-jquery-image-slider">http://www.zurb.com/playground/orbit-jquery-image-slider</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/12/19/2011-12-10-todays-links/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2011-11-04 &#8211; Today&#8217;s Links</title>
		<link>http://www.barryodonovan.com/index.php/2011/11/04/2011-11-04-todays-links</link>
		<comments>http://www.barryodonovan.com/index.php/2011/11/04/2011-11-04-todays-links#comments</comments>
		<pubDate>Fri, 04 Nov 2011 11:14:17 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[My Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=373</guid>
		<description><![CDATA[less - The dynamic stylesheet language. LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js. Ender &#8211; a full featured package manager for &#8230; <a href="http://www.barryodonovan.com/index.php/2011/11/04/2011-11-04-todays-links">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3><a href="http://lesscss.org/">less</a> - The dynamic stylesheet language.</h3>
<p>LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js.</p>
<h3><a href="http://ender.no.de/">Ender</a> &#8211; a full featured package manager for your browser.</h3>
<p>It allows you to search, install, manage, and compile front-end javascript packages and their dependencies for the web. We like to think of it as <a href="https://github.com/isaacs/npm">NPM</a>&#8216;s little sister.</p>
<h3>TWITTER <a href="https://github.com/twitter/bootstrap">BOOTSTRAP</a></h3>
<p>Bootstrap is Twitter&#8217;s toolkit for kickstarting CSS for websites, apps, and more. It includes base CSS styles for typography, forms, buttons, tables, grids, navigation, alerts, and more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/11/04/2011-11-04-todays-links/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So I&#8217;ve Made the Switch from SVN to Git&#8230;</title>
		<link>http://www.barryodonovan.com/index.php/2011/08/31/so-ive-made-the-switch-from-svn-to-git</link>
		<comments>http://www.barryodonovan.com/index.php/2011/08/31/so-ive-made-the-switch-from-svn-to-git#comments</comments>
		<pubDate>Wed, 31 Aug 2011 19:21:46 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[inex]]></category>
		<category><![CDATA[ixpmanager]]></category>
		<category><![CDATA[opensolutions]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[vimbadmin]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=361</guid>
		<description><![CDATA[&#8230;and I&#8217;m bloody delighted.  The straw finally came when Nick forced my hand for a project we wanted to release through our work in INEX. I was pushing for Google Code but he had his heart set on GitHub. Now, &#8230; <a href="http://www.barryodonovan.com/index.php/2011/08/31/so-ive-made-the-switch-from-svn-to-git">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>&#8230;and I&#8217;m bloody delighted. </strong></p>
<p>The straw finally came when <a href="http://www.foobar.org/">Nick</a> forced my hand for <a href="https://github.com/inex/IXP-Manager">a project</a> we wanted to release through our work in <a href="https://www.inex.ie/">INEX</a>. I was pushing for Google Code but he had his heart set on GitHub. Now, in fairness, GitHub has some SVN bindings but after some research, I decided to dive right in.</p>
<p>Now, there&#8217;s both a steep learning curve but also a complete change of mindset required from centralised source code management (SCM) with SVN to the distributed model of Git. In the end, most projects will decide on a canonical Git repository anyway which pushes you slightly back towards centralised but there&#8217;s still a world of a difference.</p>
<p>So, what&#8217;s so good about Git? Well, lots. But first and foremost is it&#8217;s exceptionally powerful yet simple branching and merging that <em>just works</em>. And works fast &#8211; remember, with Git everything is local.</p>
<p>One work flow that used to kill me in SVN was that you&#8217;d be implementing feature X but someone needed bug Y fixed immediately involving some of the same code. Getting just the fix for Y in was tough and complicated. And branching in SVN isn&#8217;t quick or simple. In Git, I branch from the main development branch for every new feature, bug fix, etc and then merge what I need between them and back into develop when they&#8217;re ready to be pushed back to the agreed canonical repository.</p>
<p>I&#8217;ve been so impressed with Git that I&#8217;ve moved an open source project we created in <a href="http://www.opensolutions.ie/">Open Solutions</a> over to Github: <a href="https://github.com/opensolutions/ViMbAdmin/wiki">ViMbAdmin</a>. I&#8217;ve also forced the rest of my team in <a href="http://www.opensolutions.ie/">Open Solutions</a> over to Git and migrated a number of customer projects already. <strong>And we&#8217;re reaping productivity rewards!</strong></p>
<p>How we work Git for projects was taken from this excellent post which I would fully recommend: <a href="http://nvie.com/posts/a-successful-git-branching-model/">A successful Git branching model</a>.</p>
<h2>Useful Git Links:</h2>
<ul>
<li>Git for SVN Users: <a href="http://git.or.cz/course/svn.html">http://git.or.cz/course/svn.html</a></li>
<li>Git SVN Comparison: <a href="https://git.wiki.kernel.org/index.php/GitSvnComparison">https://git.wiki.kernel.org/index.php/GitSvnComparison</a></li>
<li>Git&#8217;s own website: <a href="http://git-scm.com/">http://git-scm.com/</a></li>
<li>Git Cheat Sheets: <a href="http://help.github.com/git-cheat-sheets/">http://help.github.com/git-cheat-sheets/</a></li>
<li>The excellent book <em>Version Control with Git</em> (from <a href="http://www.amazon.co.uk/gp/product/0596520123/ref=oss_product">Amazon</a>)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/08/31/so-ive-made-the-switch-from-svn-to-git/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Duke Nukem Never Comes Early</title>
		<link>http://www.barryodonovan.com/index.php/2011/06/02/duke-nukem-never-comes-early</link>
		<comments>http://www.barryodonovan.com/index.php/2011/06/02/duke-nukem-never-comes-early#comments</comments>
		<pubDate>Thu, 02 Jun 2011 09:24:14 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=337</guid>
		<description><![CDATA[I&#8217;m not a gamer and I never played Duke Nukem. But I was always taken by this article: &#8220;Learn to Let Go: How Success Killed Duke Nukem&#8221; which is required reading for anyone developing software products. On May 6, 2009, everything &#8230; <a href="http://www.barryodonovan.com/index.php/2011/06/02/duke-nukem-never-comes-early">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not a gamer and I never played Duke Nukem. But I was always taken by this article: &#8220;<a href="http://www.wired.com/magazine/2009/12/fail_duke_nukem/">Learn to Let Go: How Success Killed Duke Nukem</a>&#8221; which is required reading for anyone developing software products.</p>
<blockquote><p>On May 6, 2009, everything ended. Drained of funds after so many years of work, the game’s developer,<a href="http://www.3drealms.com/">3D Realms</a>, told its employees to collect their stuff and put it in boxes. The next week, the company was sued for millions by its publisher for failing to finish the sequel.</p></blockquote>
<p>It looks like someone else is going to release Duke Nukem now but they&#8217;ve delayed the release date in hilarious fashion (hilarious assuming you&#8217;ve read the above article):</p>
<p><object width="640" height="390"><param name="movie" value="http://www.youtube.com/v/5VFFR-5a-Ko&amp;rel=0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed type="application/x-shockwave-flash" width="640" height="390" src="http://www.youtube.com/v/5VFFR-5a-Ko&amp;rel=0&amp;hl=en_US&amp;feature=player_embedded&amp;version=3" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/06/02/duke-nukem-never-comes-early/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curtains for SGU and the Stargate franchise</title>
		<link>http://www.barryodonovan.com/index.php/2011/04/18/curtains-for-sgu-and-the-stargate-franchise</link>
		<comments>http://www.barryodonovan.com/index.php/2011/04/18/curtains-for-sgu-and-the-stargate-franchise#comments</comments>
		<pubDate>Mon, 18 Apr 2011 07:27:06 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=335</guid>
		<description><![CDATA[Curtains for SGU and the Stargate franchise: it was indeed a terrific ride which never failed to excite the sci-fi loving geeky kid hidden inside of me. <a href="http://www.barryodonovan.com/index.php/2011/04/18/curtains-for-sgu-and-the-stargate-franchise">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a sad way to start a Monday when I browse the handful of feeds on my RSS aggregator  and read from an entry entitled <em><a href="http://josephmallozzi.wordpress.com/2011/04/17/april-17-2011-until-we-meet-again/">until we meet again</a></em> on ﻿﻿Joseph Mallozzi&#8217;s  Weblog (Stargate Executive Producer and writer) that the end has arrived:</p>
<blockquote><p>That was the title of the email I received from Brad Wright late yesterday, an email confirming the worst.  Despite his best efforts and a situation so fluid it vacillated from “almost yes” to “probably not” and back to “almost yes” on any given week, final word had come down.  There would be no SGU movie. Stargate, that had spanned fourteen years, 354 episodes, two DVD movies – that had helped build a network and establish itself as a studio’s most successful television franchise was coming to an end.  It was a terrific ride and, while it would have been great to give the fans that final chapter, that last crossover movie in which Brad had envisioned incorporating elements from all three shows (SG-1, SGA, and SGU), the truth is television is a fickle business.  When it comes down to decision time, it’s less”What have you accomplished?” and more “What have you done for me lately?”.</p></blockquote>
<p>It was indeed a terrific ride which never failed to excite the sci-fi loving geeky kid hidden inside of me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/04/18/curtains-for-sgu-and-the-stargate-franchise/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re IPv6 Ready! Are you?</title>
		<link>http://www.barryodonovan.com/index.php/2011/03/29/were-ipv6-ready-are-you</link>
		<comments>http://www.barryodonovan.com/index.php/2011/03/29/were-ipv6-ready-are-you#comments</comments>
		<pubDate>Tue, 29 Mar 2011 10:15:34 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[inex]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linkedin]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=308</guid>
		<description><![CDATA[Over in INEX, we just launched a new initiative to promote and increase awareness of IPv6 among content owners and businesses generating revenue from an online presence. This project is called IPv6 Ready and it is essential a certification program &#8230; <a href="http://www.barryodonovan.com/index.php/2011/03/29/were-ipv6-ready-are-you">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ipv6ready.ie/verify/0315035eadbc9b8a5cafb162c6c67810dd4808ef"><img class="alignleft" title="IPv6 Ready" src="http://0-badges.ipv6ready.ie/0/31/50/35/0315035eadbc9b8a5cafb162c6c67810dd4808ef-l.png" alt="IPv6 Ready" width="160" height="200" /></a>Over in <a href="https://www.inex.ie/">INEX</a>, we just launched a new initiative to promote and increase awareness of IPv6 among content owners and businesses generating revenue from an online presence.</p>
<p>This project is called <a href="http://www.ipv6ready.ie/">IPv6 Ready</a> and it is essential a certification program for websites that are IPv6 ready to one of two standards:</p>
<p><strong>Gold: </strong>The website has a AAAA (IPv6) DNS record; and</p>
<p><strong>Platinum: </strong>At least one of the websites DNS name servers is additionally IPv6 enabled.</p>
<p><a href="http://www.ipv6ready.ie/"><img class="alignright" title="IPv6 Pending" src="http://www.ipv6ready.ie/badges/no/l.png" alt="IPv6 Pending" width="160" height="200" /></a>For those websites that are not IPv6 enabled (and in many cases this is dependent on a third party hosting company), we also have a very cool IPv6 Pending badge which you can use to let your customers know that you are IPv6 aware.</p>
<p>The badges shown here are the <em>large</em> versions but we also have an extra large, medium and small so you&#8217;ll find an appropriate one for your site.</p>
<p><strong>How do you get your badges?</strong> Easy, just head over to <a href="http://www.ipv6ready.ie/">IPv6Ready.ie</a> and register your site. Once you complete the simple process, you&#8217;ll be emailed all four personalised badges!</p>
<p><strong>Help us make this a success!</strong> Please repost, blog, tweet and spread the word any way you can to help us raise awareness and push IPv6 forward &#8211; even just a little. <strong>If nothing else, please register and display a badge!</strong> You&#8217;ll also get a link <a href="http://www.ipv6ready.ie/verify/0315035eadbc9b8a5cafb162c6c67810dd4808ef">such as this</a> to your own certificate!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/03/29/were-ipv6-ready-are-you/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Doctrine ORM with Zend Application</title>
		<link>http://www.barryodonovan.com/index.php/2011/03/11/using-doctrine-orm-with-zend-application</link>
		<comments>http://www.barryodonovan.com/index.php/2011/03/11/using-doctrine-orm-with-zend-application#comments</comments>
		<pubDate>Fri, 11 Mar 2011 11:44:45 +0000</pubDate>
		<dc:creator>Barry O'Donovan</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[doctrine orm]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.barryodonovan.com/?p=301</guid>
		<description><![CDATA[We&#8217;ve just published the first in a serious of hidden treasures articles from our ViMbAdmin application over on the company blog: In this first of a serious of articles where we delve into some of the hidden treasures in our ViMbAdmin &#8230; <a href="http://www.barryodonovan.com/index.php/2011/03/11/using-doctrine-orm-with-zend-application">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just published the first in a serious of hidden treasures articles from our <a href="http://www.opensolutions.ie/open-source/vimbadmin">ViMbAdmin</a> application over on the <a href="http://www.opensolutions.ie/blog/2011/03/using-doctrine-orm-with-zend-application/">company blog</a>:</p>
<blockquote><p>In this first of a serious of articles where we delve into some of the hidden treasures in our <a href="http://code.google.com/p/vimbadmin/">ViMbAdmin</a> application, we look at how to integrate Doctrine ORM with Zend – and specifically Zend_Application and Zend_Controller.</p></blockquote>
<p>As all the code is available with the GPL license online, I didn&#8217;t over explain the set-up but I&#8217;d love some feedback on whether I&#8217;ve been too obscure for the article to be useful at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryodonovan.com/index.php/2011/03/11/using-doctrine-orm-with-zend-application/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

