Archive for the 'Uncategorized' Category

Feed Research

Wednesday, November 11th, 2009

Its great to see knowledge given away… this research was interesting, although not really surprising. It basically came to the conclusion that online presence of a business can be very significant these days to make or break a business.

I love the suggested rates of connection/communication. Checks Facebook every 37 minutes, updates twitter every 3 hours, posts to flickr 5 times a day.

They have a cool technology adoption curve suggesting 2.5% of us are innovators, 13.5% early adopters, then a gap, with 34% early majority, and 34% late majority. Which sounds about right from my experience.

They suggest that digital media and presence in social media sites is useful at persuading people to purchase or not. The over arching statement, that online can be more useful than the 30 second add on TV I can skip though on my media centre. Well Dah!

Full details at: http://feed.razorfish.com/

Home Kiosk and Slate PCs

Wednesday, August 12th, 2009

I was thinking the other day about touch screen tablet PC, to use as a remote for the media center, and other things around the home.

I found this software to remote control windows media center, not sure if it works with Win7, but I’m sure it will soon.

http://www.olphro.de/wordpress/projekte/ngrc-next-generation-remote-control

Then a friend suggested a home kiosk, for checking basic things of the day, calendar items for the whole family, weather, traffic etc.

This is the kind of hardware he was thinking of:

http://www.engadget.com/2009/01/11/asus-eee-top-touchscreen-pc-zombie-hands-on/

I think altering the ngRC software (open source I think) to add functionality like daily calendar, and loading it on an ATOM based tablet PC would be fantastic.

However the only Tablet PC that looks suitable is the Archos 9inch, which isn’t available anywhere until September.

http://www.ghacks.net/2009/07/05/archos-9-tablet/

Bugger!

Update: I’ve just found this Samsung one which looks pretty good, dont know about availablity.

http://www.tabletpc2.com/Review-Samsung_Q1_Ultra_UMPC-Article70020609.htm

Looks like the form factor I’d want is a a Slate PC which is a tablet PC without the folding keyboard. That’d be perfect if it came as the right size (reasonably big rather than small to carry arround all the time).

UPDATE: obviously the iPad has now taken prime place for home kiosk/slate PC’s. For me I’m not that intersted as I’d prefer something with more full function. I think I’ll be going back to an ATOM based screen system, low power, full function.

Windows 7 and USB 3G Internet Stick

Friday, August 7th, 2009

Recently my Windows 7 RC laptop stopped being able to use my USB 3G Internet Stick. It was failing with a magical “Error 31: A device attached to the system is not functioning”. It turns out that Windows 7, like Vista does its best to mash up the dial up networking components every now and again.

The solution is to reinstall the dial up networking components. I think they are actually called remote access components in Windows 7 now.

You need to uninstall all dial up connections (this includes 3G connections) and drivers, then disable all network cards, uninstall all antivirus software (crazy I know, but the instructions come from Microsoft, and apparently disabling AV wont work). You also need Rarepaire.exe from Microsoft.

So:

  1. Remove Modem driver from the Device Manager
  2. Delete the dial up connections Uninstall 3rd party Remote access software (like 3G connection managers)
  3. Uninstall all 3rd party Wifi Software (Intel Pro Set or other)
  4. Uninstall all VPN connection/softwareDisable all network connections including bluetooth and wifi
  5. Uninstall Anti Virus Software (Disabling does not work)
  6. Reboot
  7. Run RArepair.exe It will require 2 or so Reboots
  8. Reinstall Drivers/Software of your USB 3G Internet stick to test it out.

It was also suggested to create a “Restore point” before testing Rarepaire.exe.

Try this at your own risk. Its not a documented fix, however it worked for me with no ill effects.

Its a bit of a pain in the arse to go through this, so I hope it doest happen to often to anyone (including myself).

Cheers.

Moving from ClearCase to Mercurial

Saturday, August 1st, 2009

My workplace (which shall remain nameless) uses Clear Case for its main source control repository. Unfortunately, due to the network, and physical locations of things, it is exceedingly slow to do anything with. I actually lose my train of though while I wait for files to check out. And don’t even get me started on how long it takes to add any significant number of files (greater than 10) or do a re base and deliver action. It actually means I avoid integrating with my fellow team members as I loathe the time it takes.

To get around this problem, I am in the process of setting up a different source control system, which pushes into clear case. It is quite important for all code to be in the one repository for regulatory reasons. I respect that a lot, but as long as the code get in there on a daily basis, I don’t have any reason not to use something different on my own PC.

