<?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>Tech And Music Blog &#187; linkedin</title>
	<atom:link href="http://blog.petermcdonald.co.uk/tag/linkedin/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.petermcdonald.co.uk</link>
	<description>The Tech And Music Blog</description>
	<lastBuildDate>Sat, 07 Jan 2012 22:45:17 +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>Calculating How Much Tax Was Added When Only Knowing The Percentage.</title>
		<link>http://blog.petermcdonald.co.uk/2011/09/09/calculating-how-much-was-added-knowing-a-percentage/</link>
		<comments>http://blog.petermcdonald.co.uk/2011/09/09/calculating-how-much-was-added-knowing-a-percentage/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 21:07:30 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[calculation]]></category>
		<category><![CDATA[formula]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[percentage]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rate]]></category>
		<category><![CDATA[tax]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=92</guid>
		<description><![CDATA[Recently I started work on an iPhone app and came across a small problem. As part of the application I needed to know how much tax was added to a value when I only knew the tax percentage and the &#8230; <a href="http://blog.petermcdonald.co.uk/2011/09/09/calculating-how-much-was-added-knowing-a-percentage/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I started work on an iPhone app and came across a small problem. As part of the application I needed to know how much tax was added to a value when I only knew the tax percentage and the total after tax. Now if the tax rate was a fixed amount a formula would have been easy to generate (for example the UK has 20% tax so to find the tax paid you simply divide the total by 12 and multiply this by 2), The problem I had is that the tax rate was unknown as it was to be a user input.</p>
<p>I asked a few people and found that nobody I spoke too really knew any way to find this out. Most people suggested just working out the percentage of the total amount however this of course will not work.</p>
<p>Here is how I eventually worked this out :<span id="more-92"></span>The eureka moment came when it dawned on me that total amount was in fact 100% + tax %. So in the UK example if I had paid £178 which was taxed at 20% then £178 would be 120% of the original figure. On realising this I realised that there was actually 2 ways to work out the pre tax amount.</p>
<p><strong>Method 1</strong></p>
<p>Post Tax Amount = £300<br />
Tax Percentage = 15%<br />
(Post Tax Amount / (100 + Tax Percentage)) * 100<br />
(£300 / (100 + 15)) * 100</p>
<p>OR</p>
<p>(Post Tax Amount * 100) / (100 + Tax Percentage)<br />
(£300 * 100) / (100 + 15)</p>
<p>Basically now that we know that £300 is 115% of the original total we can divide 300 by 115 which will tell us what 1%. To find out the total pre tax amount we multiply this by 100. Alternatively if we need to find out how much tax we paid we multiply the figure we found 1% is and multiply this by 15 (our tax rate in this instance).</p>
<p>From these equations we find the following:</p>
<p>Pre Tax Amount: $260.87<br />
Tax: £39.15<br />
Post Tax Amount: £300</p>
<p><strong>Method 2</strong></p>
<p>Post Tax Amount = £380<br />
Tax Percentage = 18%<br />
Post Tax Amount &#8211; (Post Tax Amount / ((100 + Tax Percentage) / Tax Percentage))<br />
380 &#8211; (380 / ((100 + 18) / 18)</p>
<p>This method works in a different way. Instead of working back to find 1% this method determines what ratio the tax percentage is of the total amount. We then divide the post tax amount by this figure (this in fact results in the amount of tax). We then take this latest figure from the post tax amount to find the pre tax amount.</p>
<p>From this equation we get the following result:</p>
<p>Pre Tax Amount: £322.03<br />
Tax: £57.97<br />
Post Tax Amount: £380</p>
<p>Now both of these methods have their advantages and disadvantages and it is for yourself to work out which method is best for you.</p>
<p><strong>Considerations</strong></p>
<p>Now there is a good chance that you will be approaching this from a programming perspective<strong></strong> there are a things to consider when putting this into code.</p>
<ol>
<li>How will you handle negative figures</li>
<li>How will you handle a 0% as the tax rate (this could result in a division by 0 error)</li>
<li>How will you handle rounding issues (you may come across instances where when you round you gain 1 penny or lose a penny).</li>
</ol>
<p>Hopefully this will help someone, it certainly will help me as I will no doubt forget how I did this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2011/09/09/calculating-how-much-was-added-knowing-a-percentage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secrets and Lies: Digital Security in a Networked World (Bruce Schneier)</title>
		<link>http://blog.petermcdonald.co.uk/2011/08/19/secrets-and-lies-digital-security-in-a-networked-world-bruce-schneier/</link>
		<comments>http://blog.petermcdonald.co.uk/2011/08/19/secrets-and-lies-digital-security-in-a-networked-world-bruce-schneier/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 21:25:25 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Bruce Schneier]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Secrets and Lies]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[wiley]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=67</guid>
		<description><![CDATA[While doing my usual browsing of Amazon I came across Secrets and Lies by Bruce Schneier. I of course added this to my wish list and decided I would take another look at a later date. Some time later I &#8230; <a href="http://blog.petermcdonald.co.uk/2011/08/19/secrets-and-lies-digital-security-in-a-networked-world-bruce-schneier/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>While doing my usual browsing of Amazon I came across Secrets and Lies by Bruce Schneier. I of course added this to my wish list and decided I would take another look at a later date. Some time later I decided to do a cull of my wish list. Unlike most people thou when I do a cull I tend to buy the item to remove it from my wish list.</p>
<p>When I bought the book I though that it was a bit of a gamble but looked ok so worth the risk. How more wrong could I be, this was certainly not a gamble at all.</p>
<p>Bruce starts the book by requesting that you read it numerous times so that the information sinks in and so that information obtained later in the book can be better understood.</p>
<p>The main part and bulk of the book explains many security concerns and explains why traditional thinking of security is incorrect (such as using a 256 bit encryption key is pointless and contains little security if the key was generated from for example the word password). Many aspects of security are covered within this ranging from network security to standard O/S security. At this point the book appears very negative and seems to suggest that there is little you can do to actually stop the impending security breaches.</p>
<p>Luckily as the book goes on the mood changes slightly and prepares you for methods to help combat the security implications that any system will have. These methods range from creating attack tree&#8217;s and how you can best decide on the viability of any attack vector and how to start bringing things into your favor instead of the intruders.</p>
<p>Since this book was written there have been many security breaches that have cost the companies involved large amounts of money both from lost revenue and the cost of picking up the pieces. For example this year Sony had a succession of attacks and the cost of the clean up was estimated to be around $140,000,000, this estimate could quite easily increase substantially as Sony&#8217;s insurer is also seeking methods for removing their own liability over the issue meaning that any law suits will come out of Sony&#8217;s pocket instead of the insurer.</p>
<p>A short while after this Lockheed Martin were found to have been compromised. On investigation it became clear that RSA had been compromised allowing someone to obtain information on the systems which aided in the Lockheed Martin compromise. As a result of this RSA were essentially forced to replace 40,000,000 secure ID devices.</p>
<p>It is not only the financial cost that these companies have suffered there is also the untold damages to their company profile with which the cost can never really be calculated.</p>
<p>Now you may be wondering my point at this stage, well the point is that if only the security of these companies read this book they may have been better prepared. The frightening thing however is that too many companies take security as an after thought. If the price is too high they decide to disregard the advice or not bother.</p>
<h2>Conclusion</h2>
<p>Although this is a 10 year old book this is certainly worth a read. You can learn so much from this book and it will completely change your perception of security. This book is highly recommended.</p>
<p>Title: Secrets and Lies: Digital Security in a Networked World<br />
Author: Bruce Schneier<br />
Publisher: John Wiley &amp; Sons<br />
ISBN 10: 0471453803<br />
ISBN 13: 978-0471453802<br />
Official URL &#8211; Amazon URL</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2011/08/19/secrets-and-lies-digital-security-in-a-networked-world-bruce-schneier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Registering .Fi Domain Names</title>
		<link>http://blog.petermcdonald.co.uk/2011/08/19/registering-fi-domain-names/</link>
		<comments>http://blog.petermcdonald.co.uk/2011/08/19/registering-fi-domain-names/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 20:42:58 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Domains]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[fi]]></category>
		<category><![CDATA[ficora]]></category>
		<category><![CDATA[flexi web host]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[register]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=70</guid>
		<description><![CDATA[For those that are unaware .fi is the ccTLD for Finland. Unlike some ccTLD&#8217;s Ficora (they manage the fi regsitry, the site is available in Finnish, Swedish and English) have imposed many restrictions on who can and who cannot register &#8230; <a href="http://blog.petermcdonald.co.uk/2011/08/19/registering-fi-domain-names/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For those that are unaware .fi is the ccTLD for Finland. Unlike some ccTLD&#8217;s <a title="Ficora" href="http://www.ficora.fi/" target="_blank">Ficora</a> (they manage the fi regsitry, the site is available in Finnish, Swedish and English) have imposed many restrictions on who can and who cannot register .fi domain names.<span id="more-70"></span>As <a title="Ficora restrictions" href="http://www.viestintavirasto.fi/en/index/internet/fi-verkkotunnukset.html" target="_blank">this</a> page states you can only register an .fi domain name if:</p>
<ul>
<li>are 15 years of age;</li>
<li>have a Finnish personal ID number; and</li>
<li>live in a Finnish municipality.</li>
</ul>
<p>OR</p>
<ul>
<li>companies and private entrepreneurs;</li>
<li>Finnish public bodies and state enterprises;</li>
<li>independent public corporations and public associations; and</li>
<li>diplomatic missions of a foreign state which have been entered into the Finnish trade register or into the Finnish registers of associations or foundations.</li>
</ul>
<p>What is not explicitly mentioned here is that even if you are a business you do have to either be registered as a business in Finland or to have an office located in Finland.</p>
<p>Apart from the registration requirements there is also a restriction that is not usually placed on domain names. For a registration to be fully successful you are required to add the DNS entries on the nameservers that you are placing on the domain name. If you do not do this prior to registering the domain name you will see something like the following on the whois:</p>
<p>status:   Technical Error<br />
created:  11.8.2011<br />
expires:  11.9.2011<br />
nserver: your.nameserver.com [ERROR]<br />
nserver: your.2nd.nameserver.com [ERROR]</p>
<p>As you can see the the status of the domain is sitting at technical error and beside both nameservers we have [ERROR]. If after 1 month the DNS has not been rectified the domain registration will be revoked. There is no way to force the registry to check the nameservers again, this will be carried out automatically and periodically.</p>
<p>If you have hosting on a cPanel server you will be unable to add the domain as a parked domain as it will state that the nameservers are invalid. You will need to manually add a DNS zone within WHM (or if you have no access ask your host).</p>
<p>Like any ccTLD prior to registering a domain name ensure that you do meet the minimum requirements necessary. As per the terms and conditions of the registry if you are found to have lied or not to meet the requirements the registration can and will be revoked.</p>
<p>Fancy purchasing an .fi domain name and meet the requirements then you can buy them from <a title="Flexi Web Host" href="http://www.flexiwebhost.com/" target="_blank">Flexi Web Host</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2011/08/19/registering-fi-domain-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mac Lion (10.7) Mouse Scroll Inverted</title>
		<link>http://blog.petermcdonald.co.uk/2011/07/21/mac-lion-10-7-mouse-scroll-inverted/</link>
		<comments>http://blog.petermcdonald.co.uk/2011/07/21/mac-lion-10-7-mouse-scroll-inverted/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 21:20:11 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[10.7]]></category>
		<category><![CDATA[inverted]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[lion]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[scroller]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=60</guid>
		<description><![CDATA[Yesterday Apple officially released the final version of 10.7 of their OS named Lion. For those of you that have upgraded you will notice that when trying to scroll up a page you actually scroll down and vice versa. This &#8230; <a href="http://blog.petermcdonald.co.uk/2011/07/21/mac-lion-10-7-mouse-scroll-inverted/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday Apple officially released the final version of 10.7 of their OS named Lion. For those of you that have upgraded you will notice that when trying to scroll up a page you actually scroll down and vice versa.</p>
<p>This seems a very strange choice for a desktop OS but is perfect for the iPhone (maybe they are trying to cater more for touchscreen monitors).<span id="more-60"></span></p>
<p>The fix for this issue is actually very easy. Firstly click on the Apple logo on the top of your screen. Once the menu appears 1 of the options will be System Preferences.</p>
<p>In the system preferences screen the screen is divided into 4 sections, the 2nd section is headed Hardware. Click on Mouse.</p>
<p>Once in the mouse preferences options, un-tick the top option which is marked as &#8220;Move content in the direction of finger movement when scrolling or navigating&#8221;.</p>
<p>Once you have changed this your scroller will now work as it always has done.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2011/07/21/mac-lion-10-7-mouse-scroll-inverted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Base64 Encode in Objective-C</title>
		<link>http://blog.petermcdonald.co.uk/2011/07/20/base64-encode-in-objective-c/</link>
		<comments>http://blog.petermcdonald.co.uk/2011/07/20/base64-encode-in-objective-c/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 20:26:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[encode]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[nsstring]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=53</guid>
		<description><![CDATA[I am currently playing about with objective-c and came across the need to base 64 encode some text. The following is what I came up with however it can obviously do with some improving (note to self must plan code &#8230; <a href="http://blog.petermcdonald.co.uk/2011/07/20/base64-encode-in-objective-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am currently playing about with objective-c and came across the need to base 64 encode some text. The following is what I came up with however it can obviously do with some improving (note to self must plan code properly before jumping in).</p>
<p><span id="more-53"></span><span style="text-decoration: underline;"><strong>base64.h</strong></span><br />
<code>// Created by Peter McDonald on 17/07/2011.<br />
// Copyright 2011 n/a. All rights reserved.<br />
//</code></p>
<p>#import</p>
<p>@interface base64 : NSObject<br />
{<br />
NSArray *ascii;<br />
}</p>
<p>-(NSString*)encode : (NSString*)text;<br />
-(NSString*)intToBinaryString:(int)intValue;<br />
-(NSString*)binaryStringToNsstring:(NSString*)binaryStringValue;</p>
<p>@end<br />
<span style="text-decoration: underline;"><strong>base64.m</strong></span><br />
<code>// Created by Peter McDonald on 17/07/2011.<br />
// Copyright 2011 n/a. All rights reserved.<br />
//</code></p>
<p>#import &#8220;base64.h&#8221;</p>
<p>@implementation base64</p>
<p>- (id)init<br />
{<br />
self = [super init];<br />
if (self) {<br />
ascii = [[NSArray alloc] initWithObjects:<br />
@&#8221;A&#8221; ,@&#8221;B&#8221; ,@&#8221;C&#8221; ,@&#8221;D&#8221; ,@&#8221;E&#8221; ,@&#8221;F&#8221; ,@&#8221;G&#8221; ,@&#8221;H&#8221; ,@&#8221;I&#8221; ,@&#8221;J&#8221; ,@&#8221;K&#8221; ,@&#8221;L&#8221; ,@&#8221;M&#8221; ,<br />
@&#8221;N&#8221; ,@&#8221;O&#8221; ,@&#8221;P&#8221; ,@&#8221;Q&#8221; ,@&#8221;R&#8221; ,@&#8221;S&#8221; ,@&#8221;T&#8221; ,@&#8221;U&#8221; ,@&#8221;V&#8221; ,@&#8221;W&#8221; ,@&#8221;X&#8221; ,@&#8221;Y&#8221; ,@&#8221;Z&#8221; ,<br />
@&#8221;a&#8221; ,@&#8221;b&#8221; ,@&#8221;c&#8221; ,@&#8221;d&#8221; ,@&#8221;e&#8221; ,@&#8221;f&#8221; ,@&#8221;g&#8221; ,@&#8221;h&#8221; ,@&#8221;i&#8221; ,@&#8221;j&#8221; ,@&#8221;k&#8221; ,@&#8221;l&#8221; ,@&#8221;m&#8221; ,<br />
@&#8221;n&#8221; ,@&#8221;o&#8221; ,@&#8221;p&#8221; ,@&#8221;q&#8221; ,@&#8221;r&#8221; ,@&#8221;s&#8221; ,@&#8221;t&#8221; ,@&#8221;u&#8221; ,@&#8221;v&#8221; ,@&#8221;w&#8221; ,@&#8221;x&#8221; ,@&#8221;y&#8221; ,@&#8221;z&#8221; ,<br />
@&#8221;0&#8243; ,@&#8221;1&#8243; ,@&#8221;2&#8243; ,@&#8221;3&#8243; ,@&#8221;4&#8243; ,@&#8221;5&#8243; ,@&#8221;6&#8243; ,@&#8221;7&#8243; ,@&#8221;8&#8243; ,@&#8221;9&#8243; ,@&#8221;+&#8221; ,@&#8221;/&#8221; ,<br />
nil];<br />
}<br />
return self;<br />
}</p>
<p>-(NSString*)encode:(NSString *)text<br />
{<br />
int stringLength = [text length];<br />
NSString *newString = [[NSString alloc] init];<br />
NSString *binaryString = [[NSString alloc] init];<br />
int currentCharAsInt;<br />
for (int i = 0; i &lt; stringLength; i++) { currentCharAsInt = [text characterAtIndex:i]; binaryString = [binaryString stringByAppendingString:[self intToBinaryString:currentCharAsInt]]; } newString = [self binaryStringToNsstring:binaryString]; return newString; } -(NSString*)decode:(NSString *)text { return @&#8221;"; } -(NSString*)intToBinaryString:(int)intValue { int current= 128; NSString *returnString = [[NSString alloc] init]; while (current &gt;= 1)<br />
{<br />
if(intValue &gt;= current)<br />
{<br />
intValue = intValue &#8211; current;<br />
returnString = [returnString stringByAppendingString:@"1"];<br />
}<br />
else<br />
{<br />
returnString = [returnString stringByAppendingString:@"0"];<br />
}<br />
if (current &gt; 1)<br />
{<br />
current = current / 2;<br />
}<br />
else<br />
{<br />
current = current &#8211; 1;<br />
}</p>
<p>}<br />
return returnString;<br />
}</p>
<p>-(NSString*)binaryStringToNsstring:(NSString*)binaryStringValue<br />
{<br />
NSString *returnString = [[NSString alloc] init];<br />
int binaryStringValueLength = [binaryStringValue length];<br />
if (binaryStringValue &gt; 0)<br />
{<br />
NSString *workingString = [NSString alloc];<br />
int currentIndex = 0;<br />
NSRange range = {currentIndex, 6};<br />
workingString = [workingString initWithFormat:[binaryStringValue substringWithRange:range]];<br />
while ([workingString length] &gt; 0)<br />
{<br />
int currentBinaryValue = 1;<br />
NSUInteger currentValue = 0;<br />
for (int i = 0; i &lt; [workingString length]; i++) { NSRange charRange = {[workingString length] &#8211; i &#8211; 1, 1}; NSString *currentChar = [[NSString alloc] initWithFormat:[workingString substringWithRange:charRange]]; if ([currentChar isEqualToString:@"1"]) { currentValue = currentValue + currentBinaryValue; } currentBinaryValue = currentBinaryValue * 2; currentIndex++; } if ((currentIndex + 1) &gt;= binaryStringValueLength)<br />
{<br />
workingString = @&#8221;";<br />
}<br />
else if ((currentIndex + 6) &gt; binaryStringValueLength)<br />
{<br />
NSRange range = {currentIndex, binaryStringValueLength &#8211; currentIndex};<br />
workingString = [[NSString alloc] initWithFormat:[binaryStringValue substringWithRange:range]];<br />
if ([workingString length] == 2)<br />
{<br />
workingString = [workingString stringByAppendingString:@"0000"];<br />
}<br />
else<br />
{<br />
workingString = [workingString stringByAppendingString:@"00"];<br />
}<br />
}<br />
else<br />
{<br />
NSRange range = {currentIndex, 6};<br />
workingString = [[NSString alloc] initWithFormat:[binaryStringValue substringWithRange:range]];<br />
}<br />
returnString = [returnString stringByAppendingString:[ascii objectAtIndex:currentValue]];<br />
currentValue = 0;<br />
currentBinaryValue = 1;<br />
}<br />
while ([returnString length] % 4 != 0)<br />
{<br />
returnString = [returnString stringByAppendingString:@"="];<br />
}<br />
}<br />
return returnString;<br />
}</p>
<p>@end<br />
The code currently does not add a CRLF character after every 78 characters at the moment however the program this has been designed for does not require it (although I will add this once I get around to rewriting the methods),</p>
<p>Any suggestions let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2011/07/20/base64-encode-in-objective-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Securing Your Domain Name</title>
		<link>http://blog.petermcdonald.co.uk/2010/12/27/securing-your-domain-name/</link>
		<comments>http://blog.petermcdonald.co.uk/2010/12/27/securing-your-domain-name/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 00:22:52 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Domains]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Attack Vectors]]></category>
		<category><![CDATA[Avoid Using Free Email Hosts]]></category>
		<category><![CDATA[Check Registrar Security Functions]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[registrar]]></category>
		<category><![CDATA[reverse hijacking]]></category>
		<category><![CDATA[social engineering]]></category>
		<category><![CDATA[stolen]]></category>
		<category><![CDATA[theft]]></category>
		<category><![CDATA[whois]]></category>

		<guid isPermaLink="false">http://blog.petermcdonald.co.uk/?p=6</guid>
		<description><![CDATA[THIS WAS WRITTEN A FEW YEARS AGO AND WILL BE REWRITTEN SHORTLY Since the dot com bubble burst in the early 2000’s the value and profile of domain names has again been on the increase. Apart from recent financial turmoil &#8230; <a href="http://blog.petermcdonald.co.uk/2010/12/27/securing-your-domain-name/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>THIS WAS WRITTEN A FEW YEARS AGO AND WILL BE REWRITTEN SHORTLY</p>
<p>Since the dot com bubble burst in the early 2000’s the value and profile of domain names has again been on the increase. Apart from recent financial turmoil caused by the world recession the average value of domain names has increased dramatically and shows no sign of stopping.</p>
<p>Due to the higher profile of domain names and the value that this brought it has unfortunately resulted in a rather unsavoury side effect. The number of stolen and hijacked domain names has increased dramatically over the last few years.</p>
<p>Now many of you may be forgiven for wondering how a virtual item can be stolen or hijacked. Domains as we know are not tangible items and are more virtual items. Over the course of this article I hope to make you aware of ways that can be used to steal your domain name. Only by knowing how domain names can be can we actually protect against it.<span id="more-6"></span></p>
<h2><span style="color: #000000;">Attack Vectors</span></h2>
<p>There are many attack vectors that can be used to gain control of your domain name. Let us run through them here:</p>
<h3>Social Engineering</h3>
<p>For anyone that does not know reverse engineering is a method in which someone will pretend either to be someone else or pretend to be someone who should have certain information. Reverse engineering usually works on the premise that most people want to help or to be seen to help others as much as possible. Reverse engineering works by exploiting the most unreliable part of any process, the human interaction.</p>
<p>Sometimes all it takes for a successful reverse engineering attack is for the attacker to try to obtain a little sympathy. A lot of the time the person who is being attacked will more likely help if they believe the person is in a predicament. Now you might be wondering how this could assist in someone stealing your domain name, quite simple. If the person is talking to say for example a GoDaddy representative (or any other registrar where your domain names may reside) and they vie for a bi of sympathy and are pretending to be you the registrar representative may bypass the necessary security and help with minimal information.</p>
<h3>Email Account Hacking</h3>
<p>The most prevalent way that registrars contact owners of domain names is to email them. I have personally assisted a few people in obtaining their domain names back after they had been stolen. The method the thief stole in these instances was to hack the user&#8217;s domain name. If you for example hack an email address that someone uses for their registrar account you now have complete access to the person’s domain names. Once the thief has control of the email address it is a trivial issue to reset the password for the registrar then to change the domain details or to transfer these away. Gmail accounts in the past did have security holes that were used to steal domain names in this way.</p>
<h3>Registrar Hacking</h3>
<p>The usual way for a registrar account to be compromised is to first gain access to the email address used to register however it has also been known for accounts to be compromised due to people usually using the same username and passwords between different websites. If for example you register on a website and the website is less than desirable it would be trivial for the website owner to retrieve your username and password and try these on the registrar websites.</p>
<p>There are of course other methods for gaining access to registrar accounts however these methods go beyond the scope of this article.</p>
<h3>Fake Sale</h3>
<p>1 of the most dangerous times for a domain portfolio owner is when a sale is taking place. Many domain names are lost due to something going wrong with a sale and of course the payment is where this happens. It is quite easy for someone to gain access for example to a hacked Paypal account. At the time of the sale everything may look like it has gone through fine however it may become apparent a few weeks later that the transaction was fraudulent. The first time you become aware of this is usually due to a chargeback.</p>
<p>Many sales are carried out using the Paypal Mass Pay feature. The seller believes that this gives them security from chargebacks. Unfortunately these people are mistaken.</p>
<h3>Reverse Hijacking</h3>
<p>A reverse hijack is not necessarily considered theft however can be a real concern for any domain portfolio owner who has potential high value domain names. A reverse hijack is where a company/individual registers a trademark to try to prove that your domain name infringes their trademark. If the trademark was registered after you bought the domain name you of course could not have bought the domain in bad faith however the aim of the other party is to try to prove that you did register in bad faith as there is a registered trademark. The way in which the domain name is obtained is usually by filing a WIPO on the domain name.</p>
<p>To make sure that you are not a victim of this type of hijack ensure that you keep track of when you register your domain names as well as to scrutinise any information you are given as part of a WIPO complaint.</p>
<h2>How To Protect Yourself</h2>
<p>Most methods that you can use to protect yourself are self-explanatory and common sense however they should be mentioned anyway.</p>
<h3>Avoid Using Free Email Hosts</h3>
<p>Avoid using free email hosting companies including hosts such as Google. Free email hosts do not hold any liability caused by any security flaws they have. Once a security whole has been identified for these providers the information is usually disseminated throughout the internet quite rapidly.</p>
<h3>Ensure Your Whois Email Is Different Than Your Registrar Email</h3>
<p>When registering on registrar&#8217;s websites you should ensure that you are using a different email than you use for your whois information. Whois information is public knowledge. Although you can use whois privacy sometimes you have to pay extra. Not all extensions allow whois privacy either. If the email used to register with the registrar is unknown it will be harder for a thief to gain access to your account.</p>
<h3>Secure Your Username And Password</h3>
<p>Ensure that your username and passwords that you use for your registrar is not something that will be known by other people. The password should be as long as possible (10-15 characters) and should contain letters (uppercase and lowercase), numbers and symbols. Also avoid using words within your password. By adhering to these rules it will be harder for a thief to guess your details.</p>
<h3>Ensure That Whois Details Are Always Up To Date</h3>
<p>You must ensure that the whois information for your domain names is always up to date. It is not just a matter of your domains security that requires the whois to be kept up to date, it is in fact a Nominet requirement. If the details are incorrect Nominet are within their right to remove the domain name. You should also ensure that the information contained within the whois is kept up to date. If for example the email address is not correct you will not receive notifications of any issues (such as a WIPO claim) or even worse if the email address is no longer used or if the domain the email was for has expired someone could quite easily get this domain and create an email address for it and use this to obtain your domain.</p>
<h3>Check Registrar Security Functions</h3>
<p>Most registrars have enhanced security packages. Some of these registrars require you to pay a sum per domain name while others are per account. Be sure to check what added benefits these packages have and consider purchasing them. For reg fee domain names it may of course not be financially viable however if you have domains in the $x,xxx + price range it would be a bad idea not to do everything in your power to secure them.</p>
<h3>Never Trust Anyone</h3>
<p>Although this may sound a bit harsh you should not trust anyone especially when taking payments. If someone is asking you any information about your domain names or personal information be sceptical on why they are asking. You should also minimise information that you give out on social engineering sites and forums. Any information that you give out can be used for social engineering. Ensure you do not make it easy for the thief.</p>
<h3>Monitor Your Domains</h3>
<p>A lot of people who have portfolios tend to forget about their domain names until they come up for renewal. If you are serious about your portfolio and keeping it safe ensure you employ a method for keeping track of your domain names. Even if the registrar supplies tools to do this it would be a good idea to use 3rd party tools to keep an eye on things such as the whois details and to monitor any changes that occur. If you do this however be sure to understand the limitations of the tools that you use.</p>
<p>In the past for example I used the tools provided by <a title="Domain Tools" href="http://www.domaintools.com" target="_blank">Domain Tools</a>. Although the tools are very good I was amazed one day to find that it took around 2 months for their tools to notice that the nameservers for 1 of my domains had changed. If my domain had been stolen this would have been way too late to have done anything about it.</p>
<h2>What Can I Do If My Domain Is Stolen</h2>
<p>If you are unfortunate enough to find that you have had domains stolen the first thing you should do is of course to contact the registrar. The preferred method of contact is of course by making a phone call. To back this up I would strongly suggest emailing support so that there is a written version as well. If there is no phone support or the phone support is closed seek advice from live chat support if available or email the support.</p>
<p>Once you have contacted the registrar you should ensure that all of your accounts are secure. Change any password to make sure that if they managed to gain access that they no longer have any. Make sure that the profile on the registrar site matches your own details (especially the name, address and email).</p>
<p>Lastly make as much noise as possible. Most domains are stolen so that they can be sold on. Of course a thief would like to sell the domain as soon as possible so that they are not stuck with a domain that is unsellable as it is known to have been stolen. Register and log onto as many domain name forums and blogs (such as <a title="Namepros" href="http://www.namepros.com" target="_blank">Namepros</a> or <a title="DNForum" href="http://www.dnforum.com" target="_blank">DNForum</a>) as possible and post as much information as you can get including current whois information, any contact made from the thief etc. Not only will this alert people about the stolen domain name and prevent them from buying it but it will also enable you to have many more people looking out for you. Some of these people will end up keeping an eye out on your behalf and may also provide you with any information they find out which can prove invaluable.</p>
<p>By following the simple steps within this article you will be going a long way to making life difficult for any thief that may have their eye on your domain names.</p>
<p>If you feel that I have missed out anything be sure to let me know. I will gladly revisit this article in future and of course rewrite any sections that are necessary. If you would like to syndicate this article feel free to ask.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.petermcdonald.co.uk/2010/12/27/securing-your-domain-name/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: blog.petermcdonald.co.uk @ 2012-02-10 05:06:01 -->
