Blog about how much you love satellite tv with a satellite tv review!

Latest Linux Pro Magazine Available (a special one!)


There is a very good reason for me advertising the fact that the latest (10th anniversary edition) of Linux Pro Magazine is now available to purchase… I wrote the feature article! :)

So grab it in your local newsagent NOW!

Dell 7 inch tablet details released – Looking Glass to run 2.1 not Froyo

Details for the new Dell 7 inch tablet have been released. It will run Froyo and sport the same resolution as the Streak… yes a little disappointing I know.

Read more at Engadget

[SOLVED] Error installing nitoTV on AppleTV dyld “Symbol not found: __ZTIN3KJS11InterpreterE”

The following error can occur when installing nitoTV on AppleTV version 3.0…

dyld: Symbol not found: __ZTIN3KJS11InterpreterE
  Referenced from: /System/Library/PrivateFrameworks/JavaScriptGlue.framework/Versions/A/JavaScriptGlue
  Expected in: /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore

./installme: line 12:   177 Trace/BPT trap          installer -pkg nitoTV.pkg -target /
Restarting Finder...
-bash-2.05b$ sudo installer -pkg nitoTV.pkg -target /
dyld: Symbol not found: __ZTIN3KJS11InterpreterE
  Referenced from: /System/Library/PrivateFrameworks/JavaScriptGlue.framework/Versions/A/JavaScriptGlue
  Expected in: /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore

If you get this error, it is because you are trying to install the old version of nitoTV! Grab the latest version via this direct download link.

How to root Dell Streak, install Busybox, and WIFI Tethering


The Dell Streak is an awesome piece of hardware, but unfortunately the software sucks big time! The 2.1 was less than successful (in-fact the 2.1 update was sooo bad, O2 pulled it after just 2 days).

So to make the Dell Streak a bit more enjoyable I decided to root it and install Busybox.

Busybox is a small program which encapsulates most common GNU linux tools. It allows me to connect to other devices via SSH/SFTP/TELNET etc..

I also wanted to be able to use my Dell Streak as a Wireless Hotspot for my Ubuntu laptop.

The first step is to root the device. I went here and downloaded Androot. This is a one-click rooting tool for most Android devices, which I can confirm works perfectly on the Dell Streak with 2.1.

Next job was to install Busybox. Fortunately, this too is as simple as searching and installing directly from the Market Place!

Once you have installed this, run Busybox and click the install button, (you are actually installing the Busybox installer from the Market Place, Busybox isn’t installed until you run the installer).

To test/play with Busybox, you’ll need to install a Terminal Emulator. I recommend Android Terminal Emulator, especially with the Dell Streak, as you can easily remap the Ctrl ket to the Volume Up/Down button as the Streak does not have a thumb wheel.

Now plug in a Bluetooth keyboard and you have yourself a proper little computer!! I’m looking at my Streak in a new light! :) Enjoy!

Dell Streak How To: Chrome to Android for 2.1

Dell Streak users were updated to Android 2.1 last week. It was a little bumpy (still is!) but we are there!

Unfortunately we are still missing some features of Froyo. One in my top list is the ‘Chrome t Android’ functionality which allows you to send a web link from your Chrome browser to your phone.

As a work around:

  1. Install QT Code Maker in your browser
  2. Install the Barcode Scanner app on your Android phone
  3. Navigate to a web page you want to send to your phone
  4. Click the QT Code Maker button next to the address bar
  5. Open the Barcode Scanner app on your phone and scan the QT Code
  6. Click the Open in Browser button to launch the link

Simples! :)

[Solved] Ubuntu 10.04 – Brasero “MP3 is not suitable” error

To fix this issue simply install the Ubuntu Restricted Extras package, and everything will work as you’d expect.

The reason this isn’t installed by default is because MP3 is proprietary and yucky.

How to get Dell Wireless working in Ubuntu Lucid 10.04 / Linux Mint

There are a shed-load of forum posts on the web from people who simply cannot get their wireless working with their lovely new Dell laptop. None of which are particularly helpful or give any clear steps that allowed me to resolve my problems with my Dell Studio 15 and 1397 mini card (which is actually  made by Broadcom).

I tried both the STA and other proprietary wireless drivers that Ubuntu offered me. But none of them would work. Little did I know that the STA driver works fine, it just conflicts with other kernel modules which get loaded before it during boot.

If you are in a similar situation and are close to pulling your hair out, no worries, here is how I got it working:

PRE-STEP: Make sure you have un-installed all proprietary drivers which are related to the wireless hardware in System > Administration > Hardware Driver. (If you have a fresh install of Ubuntu and haven’t been trying to get ndiswrapper etc.. working already none of these should be activated).

