Skip to main content
Boman.Biz

Boman.Biz

Go Search
Home
Mobile Monger
  

Boman.Biz > Categories
JS/Blacole.BW–Google Image Search Virus

This this morning everyone in the office has started getting the following warning from Microsoft Security Essentials when accessing the Google Image Search page – this is even before actually searching for an image!

There are some fairly convincing noises in Microsoft forums that this is indeed a false positive and that new virus definitions are coming in the next few hours. 

Update 10:38am: Indeed this has been confirmed as a false positive – new definitions ETA 2 hours.  The guy at Microsoft that did this will either be fired or promoted Winking smile

Update 1:04pm: A new definition update is available that fixes this up.

 

image

Microsoft Touch Mouse Review

touch-mouseblkfobfy111-370x313-1294286260My brand new Microsoft Touch Mouse arrived yesterday – hurrah! -  and here are my initial impressions.

Many of you will be thinking that this is just Microsoft ripping off the Apple ‘Magic Mouse’ – but what these people fail to remember is that Microsoft Research invented this technology, showed previews of their working prototypes back in 2009, way before Apple’s mouse.  However in true Microsoft style, it has taken them a very long time to get this thing to market.

EDIT: As it turns out Microsoft and Apple were working on designs at the same time with different implementations (Capactitive/Optical respectively)

WP_000543The packaging is very well designed with a flip-top box lid that exposes the mouse in a kind of jewel case design was very pleasing.

Generally as a mouse its a very reasonable, responsive unit.  Since it uses BlueTrack, its more sensitive and works on more surfaces than any other regular red LED mouse. 

My last mouse was a full-size wireless BlueTrack explorer, which was very ergonomically shaped for comfort.  This mouse is not very shaped and has a very straight profile – the upside is that it can be used in either hand, but after a full-day of use I could feel the difference.  

Another major down-side is that it uses regular AA batteries and doesn’t have a recharging dock, so I will have to re-fuel it with rechargeable batteries  and cycle them through.  Even though the specs say the battery life should be multiple months – real-world use will tell.

WP_000544The transceiver is super-tiny and there is a place for it on the under-side of the mouse for those that travel.  For some mysterious reason it comes with a high quality USB extension cable for you to plug the transceiver into in case your PC is far away from your work-area.  Weird because the transceiver is supposed to have a fairly long range anyway *shrug*.

 

 

 

So now the important part – Multi-touch Gestures

image

In my use of the mouse, the gestures work very well, and are genuinely useful.  I found myself instantly finding the touch scrolling and side to side panning useful.  The gestures are all quite easy to execute with the exception of the ‘Back’ and ‘Forward’ gestures where I found I really have to kink my thumb up and at an angle to get it to recognise it.

The only major disappointment here is that none of the gestures except for scrolling appear to work through a Remote Desktop session.  For most people this will be a non-issue, but for me, I spend the majority of my conscious life using a Remote Desktop to server somewhere and the ‘Back’ gesture doesn’t work - Grrr.  So with that in mind I wouldn’t recommend this mouse for anyone in software development or IT administration – which is a big pity.  Maybe when more of the servers I control get RemoteFX this will become less of an issue, but I don’t think that will happen for a few years.

