Wednesday, 17 November 2010

When to stop testing

I recently self-studies for the ISTQB (International Software Test Qualification Board), basically to earn a certificate that says I know how to start testing softwre, something I have been doing for around 3 years now. It's a growing specialization area with lots of new challenges in actual application. But the process itself and language is very important, and the ISTQB makes sure of that. There are many levels of ISTQB (formerly ISEB) but foundation is easy enough for a practitioner to pass without any help. So now I have a certificate, but it does not stop there, hence my post.
ISTQB defines something called the FTP (Formal Test Process), although a tired acronym it lays out one important step, when to stop testing. Now this is totally new to me, because I never have thought of stopping as important, more about when to start as being important, so it's with relief I spotted this post by Jeff Wittaker who recently moved from MS to Google (or was lured), who agrees with me, never, just change what and how. I believe that is because formal test like ISTQB is based on waterfall not agile, and does not address System testing all that well, but if you peek at what MS and google have to say, you will be finding lots of tips.

Sunday, 10 October 2010

Safer family surfing

Forty years ago, the telephone used to be something that hung on the wall, and you ran to pick it up when it rang, today it is playing Youtube videos in the hands of your 8 year old on the back seat while driving home.
Last weekend they were playing some video full of beeps (most youtube videos the kids find have beeps), they think it's hilarious, and the telling thing is, they know how to use google.
A good example is to type in "star wars" on Youtube, optionally add the words "stormtrooper dance", now an 8 year-old will not know what this fellow is doing, but the action is funny because it is repetitive. And if as a parent you react badly, and take away their access, or reprimand strongly, you are not being a good parent at all.
So what can you do? Use your noggin, and do it all for free - free as in free beer, not free rain. You will have a computer running Windows XP or newer, it you have Windows 7, some of the work has already been done for you. It's called Family Safety.
So here is where we start, if you scan the Family Safety web page, it is included free in the Windows Live Essentials pack, this used to be called MSN Essentials or Messenger Pack, and still includes a whole bundle of useless things. Before you download, remember, you only want the Family Safety application, so when you run it, and the installer asks a question, ignore and turn off all the other options and only install the Family Safety, you do not need to install any toolbars or other things at all.
At this point you will have more instructions, you need to create an account for each computer user, now unless you are not a "typical home-user", this is really quite easy as you will see shortly. If you know what a domain controller is, and how to manage one, stop reading this now!

Even if each child does not need their own account, I suggest you create an account for everyone, even if they are only 5 years old. Now an account is nothing more than an identity, and is really a extension of your email identity. See my other posts for a quick start to safer surfing

Monday, 6 September 2010

Windbg experimental

After trying to find a problem which was really due to my simplistic approach to a problem I was trying to test too simplisticly, I cracked open windbg.exe Here are the steps, but only so I remember what I did - anyone reading this rubbish is wasting their time.
download the driver SDK - it's huge install and then grab windbg.exe
copy just the exe to the system you want to trace, copy the debug executable, and it's pdb.
tell your process, instead of trying to attach each time, it's less hastle
when the process breaks - or you hit break.
to see all threads
then open the View/Processes and Threads
then open the View/Call stack menu
set breakpoint on thread creation is "Debug/Event Filters..."
turn the option "Create thread - disabled - not handled" on
for some reason breakpoint in CreateTHread() did not trigger
  bp kernel32!CreatweThread
to list all breakpoints.
List of Windbg commands and pretty good intro:
  1. look in the chm file that came with windbg

Sunday, 22 August 2010

What port does it come out of?

A good friend mailed this around...
"Finally! a computer error message I can understand "

Thursday, 1 July 2010

Sourceforge Export Control decision reversed

But not before you have to go and edit each of your projects you administer (unless you are a joint admin) and turn the export blocking off. Sourceforge lifted the blanket export control ban after imposing it by default, but it appears that it is not automatically reversed if you have tweaked your Project Settings. When the ban was introduced, I went and unblocked my primary project, but 2 others were still set to blocked this morning.