If you have previously installed a ndiswrapper driver

If you have installed ndiswrapper and a Windows driver you can un-install this by typing:

$ sudo ndiswrapper -e driver_name_here
$ sudo rm /etc/modprobe.d/ndiswrapper*

Will this work for me?

Open a terminal window (Applications > Accessories > Terminal) and type the following:

$ sudo lspci -nn | grep Broadcom

Enter your password. You should then get a line back describing your Broadcom wireless hardware. Mine looks like this:

$ sudo lspci -nn | grep Broadcom
04:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g [14e4:4315] (rev 01)

If you don’t get anything back, or the line doesn’t describe your wireless card, this tutorial will not work for you. Sorry & best of luck elsewhere! :P

How to get your Dell wireless working in Ubuntu 10.04 (should also work in Linux Mint)

First reboot the machine so you don’t have any pending module changes, then go Applications > Accessories > Terminal. Type the following (ignore the $ at the front, this is to confirm you are typing into the bash shell and not stdin of an app):

$ sudo lsmod

Near the bottom you will probably see a line that starts ssb? If so, your machine thinks ssb and b43 are the correct modules used to control your hardware. These will not work! We now need to disable these. At your Terminal type:

$ sudo gedit /etc/modprobe.d/blacklist-custom.conf

A text editor will appear. Type the following in:

# /etc/modprobe.d/blacklist-custom
blacklist b43
blacklist ssb

Save the file and then close it. These pesky critters can’t be a pain any more as we have just black-listed them from being loaded on boot. Murhaha!

We now need to install the Broadcom STA driver which does work.  Plug an ethernet cable into your computer and go Applications > Administration > Hardware Drivers. You should then be presented with a number of drivers. Activate the Broadcom STA driver and reboot your machine.

You should now have working wifi! :)

Calling all VIM, EMACS, NANO, ED, Visual Studios etc.. Geeks! Your Text Editor Needs You!

I’m on the hunt for some text editor gurus to participate in an online video show-down; putting masters of these tools head-to-head to see who performs the best!

On a more serious note..

When I started showing interest in using a “proper” text editor, there was a myriad of flame wars of non-sensical, non-logical arguments which plagued the forums. I understood that using one of these *could* save me time, but there were no videos of amazingly talented people using these editors. I *needed* something to inspire me to spend my time learning it, but I never got it. I just had to take the risk, and now I’m glad I did!

The main aim of the site is to showcase how amazingly useful these tools are, and to inspire more people to use them; under the guise of a competition!

If we can get some sponsors, there might even be prizes for the top-dogs!

Game Rules:

  1. You MUST use a default install (iow. no custom scripts or modifications) of the text editor of your choice
  2. You may use any version of the text editor (vi/vim/gvim/gnu emacs/xemacs/nano/ed/pico etc..), we even welcome users of Notepad, Eclipse, and Visual Studio!!
  3. You may change your text editor at any time, but you may only submit a single entry per challenge
  4. A challenge will be posted on the site, made up of a number of tasks to do to a piece of text; challenges will be vary from general word processing to complex programming tasks
  5. Using a screen recorder (or camcorder), record you performing the challenge
  6. Time starts when the text file is loaded in the editor (eliminating the start-up time of the editor, which could be very hardware dependant)
  7. Upload your video to YouTube and post the URL as a response on our site
  8. Provide a transcript of the shortcuts used to complete the challenge with your URL
  9. Winners will be announced on a real-time leader board
  10. Challenges will remain open indefinitely

Please email me on tom[at]tommed.co.uk if you are interested!

Many Thanks,
tommed

How to embed YouTube videos into a Plogger photo gallery

