<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>iamichi’s online memory and web log</description><title>ichi.co.uk</title><generator>Tumblr (3.0; @ichiuk)</generator><link>http://www.ichi.co.uk/</link><item><title>I Heart Chaos: Fun with math: Dividing one by 998001 yields a surprising result</title><description>&lt;a href="http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a"&gt;I Heart Chaos: Fun with math: Dividing one by 998001 yields a surprising result&lt;/a&gt;: &lt;p&gt;&lt;a class="tumblr_blog" href="http://www.iheartchaos.com/post/16393143676/fun-with-math-dividing-one-by-998001-yields-a" target="_blank"&gt;iheartchaos&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lya93spLjr1qzozj1.png"/&gt;&lt;/p&gt;
&lt;p&gt;There’s all sorts of magic to be had with numbers, and many mathematicians have made entire careers in finding these little tricks that are mostly useless, but fun anyway. Unfortunately, a lot of calculators are going to truncate the results of this trick, but if you manage to get a hold of…&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://www.ichi.co.uk/post/16558111977</link><guid>http://www.ichi.co.uk/post/16558111977</guid><pubDate>Fri, 27 Jan 2012 02:50:59 +0000</pubDate></item><item><title>Never to be caught out again...</title><description>&lt;p&gt;Posting this here so as to reinforce my memory, so I never miss this again.&lt;/p&gt;
&lt;p&gt;LINQ errors that make no sense and the build error: &lt;strong&gt;“Cannot convert lambda expression to type ‘string’ because it is not a delegate type” &lt;/strong&gt;= missing “using System.Linq;”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br/&gt;&lt;/strong&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/16491149010</link><guid>http://www.ichi.co.uk/post/16491149010</guid><pubDate>Thu, 26 Jan 2012 00:19:00 +0000</pubDate><category>code</category><category>programming</category><category>csharp</category></item><item><title>First look: Bitcasa Infinite Storage</title><description>&lt;p&gt;I just got an invite to Bitcasa today, so I used it to sign up and get my infinite storage and got 10 invites to share (below). &lt;/p&gt;
&lt;p&gt;Installed fine on both OSX (beta) and Windows (alpha), although I’d say the Windows installer needs cleaning up a bit, as it launches two separate installers (&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=5555" target="_blank"&gt;MS C++ redist&lt;/a&gt; and &lt;a href="http://dokan-dev.net/en/" target="_blank"&gt;Doken&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lydo3vAmfw1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;To upload your files to Bitcasa, you just right click a folder and select “Services &gt; Cloudify this” on OSX:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lydnlnQAbL1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;or Bitcasa Cloudify on Windows:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lydnpoCfxG1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;They currently have a fairly rudimentary but functional web portal to access your files and the client looks (on OSX at least) like the below screenshot.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lydmnmVUut1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;Getting Calculator.app out, I can see that this is about 3.33 Mbps, which isn’t bad since I’m uploading from the UK to the US east coast (I have 10 Mbps upstream bandwidth on my cable connection).&lt;/p&gt;
&lt;p&gt;I read &lt;a href="http://techcrunch.com/2011/09/12/with-bitcasa-the-entire-cloud-is-your-hard-drive-for-only-10-per-month/" target="_blank"&gt;here&lt;/a&gt; that they’re going to charge $10 per month once the beta is over. If it works OK and they don’t have a security faux pas, &lt;a href="http://nakedsecurity.sophos.com/2011/06/21/dropbox-lets-anyone-log-in-as-anyone/" target="_blank"&gt;like Dropbox&lt;/a&gt;, I’m totally happy to pay that for unlimited cloud storage. &lt;/p&gt;
&lt;p&gt;This link should work for the first 10 people that use it, after that it will just add people to the waiting list, so I’ll try to keep an eye on it and remove it once they’re all gone….&lt;/p&gt;
&lt;p&gt;Invites &lt;a href="https://portal.bitcasa.com/invited/9efcecc8aa21400f9538bef973e3c904/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Update (12 Feb UTC): 2 invites left.&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/16487871720</link><guid>http://www.ichi.co.uk/post/16487871720</guid><pubDate>Wed, 25 Jan 2012 23:26:00 +0000</pubDate><category>cloud</category><category>storage</category><category>bitcasa</category></item><item><title>Adding a minimum length constraint in SQL Server</title><description>&lt;p&gt;This might seem fairly obvious, but using Len(ColumnName) can give unexpected results, as it returns the number of characters in a string instead of the number of bytes, i.e. it trims the text before it counts the characters. More details on that &lt;a href="http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/the-differences-between-len-and-dataleng" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To create a minimum length constraint, open up your table, right click Constraints and select New Constraint. Then enter something like…&lt;/p&gt;
&lt;pre class="brush: sql"&gt;(datalength([YourColumn])&gt;(2))&lt;/pre&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lxnd28sdpy1r130g2.png"/&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/15678250132</link><guid>http://www.ichi.co.uk/post/15678250132</guid><pubDate>Wed, 11 Jan 2012 18:38:00 +0000</pubDate><category>sqlserver</category><category>sql</category></item><item><title>Crunch.co.uk referral code</title><description>&lt;p&gt;We’ve been using &lt;a href="http://www.crunch.co.uk" title="Crunch Accounting" target="_blank"&gt;Crunch Accounting&lt;/a&gt; for the last 3 months and I think they’re great.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If you use code &lt;/span&gt;&lt;strong&gt;skweejr9uv&lt;/strong&gt;&lt;span&gt; when you sign up, you and I will both get £25 in Amazon vouchers. &lt;/span&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/15668253264</link><guid>http://www.ichi.co.uk/post/15668253264</guid><pubDate>Wed, 11 Jan 2012 12:41:00 +0000</pubDate><category>referralcode</category></item><item><title>SQL Server 2005 maintenance plan fails and service pack fail to install</title><description>&lt;p&gt;I needed to setup a maintenance plan for a client to backup their databases and remove backups older than 4 weeks. They run SQL Server 2005, so I created the maintenance plan with a Back Up Database Task and a Maintenance Cleanup Task to remove the old backups, which is straightforward enough. When I tried to test it however I got the error: &lt;strong&gt;“Unable to start execution of step 1 (reason: line(1): Syntax error). The step failed.” &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I had a quick look at the version of the server and it was 9.0.1399 (SQL Server 2005 RTM!!!). So I downloaded SP4 and went to install it, however when it gave me the options for the components to update, it wouldn’t let me check Database Services and when I selected it, the details box said &lt;strong&gt;“This update requires language ENU. The language for product instance MSSQLSERVER is . Download the update for language .”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now, I know this particular server hosts a lot of Sage 200 databases as well as the database for my app. The guy that setup Sage 200 changed the language to be British English because for some reason Sage don’t use ISO date formatting (yyyyMMdd) and instead use UK style dates (ddMMyyyy). &lt;/p&gt;
&lt;p&gt;The fix for this was to change the language values for SQL Server in the registry.&lt;/p&gt;
&lt;p&gt;Stop the SQL Server services via services.msc, fire up regedit.exe and write down the current decimal value for the Language value in the following two keys. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\setup&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\CurrentVersion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now change them both to 1033 decimal (which is US English) and re-run SP4 setup, which should now allow you to upgrade the Database Services component. Once you’re upgraded return the registry values to their original settings.&lt;/p&gt;
&lt;p&gt;I actually ran into another problem after this (Error Code: 0x80070534 (1332) Windows Error Text: No mapping between account names and security IDs was done.), which I had to dig around in the SP4 install log for, but it turned out quite &lt;a href="http://social.msdn.microsoft.com/forums/en-US/sqlsetupandupgrade/thread/bf0c1eae-a1fa-4a63-b6a8-c18e81498780/" target="_blank"&gt;easy to fix&lt;/a&gt; by deleting some registry keys and letting SP4 setup recreate them.&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/15359483953</link><guid>http://www.ichi.co.uk/post/15359483953</guid><pubDate>Thu, 05 Jan 2012 21:02:00 +0000</pubDate><category>sqlserver</category><category>error</category><category>servers</category></item><item><title>hamburglr:

First, go grab some headphones. The best ones you’ve...</title><description>&lt;embed type="application/x-shockwave-flash" src="http://assets.tumblr.com/swf/audio_player_black.swf?audio_file=http://www.tumblr.com/audio_file/15343587718/tumblr_lpoxuxF3Fl1qzusoy&amp;color=FFFFFF&amp;logo=soundcloud" height="27" width="207" quality="best" wmode="opaque"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a class="tumblr_blog" href="http://hamburglr.tumblr.com/post/8717276078/first-go-grab-some-headphones-the-best-ones" target="_blank"&gt;hamburglr&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;First, go grab some headphones. The best ones you’ve got. If the best ones you’ve got are &lt;a href="http://store.apple.com/us/product/MB770G/B?fnode=MTY1NDA0Ng&amp;mco=MTA4NTA2ODU" target="_blank"&gt;these suckers&lt;/a&gt; (or something similar), you should really go buy new ones, but use the best you’ve got for right now.&lt;/p&gt;
&lt;p&gt;Take a break from whatever you’re doing for 2 minutes and listen, but just listen to the whole thing, even if you have to multi-task.&lt;/p&gt;
&lt;p&gt;Headphones on? Ok. Good.&lt;/p&gt;
&lt;p&gt;Now, press play.&lt;/p&gt;
&lt;br/&gt; “Upular (3D Audio Version)” - Pogo&lt;/blockquote&gt;</description><link>http://www.ichi.co.uk/post/15343587718</link><guid>http://www.ichi.co.uk/post/15343587718</guid><pubDate>Thu, 05 Jan 2012 13:03:55 +0000</pubDate></item><item><title>http://soundcloud.com/iamichi/winter-mix-2011</title><description>&lt;embed type="application/x-shockwave-flash" src="http://assets.tumblr.com/swf/audio_player_black.swf?audio_file=http://www.tumblr.com/audio_file/15097920160/tumblr_lx378uABsu1r40z7o&amp;color=FFFFFF&amp;logo=soundcloud" height="27" width="207" quality="best" wmode="opaque"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://soundcloud.com/iamichi/winter-mix-2011" target="_blank"&gt;http://soundcloud.com/iamichi/winter-mix-2011&lt;/a&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/15097920160</link><guid>http://www.ichi.co.uk/post/15097920160</guid><pubDate>Sat, 31 Dec 2011 21:19:00 +0000</pubDate></item><item><title>Creating an 'elite' highly anonymous proxy with Squid on Debian</title><description>&lt;p&gt;This is a simple guide on how to setup a Debian VM for use as an ‘elite’ web proxy. There are 3 types of web proxy server and what type they are basically just comes down to which HTTP Headers they include about who you are.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Transparent Proxy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;REMOTE_ADDR: Proxy IP address&lt;br/&gt;HTTP_VIA: Proxy IP address/hostname and details - e.g. 1.1 proxy1.mydomain.net:3128 (squid/2.7.STABLE9)&lt;br/&gt; HTTP_X_FORWARDED_FOR: Your real IP address&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anonymous&lt;/strong&gt;&lt;strong&gt; Proxy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;REMOTE_ADDR: Proxy IP address&lt;br/&gt;HTTP_VIA:   Proxy IP address/hostname and details - e.g. 1.1 proxy1.mydomain.net:3128 (squid/2.7.STABLE9) &lt;br/&gt;HTTP_X_FORWARDED_FOR: blank&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;&lt;strong&gt;Elite Proxy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;REMOTE_ADDR: Proxy IP address&lt;br/&gt;HTTP_VIA: blank&lt;br/&gt;HTTP_X_FORWARDED_FOR: blank&lt;/p&gt;
&lt;p&gt;I will say the extra configuration params you need to get squid into ‘elite’ mode.&lt;/p&gt;
&lt;p&gt;We went with Debian because it’s what I know best. Well that and Ubuntu (which is based on Debian), however Ubuntu is updated every 6 months and Debian is updated when it’s ready, which makes me trust it a bit more. Also Ubuntu requires 128MB of RAM and Debian only 64MB.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I created a new VM in Hyper-V with 96MB Memory, mounted &lt;a href="http://ftp.hk.debian.org/debian-cd/current/amd64/iso-cd/debian-6.0.2.1-amd64-netinst.iso" target="_blank"&gt;debian-6.0.2.1-amd64-netinst.iso&lt;/a&gt;, but if you are using Hyper-V like me, before starting the VM, you need to go to the VM Settings, remove the Network Adapter and add a Legacy Network Adapter, which should be connected to the Virtual Network as Debian has a driver for this interface already.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lwvuetB52e1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;I am not going to walk you through all the steps of installing Debian, as it’s straightforward enough and guides already &lt;a href="http://www.aboutdebian.com/install6.htm" target="_blank"&gt;exist&lt;/a&gt;. You’ll probably want to select the option to install a SSH server during setup and once it’s complete, SSH or console in and enter:&lt;/p&gt;
&lt;pre class="brush: plain"&gt;aptitude update
aptitude upgrade
apt-get update
apt-get install squid&lt;/pre&gt;
&lt;p&gt;That will update and install Squid (it installed 2.7.STABLE9-2.1 for me), so now we need to configure it. You might also want to secure your install a bit more than it is at this point as well, such as setup &lt;a href="http://wiki.debian.org/iptables" target="_blank"&gt;iptables&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Fail2ban" target="_blank"&gt;Fail2ban&lt;/a&gt;, disable root logins, etc. but I won’t go into that here. Squid should work as a proxy out of the box on port 3128 but it will identify itself as a proxy, so let’s change that. The Squid config file that comes with it is almost 5000 lines and well documented so I suggest you backup the original and create a new one with just the settings we need, so that we keep it simple.&lt;/p&gt;
&lt;pre class="brush: plain"&gt;cd /etc/squid
sudo mv squid.conf  squid.conf.orig
nano squid.conf&lt;/pre&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;That will open the nano text editor, creating a new config file. Squid has some options for access control, that is, what IP addresses are allowed to use it. For more info on this, check &lt;a href="http://www.deckle.co.za/squid-users-guide/Squid_Configuration_Basics#Simple_Access_Control" target="_blank"&gt;here&lt;/a&gt;. For me, I wanted my LAN to have access and also my VPN clients, but you might want LAN IP addresses or to allow anyone to connect. Enter this into nano…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;acl all src all
cache deny all
http_port 3128 transparent
acl privatenet src 172.16.0.0/255.255.254.0
acl vpnnet src 10.101.10.0/255.255.255.0
http_access allow privatenet
http_access allow vpnnet
forwarded_for off
visible_hostname proxy1.mydomain.net&lt;/pre&gt;
&lt;p&gt;That allows all IP address 172.16.0.0/23 and 10.101.10.0/24 to connect to the proxy. This setup gives us an anonymous proxy which will show as what you set in visible_hostname, however we want an ‘elite’ proxy, so also add…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;header_access Via deny all
header_access Forwarded-For deny all
header_access X-Forwarded-For deny all&lt;/pre&gt;
&lt;p&gt;Exit nano with ctrl-x and save the config file when prompted, now restart Squid with…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;/etc/init.d/squid restart&lt;/pre&gt;
&lt;p&gt;Once you’re done, to test it add your proxy server to &lt;a href="http://www.wikihow.com/Enter-Proxy-Settings-in-Firefox" target="_blank"&gt;Firefox&lt;/a&gt;…&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lww5uyeCZR1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;and you can check your proxy &lt;a href="http://www.whatismyip.ro/" target="_blank"&gt;here&lt;/a&gt; or &lt;a href="http://thisisarecording.com/proxy-checker/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I hope that helps someone.&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/14893527713</link><guid>http://www.ichi.co.uk/post/14893527713</guid><pubDate>Wed, 28 Dec 2011 02:08:00 +0000</pubDate><category>squid</category><category>linux</category><category>proxy</category><category>howto</category></item><item><title>Fixing Tumblr Connection Reset Problems With Cloudflare</title><description>&lt;p&gt;Since I’ve moved this site to &lt;a href="http://www.tumblr.com" target="_blank"&gt;Tumblr&lt;/a&gt;, &lt;a href="http://www.google.com/chrome" target="_blank"&gt;Chrome&lt;/a&gt; has been giving me ERR_CONNECTION_RESET errors when trying to access it, forcing me to refresh a few times to get it to load. IE and Firefox were also telling me ‘The Connection Was Reset’. I also noticed a query-string being added to the URL, but I didn’t get to the bottom of that. I’ve just moved the DNS for this domain to &lt;a href="http://www.cloudflare.com" target="_blank"&gt;Cloudflare.com&lt;/a&gt; and am using their CDN to cache and deliver the images and scripts on the site. Not only has the connection reset problem gone away, the site is now definitely loading faster that it was before. And the best bit is that it’s totally free. Thanks Cloudflare!&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lwbc5gD1vV1r130g2.png"/&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/14319490346</link><guid>http://www.ichi.co.uk/post/14319490346</guid><pubDate>Fri, 16 Dec 2011 20:25:00 +0000</pubDate><category>cloudflare</category><category>tumblr</category><category>webhosting</category><category>CDN</category><category>DNS</category></item><item><title>An easy way to copy your ssh public key to a remote host using ssh-copy-id on OSX</title><description>&lt;p&gt;Here is a good little tip to save you some time uploading your public key to a remote host (tested to work on OSX Lion).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://linux.die.net/man/1/ssh-copy-id" target="_blank"&gt;ssh-copy-id&lt;/a&gt; copies your key up to a remote host (via ssh with your password) and even assigns the correct permission to home, ~/.ssh, and ~/.ssh/authorized_keys directories for you.&lt;/p&gt;
&lt;p&gt;For some reason it doesn’t ship with OSX, but you can just copy it from your remote linux host and it’ll work fine.&lt;/p&gt;
&lt;p&gt;First copy ssh-copy-id down from your remote host…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;sudo scp user@host.mydomain.com:/usr/bin/ssh-copy-id /usr/bin&lt;/pre&gt;
&lt;p&gt;Make sure it has execute permissions with…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;sudo chmod +x /usr/bin/ssh-copy-id&lt;/pre&gt;
&lt;p&gt;Upload your key to the remote host (this will ask your for your password)…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;ssh-copy-id -i ~/.ssh/id_rsa.pub user@host.mydomain.com&lt;/pre&gt;
&lt;p&gt;You should see output like this…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;Now try logging into the machine, with "ssh 'user@host.mydomain.com'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.&lt;/pre&gt;
&lt;p&gt;Hopefully, that’s it. Next time you want to copy your public key up to a new host, you’ll just need to do the final step each time.&lt;/p&gt;
&lt;p&gt;If you get the error “&lt;strong&gt;/usr/bin/ssh-copy-id: ERROR: No identities found&lt;/strong&gt;” when you try to copy your key up, it’s basically because it can’t find your local public key file that you’ve specified (~/.ssh/id_rsa.pub in the example above). Have a look in your ~/.ssh/ to see if your public key is there and what the file is called (I’ve seen id_dsa.pub before as well).&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;</description><link>http://www.ichi.co.uk/post/13872775397</link><guid>http://www.ichi.co.uk/post/13872775397</guid><pubDate>Wed, 07 Dec 2011 14:19:00 +0000</pubDate><category>ssh</category><category>osx</category><category>linux</category><category>sysadmin</category><category>sftp</category><category>terminal</category></item><item><title>LMIRfsClientNP.dll is not a valid windows image</title><description>&lt;p&gt;I had to logon to a client’s computer today to have a look at an issue with some software I’d created. They have LogMeIn on all their computers and I got the error “LMIRfsClientNP.dll is not a valid windows image” when I logged on. I fairly quickly found that this is caused by LogMeIn itself. So I connected to their VPN, then RDP’d in to the problematic PC, uninstalled LogMeIn and reinstalled it and the problem went away. &lt;/p&gt;</description><link>http://www.ichi.co.uk/post/13784394820</link><guid>http://www.ichi.co.uk/post/13784394820</guid><pubDate>Mon, 05 Dec 2011 17:48:40 +0000</pubDate><category>I.T</category><category>support</category><category>computers</category><category>PCs</category><category>Windows</category></item><item><title>Black Screen After Updating Battlefield 3</title><description>&lt;p&gt;EA &lt;a href="http://www.enterbf3.com/news/640-patch-details/" target="_blank"&gt;released&lt;/a&gt; an update today which fixes a problem with black screens at start-up. After it updated however, I started getting black screens when I tried to enter a multi-player game. It took me a while until I found a post on a &lt;a href="http://www.crazyws.fr/tutos/probleme-d-ecran-noir-sur-battlefield-3.html" target="_blank"&gt;French blog&lt;/a&gt; that explained that if you bought the Russian language version for a lot cheaper like me, the update broke the files we installed to change it to English and gives updated language pack files which fix it.&lt;/p&gt;
&lt;p&gt;Here is a translation (and files below)…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updating the Language Pack (22/11/2011)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For those who bought the game and have put the Russian language pack in French, you probably now the problem of black screen. To correct it, I will provide you with the language pack to correct the problem. Before downloading the pack, make sure you are past the stage of updating the information in the registry above. This patch includes languages ​​in English GDFBinary_en_US.dll and French GDFBinary_fr_FR.dll to apply to the Russian version and other files related to languages.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/p&gt;
&lt;div&gt;
&lt;p&gt;Download &lt;a href="http://static.crazyws.fr/resources/blog/2011/11/bf3-lang-1-1.zip" target="_blank"&gt;Patch 1.1 Language&lt;/a&gt;&lt;br/&gt; Close Origin&lt;br/&gt; Put the contents of the zip file to C: \ Program Files \ Origin Games \ Battlefield 3 and overwrite files if asked.&lt;/p&gt;
&lt;p&gt;Thanks to and translation from:&lt;a href="http://www.crazyws.fr/tutos/probleme-d-ecran-noir-sur-battlefield-3.html" target="_blank"&gt;&lt;a href="http://www.crazyws.fr/tutos/probleme-d-ecran-noir-sur-battlefield-3.html" target="_blank"&gt;http://www.crazyws.fr/tutos/probleme-d-ecran-noir-sur-battlefield-3.html&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;</description><link>http://www.ichi.co.uk/post/13176331885</link><guid>http://www.ichi.co.uk/post/13176331885</guid><pubDate>Tue, 22 Nov 2011 23:08:00 +0000</pubDate><category>games</category><category>pcgaming</category><category>battlefield3</category><category>bf3</category><category>pc</category><category>error</category></item><item><title>Throttling internet bandwidth in OSX </title><description>&lt;p&gt;This is useful for testing the effect of slow connections on mobile apps in the development emulators. &lt;/p&gt;
&lt;p&gt;It uses &lt;a href="http://en.wikipedia.org/wiki/Ipfirewall" target="_blank"&gt;IPFirewall&lt;/a&gt; rules to limit connections from your computer to the web (on TCP port 80) to 15KB per second (or any number you choose). Fire up the &lt;a href="http://macapper.com/2007/03/08/the-terminal-an-introduction/" target="_blank"&gt;terminal&lt;/a&gt; and enter…&lt;/p&gt;
&lt;pre class="brush: plain"&gt;sudo ipfw pipe 1 config bw 15KByte/s
sudo ipfw add 1 pipe 1 src-port 80
&lt;/pre&gt;
&lt;p&gt;Just make sure you remember to remove the rule when you are done with it…&lt;/p&gt;
&lt;pre class="brush: plain; title: ; notranslate"&gt;sudo ipfw delete 1&lt;/pre&gt;</description><link>http://www.ichi.co.uk/post/12975202899</link><guid>http://www.ichi.co.uk/post/12975202899</guid><pubDate>Fri, 18 Nov 2011 19:14:35 +0000</pubDate><category>osx</category><category>development</category><category>internet</category><category>firewall</category><category>mac</category><category>apple</category><category>iphone</category><category>android</category><category>win</category><category>windowsphone</category></item><item><title>Bassdrive Windows Phone 7 Mango (WP7) App</title><description>&lt;p&gt;When I got my Windows 7 Phone a few months ago, I started playing around with a few things to see what it could do and what the SDK was like. A little while later I was listening to Bassdrive and I thought I’d see how quickly I could make an app similar to the &lt;a href="http://itunes.apple.com/us/app/bassdrive/id407912040?mt=8" target="_blank"&gt;iOS version&lt;/a&gt; I use on my iPhone. I spent an evening on it at first, a few months ago now and tonight I’ve just got around to finishing it. &lt;/p&gt;
&lt;p&gt;Don’t expect anything too good, as I did it for fun in a few evenings, but with something as basic as an app that streams a single radio station it’s the content that matters most (as long as it doesn’t crash).&lt;/p&gt;
&lt;p&gt;The app is currently being reviewed by Microsoft, so hopefully it will be available soon. When it has been accepted it will be available to download &lt;a href="http://windowsphone.com/s?appid=e1ad853b-fe8c-4cc0-9a6a-3804fac82d11" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have also made &lt;a href="http://www.ichi.co.uk/bassdrive" target="_blank"&gt;this page&lt;/a&gt; so I can post some more details on the app, as it doesn’t work if you have a proxy set in your Cellular APN.&lt;/p&gt;
&lt;p&gt;Here is a screenshot…&lt;/p&gt;
&lt;p&gt;&lt;img height="600" src="http://media.tumblr.com/tumblr_lurqmuLoWY1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;This app is unofficial and logos, etc. are used with permission from &lt;a href="http://www.bassdrive.com" target="_blank"&gt;Bassdrive.com&lt;/a&gt;&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/12890096172</link><guid>http://www.ichi.co.uk/post/12890096172</guid><pubDate>Wed, 16 Nov 2011 19:56:00 +0000</pubDate><category>apps</category><category>bassdrive</category><category>development</category><category>drum&amp;amp;bass</category><category>mobile</category><category>mobileapps</category><category>music</category><category>programming</category><category>software</category><category>drumandbass</category></item><item><title>Getting an Alexa Rank programmatically in C#</title><description>&lt;p&gt;As part of a project I’m working on, I needed to lookup the Alexa Traffic Rank for a domain programmatically. I found the URL the toolbar uses and wrote function to parse the XML and return the value, which I thought I’d share in case it saves someone else 15 minutes of their life… &lt;/p&gt;
&lt;pre class="brush: csharp"&gt;private int GetAlexaRank(string domain)
{
    var alexaRank = 0;
    try
    {
        var url = string.Format("http://data.alexa.com/data?cli=10&amp;dat=snbamz&amp;url={0}", domain);

        var doc = XDocument.Load(url);

        var rank = doc.Descendants("POPULARITY")
        .Select(node =&gt; node.Attribute("TEXT").Value)
        .FirstOrDefault();

        if (!int.TryParse(rank, out alexaRank))
            alexaRank = -1;

    }
    catch (Exception e)
    {
        return -1;
    }

    return alexaRank;
}
&lt;/pre&gt;
&lt;p&gt;You’ll need to import System.Xml.Linq&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/12744611627</link><guid>http://www.ichi.co.uk/post/12744611627</guid><pubDate>Sun, 13 Nov 2011 17:39:00 +0000</pubDate><category>programming</category><category>csharp</category><category>seo</category><category>alexa</category><category>code</category></item><item><title>MJ12bot and blocking web crawlers with IIS 7</title><description>&lt;p&gt;Our web servers were recently getting hit pretty hard by web crawler bots that simply ignore your Robots.txt file. We were getting hit especially hard by a bot called MJ12bot, which is supposed to be for a distributed search engine which they say lives in an alpha state at &lt;a href="http://search.majestic12.co.uk/" target="_blank"&gt;search.majestic12.co.uk&lt;/a&gt; (at the time of writing that is down). It seems they get people to run their &lt;a href="http://www.majestic12.co.uk/projects/dsearch/download.php" target="_blank"&gt;SETI@Home like software&lt;/a&gt; that uses your power, CPU and bandwidth to help them build what they say is a distributed search engine. What they definitely are doing with the data at present is running a &lt;a href="http://www.majesticseo.com/" target="_blank"&gt;SEO business&lt;/a&gt;, that tells you how many back-links you have, etc. via what seems to be the huge index that they have built via people donating their computing resources. &lt;/p&gt;
&lt;p&gt;We use Windows 2008 R2, so the solution for us was to block these crawlers via their user agent (easily done with Apache as well). To do so, open your site in IIS 7 and select the URL Rewrite module (you may have to add this via the Add/Remove Windows Features tool). Select Add Rule (in the top right) and then select ‘Blank rule’. Set you’re new rule up like the image below shows…&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltn66oEL6A1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;And add a condition like the one below…&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_ltn6at3QUn1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;Our regex string is “MJ12bot|soso|baidu|youdao|NaverBot|Yeti|ichiro|moget|sogou|Speedy”, however you may want to include Yandex in that as well. I’ve just removed them as they emailed us asking us to allow them to index our site and said that they obey Robots.txt rules, such as crawl-rate and disallow. &lt;/p&gt;</description><link>http://www.ichi.co.uk/post/11922065035</link><guid>http://www.ichi.co.uk/post/11922065035</guid><pubDate>Tue, 25 Oct 2011 23:01:00 +0100</pubDate><category>iis</category><category>iis7.5</category><category>servers</category><category>internet</category><category>windowsserver</category><category>server2008</category><category>webcrawler</category></item><item><title>Free Agent</title><description>&lt;p&gt;I’ve been using &lt;a href="http://fre.ag/41f4nzc5" target="_blank"&gt;Free Agent&lt;/a&gt; for about 3 weeks now and it’s changed a lot of things about the way I work for the better. I can see why everyone waxes lyrical about it. If you are a sole trader, freelancer or limited company, it basically rocks. I have been using &lt;a href="http://www.billingsapp.com/" target="_blank"&gt;Billings&lt;/a&gt; for the last 2 years and while it’s great for doing invoicing, that’s basically all it does. It also doesn’t even do invoicing as well as Free Agent does, as it is much faster adding timeslips and turning them into invoices which you can email out with Free Agent. It surprised me how efficient they’ve made it. Enjoy. :)&lt;/p&gt;
&lt;p&gt;I highly recommend it and if you use this referral code we will both get 10% off: &lt;span&gt;&lt;strong&gt;41f4nzc5&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Check it out at: &lt;a href="http://fre.ag/41f4nzc5" target="_blank"&gt;freeagentcentral.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy. :)&lt;/p&gt;</description><link>http://www.ichi.co.uk/post/11877766675</link><guid>http://www.ichi.co.uk/post/11877766675</guid><pubDate>Mon, 24 Oct 2011 22:28:00 +0100</pubDate><category>freeagent</category><category>referralcode</category><category>discount</category><category>accounting</category><category>webapp</category></item><item><title>Redirecting www.* subdomain to the root domain in IIS 7</title><description>&lt;p&gt;Having your site available on &lt;a href="http://www.yourdomain.com" target="_blank"&gt;www.yourdomain.com&lt;/a&gt; and yourdomain.com isn’t good for your SEO as it splits the domain authority. You can use the &lt;a href="http://www.google.com/webmasters/" target="_blank"&gt;Google Webmaster Tools&lt;/a&gt; to specify which domain Google should use, but you should also redirect on the site itself. You can do this in your web.config directly, but IIS has a module to do it for you. Redirecting from a sub-domain in IIS 7 is really easy using the URL Rewrite feature. &lt;/p&gt;
&lt;p&gt;First select the URL Rewrite module for your domain:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt21x1sipY1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;Click Add Rule in the top right panel and select Canonical domain name.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt21y5yjJR1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;Add the your domain name without the www.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt21yoMyTt1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;You will see your rule has been created…&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt21yy1RMK1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;Now we need to make the redirect send the 301 HTTP header, which makes it a permanent redirect, so select your rule and hit “Edit…” in the right side bar, scroll to the bottom and change the Redirect type to Permanent (301).&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lt22uk9WuX1r130g2.png"/&gt;&lt;/p&gt;
&lt;p&gt;This will make your web.config file something like this…&lt;/p&gt;
&lt;pre class="brush: xml"&gt;&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration&gt;
    &lt;system.webServer&gt;
        &lt;rewrite&gt;
            &lt;rules&gt;
                &lt;rule name="CanonicalHostNameRule1"&gt;
                    &lt;match url="(.*)" /&gt;
                    &lt;conditions&gt;
                        &lt;add input="{HTTP_HOST}" pattern="^scorch\.io$" negate="true" /&gt;
                    &lt;/conditions&gt;
                    &lt;action type="Redirect" url="http://scorch.io/{R:1}" redirectType="Permanent" /&gt;
                &lt;/rule&gt;
            &lt;/rules&gt;
        &lt;/rewrite&gt;
    &lt;/system.webServer&gt;
&lt;/configuration&gt;
&lt;/pre&gt;</description><link>http://www.ichi.co.uk/post/11433708074</link><guid>http://www.ichi.co.uk/post/11433708074</guid><pubDate>Fri, 14 Oct 2011 13:35:00 +0100</pubDate><category>domains</category><category>hosting</category><category>iis7</category><category>internet</category><category>webservers</category><category>seo</category></item><item><title>Google Analytics new Real Time stats feature is very cool. </title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lsozpuxV6p1r40z7oo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Google Analytics new &lt;a href="http://analytics.blogspot.com/2011/09/whats-happening-on-your-site-right-now.html" target="_blank"&gt;Real Time stats&lt;/a&gt; feature is very cool. &lt;/p&gt;</description><link>http://www.ichi.co.uk/post/11136707014</link><guid>http://www.ichi.co.uk/post/11136707014</guid><pubDate>Fri, 07 Oct 2011 11:56:00 +0100</pubDate><category>websites</category><category>stats</category><category>googleanalytics</category><category>internet</category></item></channel></rss>