Sunday, 27 June 2010

Website Pronunciation (onion award)

Goes to netlog wey   - I just deleted my account.

In their eagerness to get new users signed up, the system uses MSN Live data, imports all your msn contacts, and sends them a message suggesting that they also sign up to netlog. I am about to contact their tech support and have all the invites withdrawn with an apology. If it is not forthcomming, I will start finding something nasty to say about a website which is probably just another innocuous social web. I mean there layouts are nice and clean, some of their advertising is a bit off the beaten track, but the features and all are tempting to start using... if only they had not turned me into a spammer with just one click.

This is not this weeks only onion award - Orange mobile UK may be up for one on monday -which technically makes it next week, but the mess (if Orange did at all, indeed cause it) did start on thursday.

Sunday, 13 June 2010

The Internet is not flat

Since I was interrested recently in working at Google (if I could be so lucky) I had a look at the map of sites, and you can too - interresting how Google have offices predominately in the Northern hemisphere, where most of the content, traffic and customer base are all together.
Check the map out for yourself on their Jobs page .
I have just wasted 1 hour searching for an internet traffic density map, but all I could find is a resonably low contrast intantaneous map, which is clearly time sensitive - but here it is.

You can study it more closely here - the point is the internet is happening in the Northern hemisphere - not fair at all. But it all points in the same direction, much like having a TV arial on your roof points to you having a set?

Sunday, 23 May 2010

Dual display user debacle (Part 2)

I also want people aware that I'm targeting Windows 7 in the dual-display-user-debacle, Vista is not different enough to be worth testing on, but Windows XP should work with minimal issues.

##### run the program without any commands
Device 0 = '\\.\DISPLAY1' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000005...Active
Attached Prim.
Display: '\\.\DISPLAY1' width 1280 x height 1024 bpp 32 freq. 60 flags 0 positn (x,y) (0,0)
Device 1 = '\\.\DISPLAY2' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000001...Active
Display: '\\.\DISPLAY2' width 1280 x height 1024 bpp 32 freq. 60 flags 0 positn (x,y) (1280,0)
###### disable the secondary display device \\.\DISPLAY2
>DisplayReZ.exe \\.\DISPLAY2 -disable
Device 0 = '\\.\DISPLAY1' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000005...Active
Attached Prim.
Display: '\\.\DISPLAY1' width 1280 x height 1024 bpp 32 freq. 60 flags 0 positn (x,y) (0,0)
Device 1 = '\\.\DISPLAY2' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000001...Active
Display: '\\.\DISPLAY2' width 1280 x height 1024 bpp 32 freq. 60 flags 0 positn (x,y) (1280,0)
##### turn on the secondary again, screen settings are coppied for the primary device
>DisplayReZ.exe \\.\DISPLAY2 -enable
Device 0 = '\\.\DISPLAY1' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000005...Active
Attached Prim.
Display: '\\.\DISPLAY1' width 1280 x height 1024 bpp 32 freq. 60 flags 0 positn (x,y) (0,0)
Device 1 = '\\.\DISPLAY2' [NVIDIA GeForce 9800 GTX/9800 GTX+] 00000000...
Display: '\\.\DISPLAY2' width 0 x height 0 bpp 0 freq. 0 flags 0 positn (x,y) (0,0)
My idea is to drop the code into a library, and then call it from a background service automatically when a user logs on or does a fast-user-switch.

Saturday, 22 May 2010

The dual displays user debacle