It’s always nice to be able to add videos to your photo gallery. Unfortunately, out of the box, most PHP photo galleries do not support this feature. A while back I used to use Zenphoto and I adapted it so I could embed YouTube videos into a gallery, but Zenphoto didn’t prove very stable and on more than one occasion I simply lost all my photos! :(

I have recently been using Plogger. It’s a great application and the code is pretty straightforward (I understood it and I haven’t written more than 10 lines of PHP in the last 10 years!), so I’d thought I’d document the process of embedding YouTube videos into it.

Caveat: let me just remind you that I am not a PHP developer. The methods I use may not be the fastest or most appropriate and I’m counting on you guys to help me preen the code into a lean piece of logic! Your comments and feedback are always welcome (as long as you’re not trying to sell Viagra!! :) )

  1. First I copied the default theme (you can use any theme as your base theme, but default is the simpliest):

    cp -R /path/to/plogger/plog-content/themes/default \
               /path/to/plogger/plog-content/themes/youtubeenabledtheme

  2. Then I edited the meta.php file inside the theme to give it a name, version, and description which fitted my new theme.
  3. I then opened picture.php and searched for the line: <div id="picture-holder">.Underneath this line (around line 28) is the code to draw the image. We need to wrap this logic so if the description of the image begins with YouTube: we need to embed a video (and hide the description field from the page), otherwise just draw the page as we normally would. My code looks like this:
    <div id="picture-holder">
     <?php $desc = plogger_get_picture_description(); ?>
     <?php if (strlen($desc) > 8 && 0 == substr_compare($desc,"YouTube:",0,8)) : ?>
      <?php $ytcode = substr(plogger_get_picture_description(), 8); ?>
      <a href="http://youtube.com/watch?v=<?php echo $ytcode; ?>" target="_blank">
       <object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/<?php echo $ytcode; ?>&hl=en_GB&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/<?php echo $ytcode; ?>&hl=en_GB&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
      </a>
     <?php else : ?>
      <a accesskey="v" href="<?php echo plogger_get_source_picture_url(); ?>">
  4. Now when you have uploaded a video to YouTube, save the thumbnail photo and upload that to plogger. When you are asked for a caption and description; add a caption as usual, but enter YouTube:YTCODE into the description (replacing YTCODE with the code of the YouTube Video)
  5. To get the YouTube code for your video, watch the video in YouTube and copy the address in your browser, something like: http://www.youtube.com/watch?v=a_vJpfDSeCc, the code is the value of the v querystring item. So in this example the value I would put into the description field would be: YouTube:a_vJpfDSeCc

entering the YouTube link into Plogger's admin site

Plogger patched, so it now shows YouTube videos!

How to use Plogger from behind a proxy

Scenario

My main web server is a PPC MacMini running Apache on ArchLinux. The machine is starting to reach it’s limits with the amount of programs and web sites running on it, so I needed to start off-loading some of the sites to another box.

To make these sites available to the outside world, I have chosen to use ReverseProxy (mod_proxy) to proxy the site from the external request onto the new server.

The Problem

Unfortunately, Plogger makes heavy use of $_SERVER['PHP_SELF'], so when you run Plogger through ReverseProxy, you get redirected to an incorrect path and 404s start appearing everywhere.

Solution

  1. Make sure the second server (now known as server2) has a static IP address on your internal network
  2. Open the hosts file in your text editor on the main web server (server1 – the one that is being used as the reverse proxy)
  3. Enter the static IP address of server2 followed by a unique name (recommended servername.external-url-to-plogger.com
  4. Configure Apache on server2 to listen out for this name and provide Plogger as a VirtualHost, then restart the Apache daemon
  5. Open links (or another web browser) on server1 and make sure calling the url you entered into your hosts file correctly loads Plogger
  6. Enter the following configuration into Apache’s config file on server1:
    <VirtualHost *:80>
      ServerName www.external-url-to-plogger.com
      DocumentRoot /srv/http/dummydir
      <Location />
        ProxyPass URL_IN_YOUR_HOSTS_FILE_FOR_SERVER2
        ProxyPassReverse URL_IN_YOUR_HOSTS_FILE_FOR_SERVER2
      </Location>
    </VirtualHost>
  7. Restart Apache on server1
  8. Open /path/to/plogger/plog-includes/plog-functions.php and edit the switch statement near line 1456 to read:
    switch($level) {
            // Admin section for generate_url
            case 'admin':
                    $rv = '/plog-admin/plog-'.$id.'.php?'.substr($args, 5);
                    break;
            // Front end section for generate_url
            case 'collection':
                    $rv = '?level=collection&amp;id='.$id.$args;
                    break;
            case 'album':
                    $rv = '?level=album&amp;id='.$id.$args;
                    break;
            case 'picture':
                    $rv = '?level=picture&amp;id='.$id;
                    break;
            case 'search':
                    $rv = '?level=search'.$args;
                    break;
            case 'collections':
            default:
                    $rv = 'index.php';
                    if ($query != '?' || !empty($args)) {
                            // remove & from the end of $query...
    
                            $query = str_replace('&', '', $query);
                            // remove & from the beginning of $args if no previous query set
                            if ($query == '?') {
                                    $args = substr($args, 5);
                            }
                            // append the $query or $args
                            $rv .= $query.$args;
                    }
                    break;
    }

Now Plogger should work from the internet! Feedback welcome!!