There are a number of other teams around the organisation that use Mercurial (or HG), I’m quite happy to try a distributed version control system for a number of reasons, I like trying out shiny new things (even if they aren’t really shiny), I like the idea of consistency across the workplace (for people that move teams), and I like what I’ve seen so far.

So the plan is as follows:

  1. Setup a Mercurial server on Windows using IIS or SSH
  2. Setup a CI build that uses Mercurial
  3. Setup a clear case import that runs daily which also runs the full CI build to validate the clear case import

Today I’m exploring the first option in the Mercurial server on windows. That is via IIS using HGWebDir.cgi.

Install Software

  1. Install Mercurial 1.3.1 (TortoiseHG is not enough)
  2. Install Python 2.5.4
    (note this needs to be the same as the version that Mercurial was compiled with, or you will receive a “Bad Magic Number” error)
  3. Get a copy of hgwebdir.cgi from the mercurial repository here
    http://selenic.com/repo/hg
    Put the above file into a directory [hg web root]
  4. Unzip the library.zip (from the mercurial install directory) into
    [hg web root]/lib
    Note# the zip doesn’t play nice with win zip, try win rar or other zipping tool
  5. Copy the templates directory (from the mercurial install directory) into
    [hg web root]/lib/
  6. Create a file named hgweb.config in the [hg web root] directory

Configure IIS

You need to setup a virtual directory, or IIS website which points to the [hg web root] directory. If you dont know how to do this, search on the net. Its pretty easy in IIS manager. The important thing about this IIS application (weather directory or site) is that it needs to

  1. default file of “hgwebdir.cgi”
  2. allow scripts and executables

Once that’s complete, you need to add an application extension for python for cgi files. This varies in different versions of windows. In Server 2003, you need to

  1. In IIS Manager
  2. right click the website or virtual directory, and click properties
  3. go to the “home directory” tab
  4. click the “configuration” button
  5. click add under “application extensions” list on the “mappings tab
  6. The executable should be exactly this
    C:\Python25\python.exe -u “%s %s”
    Unless you changed the default install directory of python, if so you will need to adjust this
  7. The extension should be .cgi
  8. Click “script engine”, and unclick “verify that file exists”
  9. Click OK.

You also need to add the web server extension

  1. Click “web server extensions” (below websites on the left)
  2. Right click and hit “Add new web service extension”
  3. Extension name can be anything I made it “Python 2.4″
  4. Add a required file of
    C:\Python25\python.exe -u “%s %s”Click “Set extension status to Allowed”
  5. Click OK

At this point you can hit your website directory, however you will probably get a CGI error.

Configure HGWebDir.config configuration file

You need to create a [repositories root] directory. I made it C:/Repositories

Update the [hg web root]/hgweb.config file with the following code

[paths]
ReposGroup1 = [repositories root]/ReposGroup1/**
[web]
style = monoblue

This will find all repositorys in the sub directories of [repositories root]/ReposGroup1. You can specify more groups too. I plan to setup one group per project, so my group name is the project, and each branch or version is a hg repository under that.

You can also change the sytle to any style in the [hg web root]/lib/templates directory. Each to his own on this one.

Configure HGWebDir.cgi file

You need to edit [hg web root]/hgwebdir.cgi file.

You need to uncomment and update the following lines (which are in the first few lines)

import sys
sys.path.insert(0, "[hg web root]\lib")

Make sure you update the path to point to your [hg web root] directory. So in my case it was

import sys
sys.path.insert(0, "C:\Inetpub\mercurial\lib")

Finishing Up

That’s it.

When you this the URL in a web browser, you should get a nice web interface with lots of repository information for all the repositories that are setup in the [repositories root] directory.

If you have trouble, try looking at some of this:

To connect in something like TortoiseHg, you use the following style of URL replacing the necessary parts:

http://[server name]/hgwebdir.cgi/[Group]/[RepositoryName]/

Of course once in IIS, you can use SSL to secure it, and I believe there are some native username/password hooks in mercurial itself which allow you to specify who can push changes which work over this kind of server setup. However, you have to use http basic authentication for this to be useful. That’s easier in apache than IIS using the .htaccess system I believe. I didn’t have a need for security for this install.

If security was a concern, you should probably look at installing it under Apache instead, or using SSH, which works quite nicely.
Cheers