I was looking for a way to have each user configure separate desktop sizes. I have only got space for 1 computer at home, the desktop has 2 attached displays, used when I develop software, I sometimes turn off the secondary to save power - whereupon the mouse pointer gets lost in the black desktop. My problem however is the computer is used by 3 other persons who do not want an extended desktop, if they logon and change the desktop size, everyone unfortunately gets the new desktop setup.
Since the days of Windows NT3.51 I have not detected a way of being able to do this, I'm just missing something, since users with disabilities must be able to dynamically customize Windows for different kinds of peripherals they attach. I know what I am asking is not trivial, since the graphics card drivers need to support this somehow, it's not just an O/S problem. I was thinking of locating the desktop settings and creating symbolic links to coppies of them in each user's registry keys and folders, can this work?
Basically I have this:
I log in : and want to use 2560x1024 over 2 displays .
Wife and kids log in : want 1280x1024 on 1 display ONLY

I posted the question out after googlesearch gave no results, A response to my post on MS forums led toa utility, actually 2. XPKeepPerUserDisplaySettings and XP User Display , between them I was hence inspired to roll my own, and I have now gotten most of it working.

My requirement is to be able to.
1. Disable the secondary display in a user application (which is launched when user logs on)
2. Re-enable the secondary display when a diferent user logs on.
3. Run as a service (for necessary rights), and to monitor logon/logoff without resorting to using Registry "Run" key.

For anyone onto this concept already, I found 2 MSDN tech notes that de-mystify. I have hence gotten what I wanted working, it just needs tidying up so that it will run standalone.
Enumeration and Display Control[^] and PRB: You Must Restart the Computer After You Use the ChangeDisplaySettingsEx Function to Attach a Secondary Monitor[^] .
The second note describes the work-around for a unexpected way that the ChangeDisplaySettingsEx() function operates. Once I have a tidy commandline callable application, I will be uploading the sources.

I've still to implement item 3, it will probably involve a Windows 7 compliant Tray-Icon management application, so watch this space if you want to do same.

Sunday, 16 May 2010

The Digital Economy Act 2010

Read it in full - Hopefully you give up after page 1, I did'nt, becasuse it's really only 7 pages long, the thing that struck me is that it is just a load of air, OFCOM will do this that and the next thing and generate reports which (we may or my not) have full access to later on. I am just getting sick of the wishy washy way the government run things. It's &*#!@ war, why are we letting pen-pushers decide how the world will work electronically going forward. There are a lot of things in there that make Google's recent infringement of peoples open wifi network privacy while gathering streetview data, pale in comparisson. We need in my opinion to be getting intelligent minds onto the task of getting Britain a policy the does protect copyright, but mostly that makes the internet and associated networks safe to operate, and economic. The bill goes on about p2p and BitTorrent types in such general terms it's impossible to discern whether the writter (I assume somone has to read it) has any clue of the gravity of the situation.
I would move to Somalia tomorrow if I had my very own cellphone tower, I mean, communication is power, and the govt. has been know to #%@&# it up. I am also aware that there are a million more pressing matters to sort out like volcanic ash, channel tunnel breakdowns, low gritting salt stocks, gas prices.. oh yeah, I forgot, important stuff, like immigration and . Crown Copyright

So while the clever people work out policy, I will be studying cryptography, military spec network redundancy, and how to tunnel a P2P network using ASIC generated host hopping with some low latency clientside trade-off. It would have to be an open-source project of course.

So while the good work of passing bills needs to be done, citizens need to do a whole lot more, we cannot leave Whitehall to do it all for us, it is responsible yet dirty work, and I for one am not keen on doing it. But what I can do is help people to make informed decisions of the future, use the limited freedoms Britons do have better, and mostly to be a power for good.

Saturday, 8 May 2010

Google site thinks I'm popular

Apparently you get this page when you have exceeded some arbitrary bandwidth limit. The message
"Bandwidth Limit Exceeded" made me initially think someone had hacked my site down, and it was being blocked on accoutn a spammer was linking to me, because I have my own domain name record pointing to the site from . Anyway, Apparently I have to wait for a day, after which I'll be able to edit my content and remove all the photos (they have probably hacked all my electronics porno images, and replaced them with pictures of the fairer variety LOL). Well, I'm convinced it's a server problem, So I'll be upgrading my flickr account and moving all my google pictures over to flickr.

