All posts by admin

Download videos from ALL flash streaming video sites

You read the title correctly, this tutorial will show you how to download videos from any site that hosts FLV streaming videos (e.g. veoh, youtube etc.) what’s more, you don’t need to use any annoying 3rd party software!

  1. If you’re not using Firefox, download and install it.
  2. Find the video you want to download using Firefox. For example, from BUT DON’T WATCH IT YET!


  3. Open a new tab and type ‘about:cache’ (excluding ‘ marks) into your Firefox address bar.


  4. Copy the path (text) from next to ‘Cache Directory’ and paste it into your address bar. You should get a page like the one below.


  5. This is where it can get a little bit tricky, not too hard though 🙂 To make things easier it might be a good idea to clear your Firefox cache (click ‘Tools->Clear Private Data’ and make sure that ‘Cache’ is ticked). Go back to the tab showing your cache information and click refresh (or press F5).
  6. Now click on the video in the first tab and it should start to load. While it is doing this, switch back to your cache view and click refresh – the list of links/files should be growing! Keep clicking refresh (or tapping F5) until the list stops growing.
  7. If you look at the second column in the cache view, it will show the size of each file in the cache. Once the list has stopped growing, you should see most of the file sizes stay constant – except for one! This will be your video file.


  8. Switch back to the site containing the video (e.g. veoh) and wait for the video to load completely.
  9. Click on the cache view tab again and (without refreshing) right click and choose ‘Save link as…’ on the cache file that was growing in size.
  10. Rename the file to something useful and include .flv at the end of the file (like ‘panda_sneezes.flv’). You can now watch this video from your desktop with an FLV player.

There you have it, 10 steps to download flash videos streaming videos from any site.

Fixing printer lockups under Windows

If you’re like me and depend upon being able to print documents on the go, Windows can sometimes be very unaccommodating! One of my main problems is printer service lockup if I lose my connection to the printer (accidentally unplugging the USB cable for
example). When this happens, no matter how many times I try to cancel the frozen print job it just won’t go away – preventing any more documents from being printed out! Fortunately… I have a rapid solution at hand.
Three easy steps:

  1. Ctrl + Alt + Del, bring up task manager.
  2. Select ‘spoolsv.exe’ from the processes list and click End Process.
  3. Use either File->Run in task manager (or Start->Run from the taskbar) and enter ‘spoolsv.exe’.

This is a dirty (but effective) way of forcing the print spool server to reboot. You should see the document queue clear within a minute or so and then you will be able to send new documents to your printer.

Accessing private properties in PHP 5 objects

With the introduction of PHP 5 comes the ability to define class properties and methods in a more traditional style to C++ and other popular OOP languages. The three major distinctions are Public (designated by default), Private and Protected.


class TestClass {

 	public $VarA = 'I am public!';
 	private $VarB = 'I am private!';
 	protected $VarC = 'I am protected!';


$NewInstance = new TestClass;

print($NewInstance->VarA); /* No problem */
// print($NewInstance->VarB); /* Error */
// print($NewInstance->VarC); /* Error */

$NewInstance is initiated as an instance of TestClass. $VarA can be easily accessed using $NewInstance->VarA, however trying to access VarB and VarC in the same manner will generate an error as they are designated inaccessable outside the current class (or sublcasses in the case of VarC). It is sometimes necessary to access Private and Protected object variables and this can be achieved very easily using just one line of code:

 	var_dump( (array) $NewInstance );

This will generate a dump containing a list of all object properties, including private and protected variables. Each will have an assigned key that follows the pattern of:

[“?class name?private property name”] = PRIVATE PROPERTIES
[“?*?protected property name”] = PROTECTED PROPERTIES

By type-casting to an array, the object properties are forcibly revealed in the same way you can reduce an object to a string using serialize().