scotty_trek4In conclusion I wouldn’t say this mouse has changed my life, and I reserve the right to go back to my far more ergonomic, comfortable, rechargeable BlueTrack Explorer – but it certainly is a new and interesting way to interact with Windows 7.  The gage of its success will be if I miss the gestures in a few months time when I sit down a computer with a regular mouse.  Maybe I will think to myself ‘A regular mouse – how quaint’ Winking smile

    Hyper-V Failover Cluster with high ping times

    Server - applicationToday I have been trying to get the Hyper-V Server Fail-Over Clustering working using 2 servers running the new Hyper-V Server, which is essentially a Server Core installation with Hyper-V.

    The crux of the issue was that we were getting TERRIBLE ping times to the Cluster IP Address and the other IP Address on one of the adapters.  So bad were the ping times that we were also getting lost packets, the cluster wouldn’t validate and everything was bad.

    The short story is that the binding order of the network adapters was bad on one of the servers.  Using this article I changed the binding order of the NICs on the server by modifying the registry here:

     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage

    There is much difference of opinion as to what the correct binding order is, but essentially I changed it to be more like the server that was working.

    Warning: my solution is NOT very like any of the suggested binding orders, but my philosophy is that empirical evidence always trumps documentation.

    Binding order of broken server:

    1. <Hyper-V Shared Network>
    2. Microsoft Failover Cluster Virtual Adapter
    3. <iSCSI HBA / Cluster Network>
    4. <Management Adapter>
    5. Microsoft Virtual Network Switch Adapter

    Changed order to:

    1. <Hyper-V Shared Network>
    2. <iSCSI HBA / Cluster Network>
    3. Microsoft Failover Cluster Virtual Adapter
    4. <Management Adapter>
    5. Microsoft Virtual Network Switch Adapter

      Everything is fine now – small change – but made a big difference.

      Multi-Colour Bitmaps on the C64

      A few weeks ago, a friend of my Dad’s wanted to get rid of his old C64 and as it turned out he had only used it a couple of times and it was in great condition still in its original box.

      For a small fee I acquired the machine and various accessories, which seem harder and harder to get these days.  I say “harder and harder to get” because I went to a local flee market the other day that had stalls with so-called “Vintage” computing hardware – but all I found were Super Nintendos, Game Cube’s, Playstation 1’s and a few home-built arcade machines with MAME interiors.  Nothing really old or of note.  Maybe I just don’t hang out at the right flee markets *shrug*  A quick search of eBay right now reveals there are only 7 C64’s for sale, so maybe the supply is starting to dry up!

      I unboxed the C64 and got it started up on the 46” LCD display I had handy:

      252990_10150637756720228_660465227_18933211_6032572_n

      Seeing that blue screen again gives me a good feeling, its quite a complex thing to describe.  I was lucky discovering computing through the Commodore 64.  As a computers go, its more of an alive creature than today’s computers.  If you turn the volume up on the sound output of a C64 you can hear it processing, give it some work to do and you can hear the patterns in the data … but enough nostalgia Winking smile

      I now had a functioning C64, but didn’t have anything interesting to do with it.  It came with a DataSette for loading data from tape, but to do anything really interesting you need a Disk Drive.

      200px-Commodore-Datassette      220px-Commodore_1541_front_cropped

      I used to have a 1541 disk drive of my very own when I was a kid, so I decided to go and get it from storage out of my Mum’s shed. 

      Something to know about the 1541 disk drive it that it is a serial device that responds to commands sent to it by the C64.  Electronically its almost as complex and powerful as the C64 itself – certainly alot heavier!

      I powered up my 1541 drive, but alas after 15 years sitting in the shed it wasn’t working.  The normal behaviour is that the green light comes on, then the red, the drive motor spins – then the red light and drive motor go off.  My drive motor and red light didn’t go off, which meant the 1541 didn’t pass its own start-up diagnostic process.  Disheartened I opened it up vacuumed it out and checked the obvious rubber belts and mechanics but all seemed fine.

      On the main PCB I noticed that all the main IC’s were in sockets.  I thought of a little trick my Dad showed me and gently pressed on each IC until it creaked slightly.  Reassembled and it worked – the red light and drive motor stopped after switching it on.

      Photo_12D4AF35-E6FA-523E-3ACA-E80B0E5491C6

      Now I had a C64 and Disk Drive .. awesome. 

      I had an idea and decided I would get the C64 to do some slideshows.  This involved getting the C64 to display coloured bitmaps – an easy task for almost any digital device these days, but back in the 64’s day displaying a photo-realistic image was a difficult task.

      The C64 has a display that is 320x200 pixels and there are 16 possible colours on the C64 however that is not the whole story.  The C64 has two bitmap modes:

      1. Hi-Res Mode: 320x200 2 colours.
      2. Multi-Colour Mode: 160x200 with 3 colours per 4x8 square plus a global background colour.

      It is this second multi-colour mode that I am interested in, and while this mode displays the most colours, we lose half the horizontal resolution in exchange for the increased colour space.

      The way it works is that each pixel has two bits assigned to it that specify one of four locations to find a nybble (4 bits) that designate a colour from the full 16 available on the machine.

      • 00 – Get colour from the global background colour at 53280
      • 01 – Upper 4 bits of screen memory (1024 to 2023)
      • 10 – Lower 4 bits of screen memory (1024 to 2023)
      • 11 – Lower 4 bits Colour memory (55296 to 56295)

      Each group of 4x8 pixels is assigned one byte from both the screen memory and colour memory to get the additional colour space information.

      image

      This makes the total amount of storage consumed 10,001 bytes for the frame, quite a complex setup.  This whole mechanism is aimed at conserving memory as it is pretty tight on a machine that really only has 40k of usable RAM.

      The next challenge is to get a normal JPG photo into this format – hmmmm

      IMAG0304

      The first step is to get the photo into the correct dimensions. 

      Resize into 320x200 first and then warp the aspect ratio into 160x200 – remembering that since all the pixels are double width, the aspect ratio will fix itself up later when it actually renders.

      Stage1

      Next, we need to get the image into the correct colour space.  I could write my own dithering algorithm, but really Adobe Photoshop does it best.  Just setup a colour table with the 16 C64 colours in it and tell PhotoShop to sort it out:

      image

      Result:

      Stage2

      The next part couldn’t be done by PhotoShop – I wrote a small program in C# to do it:

      • Survey the entire picture to find the most populous colour – this will become the global background colour.
      • Survey each 4x8 area of the photo find out the 3 most popular colours, and then fit the remaining pixels into the closest fit.
      • Create a file containing the resulting Hi-Res buffer, Screen Memory and Colour memory.
      • Render a preview just for fun Smile

      image

      Photo_85057A8D-07DA-2131-C295-CB38D9B469B8So now I have a file that is 10,001 bytes long, just have to get it onto the C64.  Hook up the 1541 via the special serial cable to an old NEC Laptop (its the only thing I had around that actually still has an old SPP style parallel port!) and transfer the file into an SEQ (Sequential) file using an old DOS utility called Star Commander – its a very well written piece of software that uses the PC parallel port to emulate a C64 serial port to talk to the 1541 drive.  Very clever.

      With heavy reference to the C64 Programmers Reference Guide I wrote a program in BASIC that loads the file from disk and puts all the bytes where they are supposed to go.

      It was then I also remembered how BASIC on the C64 actually executes … very slowly!

      Oh well – re-writing it in machine code is a project for later!

      And the final rendered result on the C64 ……

       

      ccs16

       

      …… I don’t know why, but I think thats an awesome result from a 30 year old computer Smile

      Hey - what happened to Continue Anyway in IE9?

      Another little morsel of knowledge discovered about IE9 –

      If you use the much hyped IE9 feature and pin a site you you task-bar, you get the favicon for the site in your Windows 7 task bar, which is great.

      However when using the IE9 window started by the pinned icon, if you encounter an SSL certificate that is untrusted, or invalid in some way (very common for Intranets and doing software development work) you will get this almost familiar screen:

      image

      Which looks very much like the old Internet Explorer behaviour, except for one crucial detail – the Continue to this website option is gone, and you can’t navigate to the location where you were going, the only option being to close the page.

      It turns out this is a problem specific to when you have IE9 pinned to the task bar, as if you start IE9 using the normal icon in the Start Menu the behaviour on the same site will be different:

      image

      Ahh thats better, now I can actually get some work done.  What is the motivation for the different behaviour?  I have no idea right now, but if I find out I will update this post – In the mean-time I will have to say goodbye to pinning IE9 to the task bar, such a shame since it was a nice feature.

      Task Scheduler failed to start - Error Value: 2147943645.

      Okay – I will own up… this is a silly thing that took me a while to realise.

      While trying to schedule a PowerShell script to run on a server, I kept getting this error message:

      Task Scheduler failed to start "\MyTask" task for user "DOMAIN\user". Additional Data: Error Value: 2147943645.

      So there I was daydreaming about the possible meanings of 2147943645 – finally could it be the answer to the LOST numbers on the hatch?

      Well – no, actually it just means you are trying to run a job as someone else with the “Only run when user is logged on” flag set.  Surely someone could have made the message a little friendlier than 2147943645? Hmmm…

      image

      Something I didn’t know about Notepad

      Recently tweeted by Darren Neimke about a presentation he saw, a little hidden feature of Notepad that has apparently been in there for years is the ability to create automated log files:

      1. Open a blank Notepad file
      2. Write .LOG (in uppercase) in the first line of the file, followed by Enter. Save the file and close it.
      3. Double-click the file to open it and notice that Notepad appends the current date and time to the end of the file and places the cursor on the line after.
      4. Type your notes and then save and close the file.
      5. Each time you open the file, Notepad repeats the process, appending the time and date to the end of the file and placing the cursor below it.
      image
      Calling old ASMX services using WCF

      Today I had to call an old ASMX web service using the newer WCF infrastructure and bumped into a problem of passing through the Default Windows credentials.  In the olden days I would have done something like (in VB.NET):

      Dim proxy As New WebService.ProxyClass
      proxy.Credentials = System.Net.CredentialCache.DefaultCredentials
      proxy.PreAuthenticate = True

      and then hit it hard, however in the later versions of Visual Studio the equivalent is (in C#):

      //Call web service the old ASMX way using WCF
      System.ServiceModel.BasicHttpBinding basicHttpBinding = 
      new System.ServiceModel.BasicHttpBinding(); basicHttpBinding.Security.Mode =
      System.ServiceModel.BasicHttpSecurityMode.TransportCredentialOnly; basicHttpBinding.Security.Transport.ClientCredentialType =
      System.ServiceModel.HttpClientCredentialType.Windows; myService.myServiceSoapClient svcmyService =
      new mySharePointSync.myService.myServiceSoapClient(basicHttpBinding,
      new System.ServiceModel.EndpointAddress("
      http://localhost:6969/SomeOldService.asmx")); svcmyService.ClientCredentials.Windows.AllowedImpersonationLevel =
      System.Security.Principal.TokenImpersonationLevel.Impersonation; svcmyService.ClientCredentials.Windows.AllowNtlm = true; svcmyService.ChannelFactory.Credentials.Windows.ClientCredential =
      System.Net.CredentialCache.DefaultNetworkCredentials;

      It might be handy next time you have to do it :)

      The price of reliability – digitally signed drivers.

      Its been a while since I gave my Media PC (Shuttle SG33G5M DELUXE) some attention since upgrading to Windows 7 64-bit, so when I finally got around to configuring the fan speed, VFD display and all the little gizmos I discovered this when trying to load the XPC tools:

      XPC Tools is the application Shuttle supplies to help you configure all the extra gadgetry they supply on their machines.  I have the latest version from their website which claims to work for Vista and XP - but alas there is no Windows 7 64-bit version.

      Thier FAQ is very unhelpful, suggesting to turn of UAC, and running as administrator, but in the end it comes down to the fact they are cheap and won’t sign their drivers (and hence no Microsoft WHQL testing)

      image
      (Windows requires a digitally signed driver)

      I guess this is the price paid for reliability – I just have to live with the sadness of the gadgets not working.  Such a shame for an otherwise great little machine.  Shuttle don’t have any incentive to spend money making drivers for a machine I have already paid for :(

      This machine and my previous one was a Shuttle, but my next one probably wont be.

      UPDATE: A human from Shuttle got back to me and confirmed that there will be no Windows 7 drivers for the fans etc. but there is a driver for the VFD panel on the front of the machine.  At least its something!

      The Evil Bit (RFC 3514)
      It continually amazes me finding gems like this in the RFC Database:
       
      Life would be so much easier if firewalls just honoured the Evil Bit: http://tools.ietf.org/html/rfc3514
       
      (RFC = Request For Comment, the informal rules that make the Internet what we use today)
       
       
      1 - 10 Next