It appears flickr have a 200 photo limit, so I will have to start shelling out every year to carry on using flickr, which is not bad at all, since flickr gets abused to do image framing in other sites all the time anyway.

Let's see how my website's brief moment of fame plays out - I'm sceptical it is real traffic, because I know that people have hosted high visitor-count sites there for other open-source things quite happily.

Saturday, 1 May 2010

Digital identity rant

Ok, so not all of use have the patience to create a spam mailbox each time we sign up for a new internet service just to try it out. Recently I accepted a trial for some popular antivirus software (I'm ditching it latter btw.) and they asked me for a physical address, why?

It's this kind of un-necessary data collection that ends mcAfee to believe that most of their customers go by the name Bill, or that they all live in the north pole, or on Catsmeet street. (You may not get the cat's meet reference) My larger concern, is that it is not a case of Apple trying to gather data so they can geographically place their customers, and then provide geographically relevant services (read: outlets so they can take more money from us). No way, I mean all you need to do now is set up next door to the Apple store. But what happens when companies loose that data accidentally or on purpose. The Internet is quite often like a sports track events meet, there is no single main-event, millions of spectators, and a few kids who can do the 100 meters. Now if you just happen to want to participate, you have to step into the area in the middle, perhaps the long-jump sandpit. At first it does not look so dangerous, and that's where my analogy will switch off again. Because using the web is dangerous, and 74% of the people reading this are power users. But because we are not giving companies like Apple, McAfee and many others the finger when it comes to personal information, it becomes a lot like knowing that the long-jump pit is not for sand-castles.

Saturday, 17 April 2010

another Tetric clone

I am building a tetris clone, it may end up looking like this
But will probably look more like this.

Sunday, 11 April 2010

Lego Creation

Gregory is my little engineer, and on a recent trip to a lego shop, I brought back the lego power set, which is a battery-box+motor. It also comes with a direction-reversal switch, which has center-off  or 3-position, so it's quite handy, here is what looks like a Deloran antenna from Back to the Future. The set has headlights, which you can tint.

I only built the body-work, all the decorating was done by Gregory.
 Flickr album.

Friday, 9 April 2010

Embedded blogs

I've been on the hunt or electronics and embedded related blogs - and so here is another:  elektorembedded .

An update on my current project, which is to expand this 8x8 to 16x16 leds.

I have about 200 connections to still do on the back of some strip or "vero" board. Picture of it so far to come. The board comes fitted with an accelerometer.

