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

<channel>
	<title>BootBlock.co.uk</title>
	<atom:link href="http://www.bootblock.co.uk/home/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bootblock.co.uk/home</link>
	<description>Software &#38; Rants</description>
	<pubDate>Tue, 09 Jun 2009 19:04:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Golden Axe: Beast Rider</title>
		<link>http://www.bootblock.co.uk/home/2009/06/09/golden-axe-beast-rider/</link>
		<comments>http://www.bootblock.co.uk/home/2009/06/09/golden-axe-beast-rider/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 19:04:59 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Annoying]]></category>

		<category><![CDATA[Arcade]]></category>

		<category><![CDATA[Classics]]></category>

		<category><![CDATA[Comix Zone]]></category>

		<category><![CDATA[Frustrating]]></category>

		<category><![CDATA[Megadrive]]></category>

		<category><![CDATA[Sega]]></category>

		<category><![CDATA[Shit]]></category>

		<category><![CDATA[Sonic]]></category>

		<category><![CDATA[Streets of Rage]]></category>

		<category><![CDATA[Xbox]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=169</guid>
		<description><![CDATA[Right, I&#8217;m going to fucking well write this. It&#8217;s not going to make any difference to anything in the world, but I don&#8217;t care. There&#8217;s swearing. Be warned, or get the hell out.
I love countering in games. Beat &#8216;em ups or whatever, I like to wait out the CPU player (not so much humans, as [...]]]></description>
			<content:encoded><![CDATA[<p>Right, I&#8217;m going to fucking well write this. It&#8217;s not going to make any difference to anything in the world, but I don&#8217;t care. There&#8217;s swearing. Be warned, or get the hell out.</p>
<p>I love countering in games. Beat &#8216;em ups or whatever, I like to wait out the CPU player (not so much humans, as playing in this style makes it a lot less fun for them, and therefore makes you a fun-spoiling cock) and counter-move their arses into the ground. It enlarges my e-peen with manliness.</p>
<p>Golden Axe: Beast Rider (Xbox 360) is a game seemingly based on countering, and it also seems to be based on being a huge piece of frustrating shit.</p>
<p>Going on odds alone, you have a 1-in-4 chance of countering a move. If the enemy&#8217;s weapon briefly glows yellow, then you have to Dodge. If it goes blue, you have to Parry. If there are multiple enemies surrounding you - which there always seems to fucking be - then you&#8217;re screwed. I managed to lose half of my HP bar in a few seconds because I got caught in a corner as the whole countering system simply broke down.</p>
<p>It seems the idiots that designed this game (Secret Level, I think they are) incorporated the Survival mode of other games as the main mode of Golden Axe. If you lose a lot of HP early on then you&#8217;re sometimes stuck with that health until you complete the level, so you better pray you don&#8217;t get cheesed by the baddies further on.</p>
<p>Cheesing? Yeah, that&#8217;s what I&#8217;m gonna call it. It&#8217;s akin to beating someone in Street Fighter by reducing their health solely by them blocking your attacks (a blocked attack still does a small amount of damage to the blocker). But in the case of GA, you&#8217;ll get chain-fucked and none of it will be counterable because as mentioned above, the countering system can break down at certain points, and about twelve enemies will bum you about your person.</p>
<p>The annoyance factor would have been lower if you only needed to block one type of attack as opposed to the two and the system on the whole being generally more responsive. I also seem to forget the controls while I&#8217;m actively playing. I don&#8217;t think I&#8217;ve experienced that in a very long time with a game.</p>
<p>Sega have really gone down the shitter since they dropped out of the hardware market and become a 3rd party game developer. A lot of people would have killed for a traditional Golden Axe game. Make it 3D if you have to, but keep it in the same side-on view as the originals (except for GA III for the Megadrive - truly awful game; the &#8220;proper&#8221; GA II arcade game was awesome) and it would be a sure-fire hit. Stop fucking about with this 3D roaming crap.</p>
<p>Equally, Streets of Rage should be remade in the exact same style as the originals and people like me would jizz their wads all over it. Comix Zone is another good one. No 3D roaming, you stupid Sega wankers - stop jumping on the <em>&#8220;It must be 3D!&#8221;</em> thing. It&#8217;s the same reason why all of the latest Sonic games have been big steaming piles of despair.</p>
<p>A side-on Golden Axe/Streets of Rage/Sonic? Yes fucking <strong>PLEASE</strong>. Do these and stop wasting your time with game-styles players don&#8217;t want.</p>
<p>In the meantime, fuck you Golden Axe: B(r)east Rider. I died near the end of Titan Wasteland, and there&#8217;s no chance in hell I&#8217;m going to go through all that again - it&#8217;s going back to the rental place tomorrow.</p>
<p><em><strong>For those that are wondering why it&#8217;s taking me so long to update:</strong> I&#8217;ve found out that a <strong>lot</strong> more visitors are viewing the <a title="BootBlock Software" href="http://software.bootblock.co.uk">Software</a> section as opposed to the main page, so I&#8217;ve decided </em>&#8220;Why the hell bother?&#8221;<em>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/06/09/golden-axe-beast-rider/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Release: Comical 0.96 Beta</title>
		<link>http://www.bootblock.co.uk/home/2009/05/06/release-comical-096-beta/</link>
		<comments>http://www.bootblock.co.uk/home/2009/05/06/release-comical-096-beta/#comments</comments>
		<pubDate>Wed, 06 May 2009 18:31:47 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Release]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Comical]]></category>

		<category><![CDATA[Comics]]></category>

		<category><![CDATA[Download]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=166</guid>
		<description><![CDATA[Hmm, no updates for almost a month. That probably isn&#8217;t good. I probably say that all the time and do nothing about it.
So, a new release of Comical. In fact, I think there has been two releases since I lost wrote about it. The previous version added support for archiving and browsing said archives and [...]]]></description>
			<content:encoded><![CDATA[<p>Hmm, no updates for almost a month. That probably isn&#8217;t good. I probably say that all the time and do nothing about it.</p>
<p>So, a new release of Comical. In fact, I think there has been two releases since I lost wrote about it. The previous version added support for archiving and browsing said archives and various other things. This release is mainly a maintenance that fixes a few things.</p>
<p>One problem was a (handled!) crash when moving through a comic archive after renaming a comic - I forgot to update the state of some variable, so easy enough to fix. Another one wasn&#8217;t my fault, but the fault of <a title="Awkward Zombie web-comic" href="http://www.awkwardzombie.com">Awkward Zombie</a>&#8217;s web-server being incorrectly configured and probably lending itself to a security issue by using a space in its HTTP Name/Value pair headers.</p>
<p><strong>View:</strong> <a title="Comical - web-comic downloader, viewier, and archiver." href="http://software.bootblock.co.uk/?id=comical">Comical</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/05/06/release-comical-096-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Server Change</title>
		<link>http://www.bootblock.co.uk/home/2009/04/09/server-change/</link>
		<comments>http://www.bootblock.co.uk/home/2009/04/09/server-change/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 14:24:23 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[Website]]></category>

		<category><![CDATA[Website News]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=147</guid>
		<description><![CDATA[The server move is complete! The forum is back (and now advertised above), along with the addition of a wiki for my software. Waah, a wiki?! Yeah, click on the link above but do note that at the time of writing there&#8217;s only Comical in there.
Email is also back up and running, so, yeah, whatever. [...]]]></description>
			<content:encoded><![CDATA[<p>The server move is complete! The forum is back (and now advertised above), along with the addition of a wiki for my software. Waah, a wiki?! Yeah, click on the link above but do note that at the time of writing there&#8217;s only <a title="Comical - comic downloader and viewer" href="http://software.bootblock.co.uk/?id=comical">Comical</a> in there.</p>
<p>Email is also back up and running, so, yeah, whatever. What, you don&#8217;t actually expect me to reply to you, do you?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/04/09/server-change/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Release: Comical v0.20 Alpha, FileOps v0.32 Beta</title>
		<link>http://www.bootblock.co.uk/home/2009/03/30/release-comical-v020-alpha-fileops-v032-beta/</link>
		<comments>http://www.bootblock.co.uk/home/2009/03/30/release-comical-v020-alpha-fileops-v032-beta/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 15:59:31 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Release]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[my software]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=142</guid>
		<description><![CDATA[Come and git yer new releases&#8230;
Comical
This was released a few days ago, but I&#8217;ve just updated it as I made a bit of a whoopsie. Comical is a web-comic viewer that supports a database of configurable comics.
My Blockbox HTPC software had a plugin that supported the viewing of comics but testing was time-consuming as it [...]]]></description>
			<content:encoded><![CDATA[<p>Come and git yer new releases&#8230;</p>
<h3>Comical</h3>
<p>This was released a few days ago, but I&#8217;ve just updated it as I made a bit of a whoopsie. Comical is a web-comic viewer that supports a database of configurable comics.</p>
<p>My <a title="HTPC software" href="http://software.bootblock.co.uk/?id=blockboxwf" target="_self">Blockbox</a> HTPC software had a plugin that supported the viewing of comics but testing was time-consuming as it required Blockbox to be restarted and such. So I moved the code into a separate application to facilitate development - except getting the updated code back into the plugin required copy and pasting. Bleh, I refuse to do that. This was quite a while back, and in-case I decide to finally give WPF another chance, I&#8217;ve rewritten the code and placed it into a class library so it can just be referenced just like a standard DLL.</p>
<p>It now uses an XML file to define comics which means anyone can just edit the file to include new ones. Because it&#8217;s an external file, Comical supports automatic updating of the file with a click of a button.</p>
<p>Another new version of Comical will be released in a couple of days when I&#8217;ve further fleshed out the XML elements.</p>
<p><strong>View:</strong> <a title="View web-comics on your desktop" href="http://software.bootblock.co.uk/?id=comical" target="_self">Comical</a></p>
<h3>FileOps</h3>
<p>This was originally released back in 2004 and then updated last year, and now finally there&#8217;s a new release. The main reason why I updated it - and fixed a couple of things - was because I made a little change to the way the Join feature works. When joining multiple files, it now pre-allocates the disk space the combined file will take before it starts joining; this had led to an insane speed increase in joins.</p>
<p>Ideally, I&#8217;d like to rewrite FileOps from scratch as I&#8217;ve long since changed my coding style and the source is actually using .NET 1.1 structuring that I don&#8217;t particularly like. But I&#8217;m not going to as I don&#8217;t know if enough people use it to warrant such a task. I&#8217;ll just continue modifying the current code base incrementally; there are definitely little bugs and a weird work-flow present.</p>
<p><strong>View:</strong> <a title="Perform various file operations" href="http://software.bootblock.co.uk/?id=fileops" target="_self">FileOps</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/03/30/release-comical-v020-alpha-fileops-v032-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter? Oh FFS.</title>
		<link>http://www.bootblock.co.uk/home/2009/02/20/twitter-oh-ffs/</link>
		<comments>http://www.bootblock.co.uk/home/2009/02/20/twitter-oh-ffs/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 21:34:53 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Website]]></category>

		<category><![CDATA[FluidBar]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=106</guid>
		<description><![CDATA[Twitter is a stupid fad of little worth used by people who think they&#8217;re intellectually above everybody else but have an overwhelming urge to let those loser everybodies know how much their morning dump weighs mere moments after it came dribbling out of their flap. They&#8217;re fad-driven arseholes and I hate them.
I signed up for [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter is a stupid fad of little worth used by people who <a title="Gargghhhhllleee uhhhbbbllleeee" href="http://www.apple.com/getamac/whichmac/" target="_self">think</a> they&#8217;re intellectually above everybody else but have an overwhelming urge to let those loser everybodies know how much their morning dump weighs mere moments after it came dribbling out of their flap. They&#8217;re fad-driven arseholes and I hate them.</p>
<p>I signed up for a Twitter account about ten minutes ago.</p>
<p><span id="more-106"></span>Woah! Wait! There&#8217;s a reason. Plugin development.</p>
<p>I&#8217;m working on something called <a title="Extensible plugin bars" href="http://software.bootblock.co.uk/?id=fluidbar">FluidBar</a> that utilises plugins, and one of those plugins - as much as it pains me - is a Twitter plugin. As I ranted above, yes, I think Twitter is a waste of time. But, feed-driven updates work well with FluidBar, so I&#8217;m going to put it in there, and this requires me having an account.</p>
<p>I&#8217;ve signed up but I can&#8217;t work out how the hell to post a &#8220;tweet&#8221;. I notice there&#8217;s a prominent <em>Delete My Account</em> link at the bottom of each page, but no links for actually posting something. Maybe that&#8217;s the most-clicked link and they&#8217;re just putting it in an easily accessible location?</p>
<p>Anyway, whatever.</p>
<p>I&#8217;ve placed a link to my Twatter thing below should you honestly give a crap what some idiot on the internet rants about, but be aware that it&#8217;ll contain rants and swearing, along with programming &#8220;updates&#8221; that at least give the impression that I&#8217;m using the &#8220;service&#8221; for its intended&#8230; intention. <em>But remember that it&#8217;s primarily for test entries that I can enumerate through - not some thing where I absolutely must let everyone know about the inane shite I&#8217;m doing every second of the day.</em></p>
<p>Now I just need to sign up for a Flickr account and I&#8217;ll be a fully certified wanker. Which I&#8217;m not going to do. Ha.</p>
<p><strong>Edit:</strong> I&#8217;m thinking of removing the link to my Twitter thing; I&#8217;m not sure I want to be associated with the whole &#8220;thing&#8221; of it.</p>
<p><strong>Edit 2:</strong> I&#8217;m not currently working on the plugin right at this moment, so I&#8217;m done with Twitter for the time being. The people who are having full-blown conversations via It are making me sick. I&#8217;ve removed the link from the menu on the right and from below. Hah!</p>
<p><strong>View:</strong> <em>&#8211; removed &#8211;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/02/20/twitter-oh-ffs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Release: YouChoob v1.06</title>
		<link>http://www.bootblock.co.uk/home/2009/02/20/release-youchoob-v106/</link>
		<comments>http://www.bootblock.co.uk/home/2009/02/20/release-youchoob-v106/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 00:53:10 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Release]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[video]]></category>

		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=103</guid>
		<description><![CDATA[Here we go, another version.
Due to the feature requests I was getting and the fact that Stream Keeper (temporary title) could be quite a while away, I finally went and added configurable settings. I regarded YouChoob as more of a tool than an application, so I wanted to keep it minimal. Not any more, it [...]]]></description>
			<content:encoded><![CDATA[<p>Here we go, another version.</p>
<p>Due to the feature requests I was getting and the fact that <a href="http://software.bootblock.co.uk/?id=streamkeeper" target="_self">Stream Keeper</a> (temporary title) could be quite a while away, I finally went and added configurable settings. I regarded YouChoob as more of a tool than an application, so I wanted to keep it minimal. Not any more, it seems.</p>
<p>More importantly, I figured out a way of getting batch downloading working in a good way despite the app&#8217;s one-at-a-time download design. The batch window also features monitoring functionality in that it&#8217;ll keep an eye on the clipboard and add any new YouTube.com links it finds; this allows you to use your browser to Copy Shortcut/Link/Whatever to quickly queue a lot of links with minimal effort.</p>
<p>Check out YouChoob below for more information, specifically its change log.</p>
<p><strong>View:</strong> <a title="Download videos directly to your PC!" href="http://software.bootblock.co.uk/?id=youchoob" target="_self">YouChoob</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/02/20/release-youchoob-v106/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Windows 7 Features In .NET</title>
		<link>http://www.bootblock.co.uk/home/2009/02/13/using-windows-7-features-in-net/</link>
		<comments>http://www.bootblock.co.uk/home/2009/02/13/using-windows-7-features-in-net/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 05:58:30 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[VB]]></category>

		<category><![CDATA[Visual Basic]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=77</guid>
		<description><![CDATA[One of the things I like with new versions of Windows is the possibility of new features for developers. Windows 7, like Vista, seems to include a few little things for us to play about with, namely the ITaskbarList3 Interface exposed by the Windows Shell.
ITaskbarList3
This is an Interface exposed by the Shell32.dll library that provides [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I like with new versions of Windows is the possibility of new features for developers. Windows 7, like Vista, seems to include a few little things for us to play about with, namely the ITaskbarList3 Interface exposed by the Windows Shell.</p>
<h3><span id="more-77"></span>ITaskbarList3</h3>
<p>This is an Interface exposed by the Shell32.dll library that provides API functions for launching and adding switching taskbar button functionality, in addition to displaying thumbnail representations of tabs in a tabbed application, thumbnail toolbars, notification and status overlays, and - what we&#8217;re primarily interested in - progress indicators.</p>
<p>I installed the Windows 7 Beta a little while back as I was interested in making use of the progress indicator display exposed by the Shell in my own applications. For those that haven&#8217;t seen this in action, here&#8217;s a screen-grab of <a title="Download videos from YouTube directly to your PC" href="http://software.bootblock.co.uk/?id=youchoob">YouChoob</a>&#8217;s taskbar entry (the right-most icon) while downloading a video&#8230;</p>
<p style="text-align: center;"><img class="size-full wp-image-86 aligncenter" title="YouChoob displaying its download progress within the Windows 7 taskbar" src="http://www.bootblock.co.uk/home/wp-content/uploads/windows7-yc-progress50.png" alt="YouChoob's download progress within Window 7's taskbar" width="367" height="41" /></p>
<p>YouChoob has downloaded 50% of the video; as you can see, the downloaded percentage is reflected within the background of YouChoob&#8217;s taskbar entry. With the inclusion of the file at the end of this post, adding such a feature to your application is very easy.</p>
<h4>ITaskbarList3::HrInit</h4>
<p>This is the very first call you must make before any other calls detailed below. It initialises the Taskbar list object for use. There is no de-initialisation equivalent required at the end of program execution.</p>
<h4>ITaskbarList3::SetProgressState(windowHandle, flag)</h4>
<p>This allows you to specify which state your progress bar is in to Explorer. Here are the flags that can be passed, along with simplified descriptions of them.</p>
<ul>
<li><strong>TBPF_NOPROGRESS</strong>: Stops displaying any progress information and returns the taskbar entry back to its default state. This should be called when your application&#8217;s progress has completed.</li>
<li><strong>TBPF_INDERTERMINATE</strong>: Displays a marquee that constantly cycles from left to right to show that the application is busy, but it has no estimation on how long it will be busy for.</li>
<li><strong>TBPF_NORMAL</strong>: Displays a standard green progress bar that goes from left to right, indicating a growing percentage.</li>
<li><strong>TBPF_ERROR</strong>: Displays a red progress bar that indicates an error has occurred.</li>
<li><strong>TBPF_PAUSED</strong>: Turns the progress bar yellow indicating that it is currently paused.</li>
</ul>
<h4>ITaskbarList3::SetProgressValue(windowHandle, currentProgress, totalProgress)</h4>
<p>This is the method that will be getting called the most from your code as it updates the percentage (and ultimately the size of the bar) that is displayed on your application&#8217;s taskbar entry. The <strong>totalProgress</strong> parameter isn&#8217;t just a value from 0 to 100, but instead the raw value that denotes what value <strong>currentProgress</strong> must be for completion. For example, if you&#8217;re downloading a file that is 4,096 bytes in size, the <strong>totalProgress</strong> value will be 4,096 and <strong>currentProgress</strong> will be starting from 0 and working its way up to that 4,096 value.</p>
<h3>Example Code Overview</h3>
<p>What we&#8217;re going to be doing in the example code below is initialise the taskbar object, display an ever-increasing progress bar over the course of a 25 second time period, and then dismiss the progress bar when we&#8217;re finished. Examples for both VB.Net (WinForms) and C# (WPF) are listed.</p>
<p>SetProgressState and SetProgressValue requires the handle to the window that &#8220;owns&#8221; the progress information as their first parameter.</p>
<h3>Example Code - VB.Net WinForms</h3>
<p><span style="color: #008000;">&#8216; Create an instance of the TaskbarList for use.</span><br />
<span style="color: #0000ff;"> Dim</span> taskList <span style="color: #0000ff;">As New</span> TaskbarLib.TaskbarList</p>
<p><span style="color: #008000;">&#8216; Initialise the Tasklist so we can call its methods.</span><br />
taskList.<strong>HrInit</strong>()</p>
<p><span style="color: #008000;">&#8216; Put the progress bar in its Normal state.</span><br />
taskList.<strong>SetProgressState</strong>(myForm.Handle, TaskbarLib.TBPFLAG.TBPF_NORMAL)</p>
<p><span style="color: #008000;">&#8216; Do a standard 1 to 100 loop.</span><br />
<span style="color: #0000ff;">For</span> index <span style="color: #0000ff;">As Integer</span> = 1 To 100</p>
<p style="padding-left: 30px;"><span style="color: #008000;">&#8216; Increment the progress bar by the new index value.</span><br />
taskList.<strong>SetProgressValue</strong>(myForm.Handle, index, 100)</p>
<p style="padding-left: 30px;"><span style="color: #008000;">&#8216; Simulate some work being done by sleeping for 250ms.</span><br />
Threading.Thread.Sleep(250)</p>
<p><span style="color: #0000ff;">Next</span></p>
<p><span style="color: #008000;">&#8216; Dismiss the progress bar from the taskbar entry now that we&#8217;re done with it.</span><br />
taskList.<strong>SetProgressState</strong>(myForm.Handle, TaskbarLib.TBPFLAG.TBPF_NOPROGRESS)</p>
<h3>Example Code - C# WPF</h3>
<p><span style="color: #008000;">// Obtain a handle to our current window via the interop helper as WPF</span><br />
<span style="color: #008000;">// doesn&#8217;t natively expose the Handle property.</span><br />
<span style="color: #0000ff;">int</span> handle = <span style="color: #0000ff;">new</span> System.Windows.Interop.WindowInteropHelper(<span style="color: #0000ff;">this</span>).Handle.<span style="color: #0000ff;">ToInt32</span>();</p>
<p><span style="color: #008000;">// Create an instance of the TaskbarList for use.</span><br />
TaskbarLib.TaskbarList taskList = <span style="color: #0000ff;">new</span> TaskbarLib.TaskbarList();</p>
<p><span style="color: #008000;">// Initialise the Tasklist so we can call its methods.</span><br />
taskList.<strong>HrInit</strong>();</p>
<p><span style="color: #008000;">// Put the progress bar in its Normal state.</span><br />
taskList.<strong>SetProgressState</strong>(handle, TaskbarLib.TBPFLAG.TBPF_NORMAL);</p>
<p><span style="color: #008000;">&#8216; Do a standard 1 to 100 loop.</span><br />
<span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">ulong</span> index = 1; index &lt; 100; index++) {
</p>
<p style="padding-left: 30px;"><span style="color: #008000;">// Increment the progress bar by the new index value.</span><br />
taskList.<strong>SetProgressValue</strong>(handle, index, 100);</p>
<p style="padding-left: 30px;"><span style="color: #008000;">// Simulate some work being done by sleeping for 250ms.</span><br />
<span style="color: #000000;">System.Threading.Thread.Sleep(250);</span></p>
<p>}</p>
<p><span style="color: #008000;">// Dismiss the progress bar from the taskbar entry now that we&#8217;re done with it.</span><br />
taskList.<strong>SetProgressState</strong>(handle, TaskbarLib.TBPFLAG.TBPF_NOPROGRESS);</p>
<h3>ITaskbarList3 In Previous Versions of Windows</h3>
<p>Trying to use any of the ITaskbarList3 features in any version of Windows prior to 7 will result in a standard application crash. To get around this, you&#8217;ll need to check to make sure that your app is running in Windows 7 or higher before making any calls to the new interface. You could do this in various ways; here&#8217;s a simple method that returns a <strong>True</strong> or <strong>False</strong> determining if the current OS is Windows 7 or higher. <span style="text-decoration: line-through;">The comparisons haven&#8217;t been </span><span style="text-decoration: line-through;"><span id="query" class="query">short-circuited</span> due to reasons of clarity.</span></p>
<p><strong>Edit:</strong> <em>Thanks to <a title="Sound guy!" href="http://blogs.msdn.com/larryosterman">Larry Osterman</a>, I&#8217;ve fixed a very stupid error in the version check code, although Larry&#8217;s posting goes a bit far saying that version checking </em>&#8220;is hard&#8221;<em>. My excuse is: I was pissing around in a language I&#8217;m not familiar with while not really paying attention to what I was writing (a bit of a dialogue was happening within the comments I was trying to keep up with). In addition, I&#8217;ve removed the VB code rather than rewrite it as Wordpress is driving me mad when I want nicely formatted code.</em></p>
<address> </address>
<address><span style="color: #008000;">// Simple example in C#; you can cache the return result or whatever should you so wish.</span><br />
</address>
<address><span style="color: #000000;"><span style="color: #0000ff;">internal bool</span> SupportsTaskProgress() {</span></address>
<address style="padding-left: 30px;"><span style="color: #000000;"> <span style="color: #0000ff;">if</span> (System.Environment.OSVersion.Version.Major == 6) {</span></address>
<address style="padding-left: 60px;"><span style="color: #000000;"><span style="color: #0000ff;">return</span> (System.Environment.OSVersion.Version.Minor &gt;= 1);</span></address>
<address style="padding-left: 30px;"><span style="color: #000000;">} <span style="color: #0000ff;">else</span> {</span></address>
<address style="padding-left: 60px;"><span style="color: #000000;"><span style="color: #0000ff;">return</span> (System.Environment.OSVersion.Version.Major &gt; 6);</span></address>
<address style="padding-left: 30px;"><span style="color: #000000;">}<br />
</span></address>
<address><span style="color: #0000ff;"><span style="color: #000000;">}<br />
</span></span></address>
<h3>In Conclusion</h3>
<p>Windows 7 provides a way for developers to display progress information while their application isn&#8217;t being directly displayed or is obscured. To begin using this functionality, extract the file below and reference it in your solution within Visual Studio.</p>
<p><strong>Download:</strong> <a title="Enable Windows 7 features within your application" href="http://www.bootblock.co.uk/home/downloads/TaskbarLib.zip">TaskbarLib.dll</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/02/13/using-windows-7-features-in-net/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Release: YouChoob v1.05</title>
		<link>http://www.bootblock.co.uk/home/2009/01/29/release-youchoob-v105/</link>
		<comments>http://www.bootblock.co.uk/home/2009/01/29/release-youchoob-v105/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 18:13:09 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Release]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[video]]></category>

		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=72</guid>
		<description><![CDATA[Today I noticed while I was messing about with YouChoob downloading some videos, that the thumbnail preview for the currently downloading video wasn&#8217;t appearing. After mooching through the code I found out why: any URLs that have the &#38;feature or &#38;related components in them causes the video image generator code to generate a wrong link [...]]]></description>
			<content:encoded><![CDATA[<p>Today I noticed while I was messing about with YouChoob downloading some videos, that the thumbnail preview for the currently downloading video wasn&#8217;t appearing. After mooching through the code I found out why: any URLs that have the <strong>&amp;feature</strong> or <strong>&amp;related</strong> components in them causes the video image generator code to generate a wrong link to that video&#8217;s thumbnail image.</p>
<p>Now all extraneous information in URLs are stripped away when <em>Download</em> is clicked. I&#8217;m not really sure, but I think this might also fix a problem - as reported in the <a title="BootBlock.co.uk Forum" href="http://forum.bootblock.co.uk">forum</a> - where YouChoob says a URL is invalid. I say not sure because I personally can&#8217;t re-produce the problem.</p>
<p>Speaking of the <a title="BootBlock.co.uk Forum" href="http://forum.bootblock.co.uk">forum</a>: I set it up some time last year but it wasn&#8217;t actually officially open to the public. Because of this, I sort of forgot all about it and only recently noticed that some postings had been made in there. Oops. I&#8217;ve replied to a couple of posts as a starter, but it&#8217;ll officially open once I&#8217;ve finished setting it up.</p>
<p><strong>View:</strong> <a title="YouChoob - download videos from YouTube.com to your harddrive" href="http://software.bootblock.co.uk/?id=youchoob">YouChoob</a> : <a title="Downloaded videos, music, and files from various sources to your harddrive ..." href="http://software.bootblock.co.uk/?id=streamkeeper">StreamKeeper</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/01/29/release-youchoob-v105/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Release: YouChoob v1.04</title>
		<link>http://www.bootblock.co.uk/home/2009/01/19/release-youchoob-v104/</link>
		<comments>http://www.bootblock.co.uk/home/2009/01/19/release-youchoob-v104/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 16:52:27 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Release]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[video]]></category>

		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=65</guid>
		<description><![CDATA[Taking my sweet, sweet time with updates, it seems. Raiding in WoW is picking up pace and it&#8217;s goooood stuff.
But anyway! YouChoob! A new version, no less. Not that there are many changes, or anything. A few months ago I put in support for batch downloading videos (using its very own window) but I ran [...]]]></description>
			<content:encoded><![CDATA[<p>Taking my sweet, sweet time with updates, it seems. Raiding in <a title="World of Warcraft - MMO game" href="http://www.worldofwarcraft.com" target="_self">WoW</a> is picking up pace and it&#8217;s goo<strong>o</strong>ood stuff.</p>
<p>But anyway! YouChoob! A new version, no less. Not that there are many changes, or anything. A few months ago I put in support for batch downloading videos (using its very own window) but I ran into a slight problem in that I couldn&#8217;t think of a good way of integrating it with the main download window. In fact, whenever I loaded the source into Visual Studio to continue it, I just groaned and worked on another application instead.</p>
<p>Rather than just indefinitely delaying the next release, I disabled the batch stuff and added support for downloading high quality versions of videos. In fact, there are three quality tiers, which are&#8230;</p>
<h3><span id="more-65"></span>High Definition Quality</h3>
<p>If YouChoob finds that there is a high definition version of the video available (not likely as these are very uncommon), then it gets the highest priority and will be downloaded.</p>
<h3>High Quality</h3>
<p>If no HD version was found, then a high quality version will be checked for instead. By &#8220;high quality&#8221;, it means high quality by <a title="YouTube - crap quality videos ahoy!" href="http://www.youtube.com" target="_self">YouTube</a>&#8217;s standards. It&#8217;s the new video quality that was introduced a few months back.</p>
<h3>Standard Quality</h3>
<p>If neither of the above quality versions can be found for the entered video link, then the standard rubbish YouTube quality version of the video will be downloaded.</p>
<p>The above quality checks are performed automatically by YouChoob when you tell it to download your video; other than the increased file size of the video file, there is absolutely no extra overhead involved in the quality checking procedures noted above.</p>
<p><strong>Link:</strong> <a title="YouChoob - Download YouTube videos directly to your PC" href="http://software.bootblock.co.uk/?id=youchoob" target="_self">YouChoob Information</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2009/01/19/release-youchoob-v104/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Knowing About Computers Makes You God?</title>
		<link>http://www.bootblock.co.uk/home/2008/11/25/knowing-about-computers-makes-you-god/</link>
		<comments>http://www.bootblock.co.uk/home/2008/11/25/knowing-about-computers-makes-you-god/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 15:09:30 +0000</pubDate>
		<dc:creator>BootBlock</dc:creator>
		
		<category><![CDATA[Opinion]]></category>

		<category><![CDATA[Rant]]></category>

		<category><![CDATA[Idiots]]></category>

		<guid isPermaLink="false">http://www.bootblock.co.uk/home/?p=59</guid>
		<description><![CDATA[Imagine the scene: I&#8217;m in a hall way. Nothing is happening other than me walking through a door.
Moments before I close the door behind me, someone comes up to me and, without a hint of any context, blurts out: &#8220;You know the circle with the four corners?&#8221;. Then silence. No information on which plane of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Imagine the scene:</strong> I&#8217;m in a hall way. Nothing is happening other than me walking through a door.</p>
<p>Moments before I close the door behind me, someone comes up to me and, without a hint of any context, blurts out: <em>&#8220;You know the circle with the four corners?&#8221;</em>. Then silence. No information on which plane of reality this imaginary circle inhabits. It could be a fucking dream for all I know.</p>
<p>I stand there like a bird just shat in my mouth. What just happened?</p>
<p>Rather than - even causually - mentioning where this circle exists, they go on to trace a circle in the air with their finger and say <em>&#8220;The circle with the corners, with lines through it&#8221;</em>.</p>
<p>The bird-plop is still sitting in my mouth as I just stand there. They just came from putting their children to bed, so could it be a toy? Yeah, it might be, so I enquiringly ask <em>&#8220;Is it&#8230; a toy?&#8221;</em>. A somewhat annoyed look appears on their face.</p>
<p>Apparently not. Having established that it isn&#8217;t a toy, that means there&#8217;s now only a billion-minus-one things it could be.</p>
<p><em>&#8220;The circle thing with the four corners. Black and white corners, where is it?&#8221;</em>.</p>
<p>Ohh right! Black and white corners! So it can&#8217;t be a pizza cut into quarters. Or a life preserver floaty ring thing as they&#8217;re red and white, plus they&#8217;re not quartered. What about an onion ring? Nah. So that means it now could be either one of a billion-minus-four things. We&#8217;re making progress!</p>
<p>Dunno about you, but I&#8217;m fairly confused. All I could muster was saying &#8220;What?&#8221; a couple of times. This circle thing could literally be <em>anything</em> for all I know. I finish off with a <em>&#8220;<strong>What</strong> circle?&#8221;</em>.</p>
<p>Yep, they&#8217;re annoyed now. Annoyed that I&#8217;m not a fucking mind reader, no doubt. <em>&#8220;In Excel or whatever! The Circle!&#8221;</em>.</p>
<p>Right, Excel. The spreadsheet/chart thing in Office. The speadsheet/chart thing I don&#8217;t use. But, seemingly, because I use a computer, I automatically know how every fucking application in the entire world works.</p>
<p><em>&#8220;Excel&#8230; I don&#8217;t use Excel&#8230; er, is it a pie chart?&#8221; .</em></p>
<p>Oh, now they&#8217;re <em>really</em> annoyed. <em>&#8220;NO &#8230; doesn&#8217;t matter&#8221;</em> is half-heartedly spoken as they suddenly just vacate the area.</p>
<p>That&#8217;s it. The whole moronic ordeal lasted about 25 seconds. It&#8217;s a little while later and I still don&#8217;t know what the damn circle was supposed to be. But all this does is merely highlight a problem that really annoys me.</p>
<p>I use computers all the time - it&#8217;s what I do. This does not mean I wrote every single bloody program (out of hundreds of thousands, if not millions) ever created and that I automatically know what someone is talking about when they just walk up to me and say &#8220;circle&#8221;. It&#8217;s like walking up to a random doctor in the street and saying <em>&#8220;Fx it&#8221;</em>. Fix <strong>what</strong>? Your spleen or your house&#8217;s damn guttering? How about you start from the beginning and say <strong>what</strong> you&#8217;re talking about and <strong>what</strong> the problem is (this includes exactly what you&#8217;re trying to do) ?</p>
<p>This can also be applied to bug reports. Submitting reports that say <em>&#8220;An error appeared and I clicked OK; how do I fix it?&#8221;</em> is entirely useless. I&#8217;ll fix the problem when you fix the buzzing.</p>
<p>Wait, what buzzing?</p>
<p>Exactly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bootblock.co.uk/home/2008/11/25/knowing-about-computers-makes-you-god/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
