FreeWins – Live Windows Rotation in Compiz!

Well, it’s very exciting that a new plugin has been developed that allows live manipulation of desktop windows. Over on SmSpillaz‘s blog, he’s got some links to YouTube as well as a nice screenshot of the desktop.

The plugin is only in alpha and requires compilation on the system that you are using… But the promise is incredible.

If a plugin like this can work, and more importantly, work well, then I think we can expect to see some excellent plugins to take advantage of this.

Some ideas could be:

  • A plugin that shifts windows to the side of the screen rather than minimizing, like a book
  • A feature that allows you to scale windows larger or smaller without actually resizing it.

Of course, that’s just my limited imagination there.

Vista error Stop 0×0000009F error message (DRIVER POWER STATE FAILURE)

After recently installing a bunch of Shuttle SK22G2 systems in a site with Windows Vista loaded, it became clear that there were some minor issues with the systems shutting down. (Hint: They didn’t)

There was an intermittent fault that made them hang on the last phase of shutting down. Frustratingly, there was no evidence to show that this has happened except for the blue LED on the front of the case, and the noise of the fan it the back. To get the machine going – it was either hold the power button in for a few seconds or hit the reset switch.

Problem Report Screen with Blue Screen Error Message

Vista has come a long way in error reporting from the Windows 9x days. In fact, combined with the internet there are very few unfixable problems of this nature. What really helps us here is the Problem Reports and Solutions utility. This keeps a track of any errors that may have happened, and gives you the details in a (relatively) easy to read format.

Problem Reports and Solutions

What it was telling me, is that the system was crashing with a blue screen. I tried a few solutions, including a far-reaching bluetooth issue.

In the end, the problem turned out to be caused by the ATI drivers. After a couple of weeks, the computers reported that updating the ATI drivers might help, and they did! Hurrah.

Searching for the contents of many files in Linux

One thing that I find remarkable in Linux is the vast array of clever tools that allow you to do ‘clever stuff’.

The problem exists where these obscure tools are difficult to work out how to use effectively, and moreover, use right.

One task I aim to do occasionally is search a disk for files containing particular text. This is always difficult. Even in Windows XP – the search indexing service actually prevents Windows from searching for specific text within a file. I’ve searched for files that I know have certain strings in them, only for Windows to tell me that it cannot find them.

As my love of Linux and Ubuntu grows, I found myself needing to perform this task again. Recently, I’ve scraped by using the rather useful find tool:

<code>find . -type f -name foobar</code>

What this little snippet does is seach the current directory and all subdirectories for any files containing the word foobar in the name. So it could return names such as ./foobar.doc, ./test/foobar.doc, or ./this is a foobar file name.txt. Pretty useful.

Tonight I needed to search for a specific phrase in a Word document on a disk. This is where the Linux command line really becomes powerful:

<code>find . -type f -name *.doc -print0 | xargs -0 grep -i 'foo bar'</code>

This will join the power of two commands: grep and find to create a groovy search.

First of all, the find command is searching for all files (-type f) that end in .doc (-name *.doc) in all folders starting from the folder I am in.

Once find finds a match, we use the pipe (the |) to pass that file name over to grep, which will search the file for the string foo bar.

We have to use the -print0 and -0 options to make sure that find and grep share the file names correctly between them in case we find any unusual ones (files with spaces would be counted as unusual).

Finally, the -i tells grep that the search is case-insensitive. This means that any .doc file with foo bar, Foo Bar, fOO bAR or any other case variation will be caught. Without it, only the exact string will be matched.

Now go forth and search!