Update: 10/10/2011
I originally built this this 8x8 dual-color (red and green) LED project a year odd ago (April-May of 2010), and so now here is the code to go with it.
The main module is hello.c - banger.c holds the "graphics/hardware interface" code - which basically is responsible for clocking out the bits that correspond to each row and column. It is a system that relies on POV, and through a clever timing trick mixing RED and GREEN gets you Orange - pretty convincing, although not totally smooth. Perhaps if I had used a 20MHz clock and debugged the display drivers I might have gotten nicer colour control, because you can detect a bit of fade, probably due to the buffers not saturating fully. (I did not have a 'scope at the time).

Monday, 22 March 2010

Steam Games Purchase Platform Dying?

I am a keen promoter of the steam platform - but encounter 2 barriers quite often
1. Navigation in the store is BAD - if I find a game demo, and like it, there is no link to go to the actual game on the demo page. I have to type it in as a search, why? Why can't I see all games from the same publisher on one page together either?
2. Too few games have ratings! how much work can it be to display the number of steam installs as a percentage over time when a rating is not available? I know it's missleading, but it's better than nothing.
Steam were innovators once, but Steam has not changed at all in the last 3 years, is Steam dying out?
3. Not a barrier, but a gripe - the reviews pasted into the store for games are not spell-checked - I can only imagine the same quality problems occur elsewhere?

Please raise your game.

Sunday, 21 March 2010

SHDC Cambridge hacker space meet #18

It is confirmed! We have the Shop on Jesus Lane for SHDC#18, Sat 27th March, from 7.30pm-late

If you don't know where the shop is, there is a link off

If you haven't been already been to a SHDC, it is basically a hackspace hacker meetup; an opportunity to get together in one place to work on your pet projects, be inspired by others, learn stuff and share ideas. The important thing is it is a *doing* shop rather than (just) a *talking* shop :) It is worth taking the time to come along with what you are going to work on (else procrastination may well be the primary activity!)

One rule, newbies have to bring cake. And we like cake. So if you are one, or know someone who should be encouraged to come along, pass on the message! You can never have enough cake! If you use twitter, you can pass on the message on

There is power and wifi and a fair amount of space, so bring your laptop, tools, hackable junk, snacks and a friend.

See you there!
(re-posted from the SHDC Google Group)

Thursday, 18 March 2010

Greenest Electronics Company

Check out this Ladder and see how your fave device lines up, happily Apple are pretty high up, and Toshiba even higher up the green list.

In other un-related yet current news - Would E-voting improve voter turnout at General elections?

Tuesday, 16 March 2010

God mode for Windows 7

Another windows tip here - there are dozens of really good techie blogs out there, and hundreds that some are just chessy, or covered in ads. Here is a tip that is not. It's been called the GMC (God Mode console).
There are literally hundreds of settings (I only took a pic of the bottom of the list as you see by the scrollbar) and once you work out how to open this explorer view, you will be finding a use for it. So want to do it yourself, surf once more over to Marks GMC post.

Sunday, 14 March 2010

Windows 7 driver signing of UsbAsp

Humm - sometimes Microsoft just get you in the goat, I think this is mostly because we love to hate Windows, so here is a tip to get your home-built AVR-ISP programmer working on 64-bit editions of Windows7. (PS: windoze 7 rocks!)
Mark Minasi's Windows Networking Tech Page
This is a neat technique, and does not involve downloading any dodgy programs , all you need is the Windows SDK, which can you download without any catches (totally free) and install in under 20 minutes. Just follow the steps in Mark's blog, which are basically:
  1. Get your machine into developer mode, and reboot
  2. Create a signing key
  3. Store it in your Certificate store
  4. Sign your driver, and then re-load it.
Anyway, follow the link for the details :-)

You can spot my ISP center-back, just next to the headphones - it's obvious we are short of space.

Saturday, 20 February 2010

8x8 dual color LED matrix

...arrived from oomlout last week , it's a common anode model, which is a bit problematic fom my perspective in driving it, but no matter.

