<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>5thPercentile.com devBlog</title>
<link>http://www.5thpercentile.com/devBlog/</link>
<description><![CDATA[while ( cash > 0 && location == pub ) { drink += guinness; continue; } else { goto home; break; }]]></description>
<language>en</language>
<copyright>Copyright 2009</copyright>
<lastBuildDate>Sat, 27 Sep 2008 02:06:00 +0000</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.33</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>Regular Expressions - spawn of Satan or Prometheus&apos; fire?</title>
<description><![CDATA[<p>I'm starting to realise that if you need to use regular expressions to control program flow you have a serious issue. </p>

<p>The corollary is that if you process strings without regular expressions you have a serious issue and that issue is that you are less than 30 and never read the llama book. :)<br />
</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/09/regular_express.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/09/regular_express.html</guid>
<category></category>
<pubDate>Sat, 27 Sep 2008 02:06:00 +0000</pubDate>
</item>
<item>
<title>Winforms is teh suck!!</title>
<description><![CDATA[<p>Seriously. Shit.</p>

<p>And yes it is because I can't get it to do what I need it to. But for Jaysus sake, why don't datagridview's have some 'ondatabound' events? </p>

<p>For fuck sake!!</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/09/winforms_is_teh.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/09/winforms_is_teh.html</guid>
<category>Winforms</category>
<pubDate>Thu, 25 Sep 2008 00:40:33 +0000</pubDate>
</item>
<item>
<title>Log4Net with ASP.NET</title>
<description><![CDATA[<p>You can read about it and set it up but it won't work for you and nobody tells you why.<br />
Essentially this is a permissions issue.<br />
You will first need to know that on Windows Server 2003 the user you needto worry about is not 'ASPNET' but 'NETWORK SERVICE'. In Win2k and XP the user is indeed 'ASPNET'.<br />
When you set up the Log4Net as shown in the exmaples on the Log4Net site it will work, the configuration will be correct etc. The problem will be that the entries will not appear in the Event Log.<br />
The reason is that the default Application Name (the 'Source' column in the event viewer) is governed by a key that must be added to the registry.<br />
The NETWORK SERVICE and ASPNET users do not have permission to set this key, so while the log messages are being passed to the Event Log, they are being dropped because there is no match application key in the registry and the users cannot create it.<br />
If your first impulse was to add the NETWORK SERVICE and ASPNET users to the Administrators group then stop right there, don't do it, especially not on a Production server. It is not necessary. Once the application key is set in the registry your permission problems are over.<br />
First thing, you will want to open regedit and navigate to:<br />
<code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog</code><br />
The right click on the Application node and add a new key. The name of this new key is up to you. But for arguments sake lets choose 'BingoBango'.<br />
That part is over with, close your regedit (you did back up the registry before you started changing things didnt you??!)<br />
Now in your log4net configuration file you will want to set up your appender like this:<br />
<code><br />
&lt;appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" &gt;<br />
    &lt;param name="ApplicationName" value="BingoBango" /&gt;<br />
    &lt;layout type="log4net.Layout.PatternLayout"&gt;<br />
        &lt;conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /&gt;<br />
    &lt;/layout&gt;<br />
&lt;/appender&gt;<br />
</code><br />
And you should see your log entries appearing.<br />
Have fun!</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/07/log4net_with_as.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/07/log4net_with_as.html</guid>
<category></category>
<pubDate>Thu, 17 Jul 2008 15:06:14 +0000</pubDate>
</item>
<item>
<title>Signature of WebForm_DoPostBackWithOptions</title>
<description><![CDATA[<p>WebForm_DoPostBackWithOptions(WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit)) </p>

<p>..just in case you're wanting to pump in your own event arguments and the like</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/01/signature_of_we.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/01/signature_of_we.html</guid>
<category>ASP</category>
<pubDate>Thu, 31 Jan 2008 09:46:37 +0000</pubDate>
</item>
<item>
<title>Monodevelop 0.18 finally running</title>
<description><![CDATA[<p>yay!<br />
</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/01/monodevelop_018.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/01/monodevelop_018.html</guid>
<category></category>
<pubDate>Sat, 12 Jan 2008 10:51:01 +0000</pubDate>
</item>
<item>
<title>Monosource</title>
<description><![CDATA[<p>I realised that the versions of mono and monodevelop from the Ubuntu repositories were quite old.</p>

<p>I've forgotten how difficult it is to install from source - dependency hell...</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/01/monosource.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/01/monosource.html</guid>
<category>Linux</category>
<pubDate>Thu, 03 Jan 2008 22:25:05 +0000</pubDate>
</item>
<item>
<title>Mono</title>
<description><![CDATA[<p>No, I haven't gotten the kissing disease.</p>

<p>I'm getting my head around the capabilities of <a href="http://www.mono-project.com/Main_Page">Mono</a>.</p>

<p>I'm hoping that I'll be able to run C#.NET apps on my own Linux server - mainly as it is a lot cheaper that a windows box; and more stable.</p>

<p>I'm liking Mono, and its IDE monodevelop. I can now hack together C#.NET webforms on my Linux laptop, have them running in Apache (well, almost - XSP does the job for the moment...) and not lose touch with my mad .NET skillz - booyah!</p>

<p>There are a few gotchas with the IDE - no intellisense in ASPX pages, no proper support of partial classes - definitely not showstoppers. I could even look at adding those features (not likely, but..) as both mono and monodevelop are open source and I have not looked at the .NET source code.</p>

<p>I working on something to scratch a personal itch at the moment - intelligently filter the far too many RSS feeds I have subscribed to.</p>

<p>I'll post up any problems I find as I go along.</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2008/01/mono.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2008/01/mono.html</guid>
<category>ASP</category>
<pubDate>Tue, 01 Jan 2008 22:30:47 +0000</pubDate>
</item>
<item>
<title>WINE just got tastier!</title>
<description><![CDATA[<p>I run <del>Adromedia</del> <del>Macrodobe</del> Adobe Fireworks on Linux using the compatibility layer application <a href="http://www.winhq.com">WINE</a> (Wine Is Not an Emulator - apparently).</p>

<p>Well, life just got a little bit better. You can now apply a filter and REMOVE it if you don't like it!</p>

<p>What do you mean?</p>

<p>This is a big thing!</p>

<p>....for me (hey! I don't get out much!)</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/09/wine_just_got_t.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/09/wine_just_got_t.html</guid>
<category>Linux</category>
<pubDate>Fri, 07 Sep 2007 01:45:12 +0000</pubDate>
</item>
<item>
<title>Solve your samba problems in Feisty Fawn</title>
<description><![CDATA[<p><code>sudo vim /etc/samba/smb.conf</code></p>

<p>search for a line that has 'msdfs proxy' and comment it out</p>

<p><code>sudo /etc/init.d/samba restart</code></p>

<p>you're welcome</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/solve_your_samb.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/solve_your_samb.html</guid>
<category>Linux</category>
<pubDate>Fri, 27 Jul 2007 19:22:34 +0000</pubDate>
</item>
<item>
<title>solo SCRUM scrap?</title>
<description><![CDATA[<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=55a4bde6-10a7-4c41-9938-f388c1ed15e9&displaylang=en&tm">Well, feck them anyway!<br />
</a></p>

<p>It seems Microsoft has developed a tool to allow you to implement SCRUM. Is that my little project finished?</p>

<p>possibly... I have to give it a gander yet....</p>

<p>The little guy (well...) gets crushed again!<br />
</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/solo_scrum_scra.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/solo_scrum_scra.html</guid>
<category></category>
<pubDate>Tue, 17 Jul 2007 20:17:44 +0000</pubDate>
</item>
<item>
<title>What are you doing for the next 6 months?</title>
<description><![CDATA[<p><a href="http://graysmatter.codivation.com/HowIAmBecomingABetterDeveloperPart1OfInfinity.aspx">Justice Grey has publicly committed to reading 27 developer books in the next 6 months</a></p>

<p>It's a big undertaking and the question has been asked - when will he get the time to do some programming?</p>

<p>I guess he has some funding!</p>

<p>Anyway, at first glance, the books I would like to get from his list are:</p>

<ul>
<li><a href="http://www.amazon.co.uk/Beyond-Code-Distinguish-Yourself-Simple/dp/1590791029/ref=sr_1_1/203-2459904-7271105?ie=UTF8&s=books&qid=1184507007&sr=8-1">Beyond Code - Setty</a></li>
<li><a href="http://www.amazon.co.uk/Refactoring-Improving-Design-Existing-Technology/dp/0201485672/ref=pd_bbs_sr_1/203-2459904-7271105?ie=UTF8&s=books&qid=1184506836&sr=8-1">Refactoring: Improving the Design of Existing Code - Fowler</a></li>
<li><a href="http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X/ref=pd_bbs_sr_1/203-2459904-7271105?ie=UTF8&s=books&qid=1184506912&sr=8-1">Pragmatic Programmer - Andrew Hunt</a></li>
</ul>

<p>I would have to research the rest of the list a bit but I think definitely an algorithm book, more patterns books and more UML will be in my near-future reading list.</p>

<p>It's strange that once you start learning about all this stuff you actually want to learn more - since I started grokking OO and patterns my view of programming has changed immensely. I am actually looking forward to the future and previously hairy application analysis have been simplified.</p>

<p>Looking forward to the next 6 months - the first three are being taken up by my first professional coding role and the following three - who knows!</p>

<p>Looking forward to the positive uncertainty.</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/what_are_you_do_1.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/what_are_you_do_1.html</guid>
<category>development</category>
<pubDate>Sun, 15 Jul 2007 14:37:39 +0000</pubDate>
</item>
<item>
<title>TortoiseSVN for Linux</title>
<description><![CDATA[<p>Please! </p>

<p>Someone write a decent SVN client for Linux!</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/tortoisesvn_for.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/tortoisesvn_for.html</guid>
<category>Linux</category>
<pubDate>Sat, 14 Jul 2007 22:08:30 +0000</pubDate>
</item>
<item>
<title>Multiple identity crisis - selecting a different identity when using ssh for different tasks to the same server</title>
<description><![CDATA[<p>If, like me, you have to connect to a linux server to get a console and the same server to access subversion then you might hit a snag. Accessing the server as normal with ssh wll result in a console connection - but if you use the same identity it won't be possible to access subversion - and vice versa.</p>

<p>The key is to use the config file of your local ssh installation. I'll presume here that you have your ssh setup to allow you to connect to your server and use the console.</p>

<p>I'll describe how to setup a new identity that will allow you to connect to subversion using the same identity on your local machine. This is for a linux machine. If you use Windows the situation is much easier - just use puTTY and load up the public key files with your saved profiles.</p>

<p>It took me a while to figure out but its fairly straightforward when you get it all together.</p>

<p>From your local machine ssh into the server as normal. Then go to the .ssh folder in your home directory (it will be hidden normally - to see it in a listing type ls -la)</p>

<blockquote>
cd ~/.ssh
</blockquote>

<p>Then first off, generate a new rsa key:</p>

<blockquote>
ssh-keygen -f yournewidentity
</blockquote>

<p>Don't forget to add a passkey, and don't forget the passkey!</p>

<p>The you will need to add this to your <code>authorized_keys</code> file. Before you do that though, make a backup of your file:</p>

<blockquote>
cp authorized_keys authorized_keys_backup
</blockquote>

<p>ok, now you can mess up all you want and you will still be able to restore your file and log in normally</p>

<blockquote>
cat yournewidentity.pub >> authorized_keys
</blockquote>

<p>Now edit the file (you can also use vi, nano or whatever takes your fancy)</p>

<blockquote>
vim authorized_keys
</blockquote>

<p>you will see the contents of the public key file of your new identity at the bottom of the file. Copy and paste this at the start of the newly-cat'd public key file content (leaving a space between the end of the command below and the start of the public key file content. (You may need to remove the spaces after each comma - I had to put them in here to allow the full command display properly)</p>

<blockquote>
command="svnserve -t -r /path/to/your/svn/repository --tunnel-user=your_normal_console_login_username", no-port-forwarding, no-agent-forwarding, no-X11-forwarding, no-pty
</blockquote>

<p>All that should be on one line in your <code>authorized_keys</code> file with the contents of the public-key on the same line. Save the file and exit the editor.</p>

<p>What you have done is to tell the server that when you log in and provide it with the new key, it will open a pipe to svnserver instead of logging you in to the console. Sweet!</p>

<p>Nearly there now, we just have to configure your local machine. But first you will have to get the private key of your new identity from the server to your local machine - FTP is the obvious answer.</p>

<p>When you have copied the key to your machine you will have to change the permission of the file:</p>

<blockquote>
chmod 600 yournewidentity
</blockquote>

<p>Once you have copied over the private key, on your local machine, edit the <code>~/.ssh/config</code> file.</p>

<p>Add the following:</p>

<blockquote>
Host dummy_subversion_hostname<br />
HostName server_hostname_or_IP<br />
IdentityFile ~/.ssh/yournewidentity<br />
Port 22
</blockquote>

<p>The <code>Port</code> is only necessary if you have configured your SSH server to listen on a different port. Save and exit and you are nearly done!</p>

<p>Now try and connect to your subversion server</p>

<blockquote>
svn info svn+ssh://dummy_subversion_hostname
</blockquote>

<p>SSH should ask to store the host key and then you should be prompted for your passkey and then subversion should cough up some info.</p>

<p>You are done.</p>

<p>p.s. Another alternative, and probably safer, is to generate the keyfile on your local machine and then copy only the public key to your server, leaving the privte key file secure on your machine.</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/multiple_identi.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/multiple_identi.html</guid>
<category>ssh</category>
<pubDate>Sat, 14 Jul 2007 20:51:07 +0000</pubDate>
</item>
<item>
<title>SCRUM solo - still vapour...</title>
<description><![CDATA[<p>I've been readin up a bit on the SCRUM process and I think it might be possible to build a tool that forces you to look at your project from different viewpoints in order to set your goals and report to yourself successfully and possibly even help with rationalising the development process.</p>

<p>If you have a task which is constantly going over deadline then the system can focus on that and ask questions to help you frame your thoughts on the task objectively.</p>

<p>Then key to the system would be the developer - they have to want to use the system and be comfortable thinking outside their daily concerns.</p>

<p>I just might work dammit!</p>

<p>Now, more study...</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/scrum_solo_stil.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/scrum_solo_stil.html</guid>
<category>development</category>
<pubDate>Sat, 14 Jul 2007 12:49:47 +0000</pubDate>
</item>
<item>
<title>Meet the stack of books that has kept me busy for the last while</title>
<description><![CDATA[<p>Not even a quarter of the way through this monster...</p>

<p><img alt="BookStack.jpg" src="http://www.5thpercentile.com/BookStack.jpg" width="400" height="378" /></p>

<p><br />
The list from top to bottom:</p>

<ul>
<li>C.J. Date - Database in depth (status : skimmed)</li>
<li>Mike Gunderloy - From Coder to Developer (status : half way through)</li>
<li>Onion & Brown - Essential ASP.NET 2.0 (status : halfway through)</li>
<li>LIberty and Hurwitz - Programming ASP.NET (status : reference)</li>
<li>MCTS - .NET Framework 2.0 Training kits (status : cracked)</li>
<li>Cwalina & Abrams - Framework design guidelines (status : dipping)</li>
<li>Onion - Essential ASP (status : half-read)</li>
<li>Fowler - Patterns of Enterprise Application Architecture (status : bits read and lots browsed</li>
</ul>

<p>The best books of the lot are: the two Onion books, Gunderloy, and Fowler.</p>

<p>And this doesn't include the Ruby books I want to get my head around too!</p>]]></description>
<link>http://www.5thpercentile.com/devBlog/archives/2007/07/meet_the_stack.html</link>
<guid>http://www.5thpercentile.com/devBlog/archives/2007/07/meet_the_stack.html</guid>
<category>development</category>
<pubDate>Sat, 14 Jul 2007 12:46:08 +0000</pubDate>
</item>


</channel>
</rss>