Here are all the green LEDs.
As one would expect, the drive voltage (current actually) for the RED and green LEDs does differ, but since the control will be pulsed anyway, controlling the pulse width a little should give a controllable mix, because the red LED in the dimple is pretty bright. My intention is to use some shift registers, a transistor bank of drivers, or to swap my prorgam's algorithm completely and drive the rows with drivers, and the columns with the micro directly. I'm waiting for a TMP36, the one mointed near top-right of the microcontroller (it's hiding under a bit of veroboard) was actually toasted, so I had to order another, it's still comming because I made a mistake in the ordering process by not actually paying.

Thursday, 11 February 2010

USBASP programmer working on Windows 7 x64

It as not my brightest moment, but it has improved out computing experience at home, upgrading my XP to Windows 7. BUT, it broke the Usb driver, because Microsoft decided that signing all drivers without exclusion will improve the customer computing experience... I hate going outside the box to break my system, but I need my usb programmer to work so...

1. download driver from
2. Plug in device, browse path to downlaoded files
3. Install fails... no worry.
4. download DSO version 3b from
5. Run it, and select "sign a driver". browse to the driver c:\windows\system32\drivers\libusb0.sys
6. Put DSO into test mode
7. Reboot - it (should) now work

I think you can skip step 5

Sunday, 17 January 2010

Super Happy Dev club meet

In the background is a SIMON game, by Milton Bradley, the intention is to replace the micro (presumed non re-programmable) with a modern version. A java version of the Simon game is available here.

The club has also started a TGIMBOEJ and a google site has been created to show it off. I am quite keen on TGIMBOEJ, and have started 2 myself, just look on the tgimboej wiki for boxes called Cambridge.

The club normally seems to have been very 2 months, but are looking to haul it in to fortnightly, because a permanent venue has now been found. Join the google group to find out more and get updates.

Sunday, 10 January 2010

Groups near you

A quick little post to add some links, the full monty is here.

Setting out the competition - some nearby community e-news sites:
Histon and Impington News

.NET developers

Milton Chat  

Milton News

Why local websites, well today it'sabout reaching the community using our digital communication skills, so put that soldering iron away and start listening.

If you are not listening yet, you have to watch this video - fast forward to 2:16

Tuesday, 5 January 2010

Intermediate C++ Programming Book reviews

Good intermediate books, beginner books are often too slow to get underway, these titles are definitely not.
The E-book that comes with Visual C++ is not bad, it's just not deep nor broad enough and lacks examples, so. Although the C++ Gurus may glean some gems from these titles, they are more likely the ones we passed on to our padawans.

In no specific preference order.

C++ Common Knowledge 
I own other titles in this series.

review - CodeGuru
review - Amazon

Sams Teach Yourself C++ in One Hour a Day
Now this book is the follow-on of the Tech yourself C++ in 21 days book, which I did get to hold in my grubby mits, and found pretty impressive. It's not lightweight mainly because it has space for all of the examples.
review: Amazon

Schaum's Outline of Programming with C++
This is the C++ programmers cheat-sheet book, it will not teach you C++, but is a easy to search resource, with just enough example code to show each language technique off. I think this book is a text-book for college courses. This book is so good, I would call it the beginners "paper" version of the online C++ FAQ :
review: Amazon

The 1st 2 books included a DC-rom too I believe. There are other comparable books out there, but I have not seen them up close yet.

I've not currently got any of these books on hand anymore, so the recommendations are based more on :
I have gotten good books from the same publisher or by the same author or co-authors, or I have had a chance to read and use them.

Remember good engineers are always learning.

Saturday, 2 January 2010

Hacking space updates

I recently bookmarked the london hackpace, here is a video of a typical meet. To find a space near you, try this interactive map.

I think the hackers are obviously living in places where we just have gotten bored of the rampant consumerism that civilization brings.
If you have not got a space nearby, you could try start one, or just participate in the hacking community by sharing your ideas, designs or implementations.

One way to participate is to collect all the junk you have not figured out what to do with, and box it and post it to these people .

Friday, 1 January 2010


Soft Circuitry. Do we ever marvel enough at the accomplishments of consumer society? The ability to create demand for things we do not really need. The marketing angle that pushes the barter system way over the value price-point in such a way that you feel obliged to purchase something you cannot use for personal gain at all?

Do we think "what-if?" "when it's battery dies?" "when it looks grubby?", or "can I re-use it?". I'm always thinking of the re-purposing of consumer electronics, which is why TGIMBOEJ is such a cool idea.
  1. Pop over to the TGIMBOEJ website.
  2. Fill a shoebox with re-usable electronic parts
  3. Go back to the website, and sign up to get or send a box.

All the fun that can be had when you give a gift, of junk. The most interesting part of electronic junk is finding out what it is to start with. Most of the electronics forums have a thread where you can post a good photo and write down the markings. Do not worry if you do not know how to interpret the prefixes and suffixes, the guru's know that it's not easy, and they are all keen to help introduce the honest investigator to the world of discovery. Next step is to understand what a part was intended for, and then to use it to do something completely different. I think the proper term here is innovation.
Let the juices flow.

Older Relevant Posts

A collection of posts from my own Journal, in future these will all appear under the soft circuitry Journal.

Electronics & TGIMBOEJ:
Well, that is my back-links for 2008,2009 signed and delivered. Happy 2010!