Mar 12

Registry editing is far from convenient. It’s very easy to forget which key you need to edit or the values that you’d like to change. It can be difficult for less experienced users to carry out, too, making explaining tweaks to friends a bit of a nightmare.

You can get to the heart of Windows quickly and easily with this tool.

There is a solution to all this, though, and it’s called RegDevelop. This interesting utility makes it easy to produce a custom Registry tweaking tool that features all your favourite options – and no programming experience is required. Once it’s set up, you’ll be able to apply the tweak you’re after in a couple of clicks. And if you want to share the tweak with a PC novice friend, then just send them a copy and they won’t need to delve into the depths of the Registry to optimise their system.

Unstable utility

Before you get started with RegDevelop, we need to make it clear that it’s not entirely stable. Despite its ‘1.0’ version number, this is very much an alpha release, and it’s prone to displaying error messages if you do anything even slightly unexpected. Once or twice we’ve found that our RegDevelop project has become corrupted, so we’ve had to recreate it from scratch. With this in mind, it’s a good idea to make backups. We still think the program’s worth your time, though: there’s nothing quite like it, and if you’re careful then you may not notice any bugs at all. Those that do exist stand no real chance of harming your PC. If you’re looking for perfection, then, and will get annoyed if a project you’ve been developing stops working, RegDevelop probably isn’t for you. But if you like the idea of building your own interface for Registry tweaks, and are willing to put up with some early instabilities to make that happen, it really is worth a look.

After installation, checking the terms and conditions and optionally (and probably sensibly) agreeing to create a restore point, you’ll see a very simple design interface. The ‘form’ is the white space where you can add your Registry tweaking options through five different controls: Checkbox sets numeric values, Textbox handles strings, Label provides captions, Picturebox holds images and Button runs applications (more on that later).

Checkboxes are great tools for setting binary and numeric registry values

Let’s think of some uses for the program. Suppose, for instance, that you’re tired of leaving your PC on overnight to download a huge file only to wake up in the morning and find that it’s been rebooted by Windows Update and you need to start the process again. There’s an easy Registry tweak for this, but you don’t want to leave it applied all the time, because normally you want Windows Update to install security patches as soon as they arrive. The solution to this problem? Use RegDevelop to provide a simple interface for this Registry tweak so that you can turn it on or off quickly and easily as often as required.

Create a tweaking tool

Click the Checkbox control on the left-hand menu, and a checkbox with a default caption will appear on the form. Move the mouse cursor over it, hold down the left mouse button and you’ll be able to drag it wherever you like.

Click the checkbox on the form, then look over to the right-hand side. The Settings box here lists the various properties of the checkbox; these must be changed to get the program to work as we’d like. The ‘Caption’, for instance, is the text that will be displayed to the right of the checkbox. Type Don’t allow Windows Update to automatically reboot the PC in the Caption box and press [Tab] to see the checkbox update.

The value ‘RegKeyPath1’ represents the Registry key that the checkbox will be altering, so enter HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU here. ‘ValueName1’ represents the Registry value we’ll be tweaking, so type NoAutoRebootWithLoggedOnUsers into the box.‘ValueData1’ represents the value of this Registry setting when the box is checked. Set this to 1. We could now enter more information in the Unchecked section to tell the program to set ‘NoAutoRebootWithLoggedOnUsers’ to 0 when the box isn’t checked, but that’s unnecessary in this case because by default the program will delete the value when the box is unchecked, which has the same effect. And so we’re finished – your first tweaking tool is complete!

Testing time

To make sure that this tweak works, first launch Regedit and then browse to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU. Next, go back to RegDevelop and click the ‘Start’ button to run the program for real. Clear the checkbox, click ‘Apply’ and then switch to Regedit and press [F5]: the ‘NoAutoRebootWithLoggedOnUsers’ setting will disappear. Check the ‘RegDevelop’ checkbox, click ‘Apply’ and press [F5] in Regedit and you’ll see that it comes back. Your RegDevelop program is altering the Registry just as you’ve asked, but without you having to remember (or even know) any of the precise details of how it works.

Your content is stored as XML, which you can edit manually if you want to avoid program crashes. But be careful.

We’ve only applied a single tweak so far, but you can use the same principle to add any other numeric Registry tweak that you like – and not just binary 1 or 0 settings, either. Take the MenuShowDelay tweak, for instance. If you hover the mouse cursor over a Start menu entry such as Recent Items, it will expand. The ‘MenuShowDelay’ key sets the delay in milliseconds before this happens. By default it’s set to 400, but you might find reducing it to, say, 100 milliseconds makes you more productive.

To give this a try, add a new checkbox to your form. Position this neatly under the first, and give it the caption Expand menus more quickly. Click the checkbox, then enter HKEY_CURRENT_USER\Control Panel\Desktop into the ‘RegKeyPath1’ box. Next, enter MenuShowDelay in the ‘Value_Name1’ box, 100 as ‘ValueData1’ (the value to be used when the box is checked) and set ‘ValueType1’ to ‘dword’.Move to the Unchecked section and set ‘DeleteWithUnchecked’ to False. The Registry key, value and value types you’ve just chosen will now appear here too. Set ‘ValueData2’ to 400 (the default setting) and this will be used when the box is cleared.

Shall we find out whether this has worked? Click ‘Start’, and again watch with Regedit to confirm that the program is changing the settings you’ve specified whenever you check or clear the box and click ‘Apply’. If it’s not working, check the settings; if it’s OK, let’s share your work.

Pass it around

Click in an empty part of the RegDevelop form – away from your checkboxes so that they’re no longer highlighted – and you should see the ‘Program Settings’ box appear on the right. Click in the ‘Author’ box and enter your name. You can also enter a name for your program, and even customise it with an icon if you have one to hand.When you’re happy, click the ‘Build Now’ button and confirm your decision. While the program makes it sound like it’s going through a complicated process, it’s really just saving your settings and marking the tool as ‘Finished’. Close and restart RegDevelop to see the effect – the tool now opens with your finished form displayed, and the designer window is no longer visible.

If you’d like to share your newly created tool with someone, send them a copy of everything in your RegDevelop folder. This will include the ‘RegDevelop.exe’ file, the ‘Controls.xml’ file (which holds all of your custom settings) and the Tools folder. Or, if you want to carry it around with you so that you can use it on other machines, copy the same files to a USB flash drive. It’ll then run on any PC that has the .NET framework installed.

One unusual RegDevelop feature is that your tweaking tools can be further extended by the user. Unfortunately this does mean that a less-experienced computer user with a copy could press [F12], find themselves back in the design environment, play around and eventually break some important Registry setting. If your less computer-literate friends are especially good at trashing PCs then it might be something to bear in mind; why not add a note to the form suggesting that novices keep their fingers clear?

Going further

So far we’ve concentrated solely on checkboxes and numeric values, and that’s not by accident. You should be able to use textbox controls to edit strings or enter numbers directly, but these don’t always seem to work as you’d expect. When we tried to add a textbox after our two checkboxes, for instance, our project crashed. And while we’ve managed to get textboxes working occasionally, they don’t always seem to use the correct data type, and changing a setting will often result in an error message. By all means experiment with textboxes yourself, but be ready for problems. If you prefer a simpler life then it might be better to stick to checkboxes, at least until the program is developed further and becomes more stable.

Buttons can be used to launch commonly used programs, Windows components, or command line tools.

A better option if you’re interested in seeing exactly what RegDevelop can do might be to download a prebuilt sample application from the author’s own site. WinBubbles Lite 2009 (www.bit.ly/5os7KC), for instance, uses all the RegDevelop controls to provide tweaks for Explorer context menus, various Windows policies (you can disable Regedit and Task Manager, for instance) and the ability to change the Windows 7 log-in screen if you had the urge to do so.

WinBubbles Lite 2009 is a genuinely useful little program in its own right, and it contains a few interesting ideas that we hadn’t seen before. But for us, the real benefit of the application is as an example of how to use RegDevelop. Controls are placed inside picture boxes to separate them into logical groups, for instance; buttons are used to launch Windows components; and there are textboxes that actually work. Once you’ve finished exploring what the program has to offer, press [F12] to switch to the designer, and click any controls that look particularly interesting in order to discover the settings that make them work. Then you can steal the ideas for your own project, or simply use WinBubbles Lite 2009 as a basis for your own tool, removing any options that you don’t use and replacing them with your own favourite tweaks. Don’t worry, the author won’t mind – as long as you comply with the conditions in the included ‘RegDeveloplicenseAgreement.txt’ file then you’re free to rework any of his examples just as you like – and you can even sell them commercially if your ideas are good enough.

Change your wallpaper

Most of the best Registry tweaks relate to numeric values and the bulk of the rest use strings, but occasionally you’ll want to handle something more, like an image. If you’re looking to create a tool that will set your desktop wallpaper, for instance, then using a textbox and forcing the user to type in a full path and filename is a very bad idea. It’s much better to let them browse for an image, then display the final results, and you can do exactly that using a Picturebox. Start a new RegDevelop project, click the Picturebox control and resize it to fill the form designer. With the Picturebox control still highlighted, enter HKEY_CURRENT_USER\Control Panel\Desktop in the ‘RegPath’ box and Wallpaper next to ‘ValueName’. This tells RegDevelop to read your current wallpaper image, which will be displayed in the Picturebox.

The Picturebox control makes it easy to change your wallpaper and other images whose locations are stored in the Windows Registry.

Set the ‘PictureBoxStyle’ value to’ View and Set’. Next, click ‘Start’ and the current wallpaper image will be displayed. Click on this to launch an Open dialog box, then browse to and select the image you’d like instead. Click ‘Open’ and it’ll replace your current wallpaper, though you won’t see this until the desktop is refreshed.

This isn’t the most intuitive of solutions – clicking on a picture isn’t the normal way to change it – but it’s simple enough to use once you’re used to it. Any time you need an image URL in a Registry key, this is the way to go.

Protect your RegDevelop project

As we’ve mentioned elsewhere, RegDevelop isn’t entirely stable right now. Simply clicking in the wrong place at the wrong time could be enough to corrupt your project and prevent it from displaying correctly. It’s a bad idea to rely solely on RegDevelop’s single copy of your project, then, and we’d recommend you make additional backups on a regular basis. Close the program, saving any changes you’ve made, then browse to the folder where ‘RegDevelop.exe’ is saved. The ‘Controls.xml’ file there contains all your project settings, and you should create a backup copy somewhere else.

If it’s too late for that – the file is corrupted and you don’t have a backup – then you may be able to rescue your project by editing the Controls.xml file manually. Open it in Notepad and look for obvious problems. Or, if it’s just started crashing when you edit a specific control, you could try deleting that entire control from the file. That might just be enough to get the project working again.

Launch Programs

RegDevelop isn’t just about Registry tweaks. You can also use it to launch programs or Windows components that take a few clicks to locate. The Display Settings dialog is an extra click away in Windows Vista, for instance, but add the necessary command to a RegDevelop button and it’ll always be close to hand. Launch RegDevelop and click the Button control on the left-hand menu. Then click on your new button and give it the caption Display Settings.

Click the button on the form again, then click the ‘StartProcess’ box. This is the command that the button will launch when it’s clicked. Type RUNDLL32.EXE shell32.dll,Control_RunDLL desk.cpl,,3 and press [Enter]. The ‘WindowStyle’ box allows you to choose whether the command will be launched from a hidden or a visible window. In this case it doesn’t make any difference, so you can leave it at the default ‘normal’ setting.

And that’s it! Click ‘Start’ and the Display Settings dialog should appear. You can now add other buttons to launch any other Windows components that you might find useful. Entering RUNDLL32.EXE shell32.dll,Control_RunDLL inetcpl.cpl,,0 in the ‘StartProcess’ box will launch your Internet Options dialog, for instance. Use ncpa.cpl to open the Network Connections folder, or just Control to launch Control Panel. Check the scripting site www.dx21.com/coding/libraries/rundll32 if you need more ideas for commands.

Mar 10

Digital electronics might be the engine behind today’s computers, but it hasn’t always been that way. As recently as the ’70s, analogue electronic circuitry also played an important role in some types of computation, in particular simulation. This might sound like a rather specialised application, but many of the world’s fastest computers are used for simulation exercises in areas as diverse as engineering, climate study and nuclear weapons research. Back in the heyday of analogue computing, this technology could provide a solution in minutes where digital techniques might have taken hours or days.

Analogue computers were programmed using patch leads, connecting different sockets and logic circuits together. (Picture credit: DVQ)

Simulation basics

Most real-world systems can be defined as a set of simultaneous differential equations. These equations define the rate of change of a so-called dependent variable with respect to an independent variable, which is commonly time. To the uninitiated this might sound like Gobbledygook, but the following example should clarify things. It relates to the fictional radioactive element Aberdeenium (A), which decays at the rate ka to produce Bristolium (B). This is also radioactive and decays at the rate kb to produce Cardiffium (C), which is stable. The following equations define this behaviour:

dA
dt = -kaA

dB
dt = kaA - kaB

dC
dt = kbB

The first equation says that the rate of change of the mass of Aberdeenium is equal to its mass multiplied by a constant that is related to its half-life. Note the minus sign: this indicates that the change will be negative and hence the substance is decaying. The second equation defines the rate of change of the mass of Bristolium. There are two terms – one represents the amount created by the decay of Aberdeenium, while the other shows the amount being lost by its own radioactive decay. The third equation defines the rate of change of Cardiffium. There is only a positive term since it is stable, and that term is the same as the one we’ve already seen for the decay of Bristolium. Solving differential equations like these involves the mathematical process of integration (so, for example, if you integrate dA/dt you get A), and this is the main strength of the analogue computer.

Building blocks

An analogue computer is programmed by connecting together electronic circuits that perform the various operations needed to solve differential equations. The most common functions are integration, addition, negation and multiplication. To start, we’ll look at how analogue electronics are able to perform some of these functions. We assume that you’d prefer not to burn your fingers with a soldering iron, though, so we’ll use a circuit simulation package called LTspice. Download it from http://linear.com/designtools/software/ltspice.jsp.

This circuit, simulated using LTSpice, integrates an analogue signal.

Start up LTspice and open the circuit called Integrator that we’ve included here. It is remarkably similar to the Integrator circuit. In fact, if you are creating these circuits yourself, the easiest way to create Summer is by modifying Integrator. To do that, change the capacitor C1 to a 100k resistor, add a second 100k resistor to the inverting input (the minus sign) of U1 and connect the other end of that resistor to the plus sign of a 4V voltage source. Finally, connect the minus sign of that new voltage source to the ground. When you’ve opened Summer or created your own circuit, simulate it as you did for Integrator. Unlike Integrator, the output of this circuit remains constant for a constant input (or more accurately, inputs plural). If you try changing the two voltage inputs you’ll find that this circuit does as its name suggests – its output is the sum of its two inputs, subject again to a negating and a limit of approximately plus or minus 11V. In fact, real-world summers often have more than two inputs, as do real-world integrators. This allows them to integrate the sum of their inputs.

The only other component we need in order to solve our radioactive decay problem is the potentiometer.. A potentiometer is like the volume control on an old-fashioned radio – it’s a component that multiplies the input voltage by a fixed value between 0 and 1 depending on its setting. Analogue computers also had multiplication circuits that permitted two variables to be multiplied but, for now, let’s stick with these basic building blocks.

Patching things up

Analogue computers are programmed by connecting together the various building blocks we’ve explored over the last few pages in such a way as to solve a set of simultaneous differential occasions. Since analogue computers are now few and far between, we’re going to do this using VisSim. This application is programmed in a similar way to an analogue computer, but with mouse clicks rather than patch leads. It’s a lot simpler because it has theoretically perfect summers and integrators. This means that we don’t have to take account of the fact that analogue summers and integrators work within a limited voltage range and negate the output. A real analogue computer requires careful scaling using potentiometers to ensure that each opamp remains within its voltage range, while the problem with negation is solved (if you genuinely need a non-negated result) by using an extra inverter, which is just a summer with only one input used. Using VisSim (grab it from http://bit.ly/65wXZ) bypasses these issues.

This beautiful transistor-based differential equation analyser emerged from Poland in 1959. (Picture credit: Warsaw Museum for Technology)

First, start VisSim and create the arrangement of building blocks shown in this screenshot. ‘1/S’ is an integration block, the circle with the sigma inside is a summer (use the ‘+’ button to add it), the pointed box with the number inside is a gain block that we’re using as a potentiometer, and the window labelled Plot is where the results are displayed. You should be able to recognise that this arrangement is what’s needed to solve our radioactive decay simulation. Buttons for all the building blocks you’ll need can be found at the top of the screen.

To put a block on-screen, click on its icon and then click anywhere on the main part of the screen. Blocks can subsequently be moved simply by clicking and dragging. To make a connection between a pair of blocks, move the cursor to the output of one block and, when it changes to an up arrow, click and drag from it to the input of the second block. When you release the mouse button, a line will have been drawn between the two blocks. To disconnect two blocks, move the cursor to the input end of the line and, when it changes to an up arrow, click, drag away from it and release. To flip a block so that its input is on the right, select it by dragging a box around it and then choose ‘Flip Horizontal’ from the Edit menu. And finally, to change the gain of a gain block, right-click on it and enter a new value for ‘Gain’ in the Gain Properties window that will be displayed. It’s much the same process to change the initial value of an integrator from 0. You’ll also need to ensure that the left-most integrator – the one that evaluates the mass of Aberdeenium – starts off with a positive value, say 10.

Now all you have to do to make VisSim solve the problem and display the graphs in the Plot window is choose ‘Go’ from the Simulate menu. In this case we’ve chosen values of the gain blocks such that most of the action takes place within 10 seconds, which is the default amount of time in which VisSim will simulate a system. If you find that you need a shorter or longer time period then you can change it in the Simulation Properties window, which is accessible from the Simulate window.

Hybrid computing

In their heyday, analogue computers were good at solving differential equations while digital computers were good at solving problems that involved logic and decision making. Hybrid machines combined elements of analogue and digital computers in order to gain the strengths of each. Typically the digital computer could read the outputs of the analogue building blocks such as summers and integrators, and it could also do things like adjust the settings of the potentiometers, set the initial condition of the integrators and start and stop the analogue computation.

This GPS Analog Computer is so complex that it resembles an early telephone exchange. (Picture credit: Dmitry Sumin)

A classic example is using a simulation of the trajectory of a projectile to determine the angle at which it should be fired to hit a target at a particular distance. The problem would be created on the analogue portion, and the digital program would then take over running the analogue simulation. Depending on the range achieved it would adjust the conditions by changing the settings of the potentiometers and then rerun. This would continue until the required range was achieved.

Solve second order equations

Our radioactive decay simulation involved first-order differential equations. Some simulations involve solving second-order differential equations, which include second-order differentials. An everyday example will clarify this. The first-order differential of distance with time, dx/dt – the rate at which distance varies with time – is velocity (speed). The second-order differential of distance with time, d2x/dt2, is the rate at which the first-order differential (speed) varies with time (in other words, acceleration). To solve a second-order differential equation you’ll need to use two integrators, one after the other. The first generates the first-order differential equation and the second generates the dependent variable.

d2Y    dY
___ +D ___ + Y = 0
dt2 .. dt

If you’d like to have a go, the example shown above defines the movement of a weight on a spring. D is the damping coefficient; it can take values from 0 (no damping) to 1. First, rewrite as a pair of first-order differential equations with a new variable (V, say) that is equal to dY/dt. Next, rewrite so that one equation has only dV/dt to the left of the equals sign and the other has only dY/dt. Finally, define a positive initial condition for the second integrator to represent the initial displacement of the spring.

The patch panel

The diagram on the right shows part of the patch panel of a typical analogue computer. Each block represents one amplifier which, in this case, could be configured as either a summer or an integrator. The top left socket provided a constant positive voltage, while alternate blocks had a +1 and a -1 socket. Using this in conjunction with a potentiometer allowed any constant to be generated. The six unmarked sockets on the left are connected internally but are not connected to anything else, so they can be used as a handy interconnecting strip. The blocks labelled P and Q provide connections to potentiometers – the actual potentiometer knobs would be elsewhere. The sockets labelled 1 and 10 are inputs to the amplifier. Those labelled 10 have a gain of 10 (through the use of smaller input resistors) and the ones labelled 1 have a gain of one. The four sockets labelled OP are all connected to the output of the amplifier, while the green block at the bottom defines the operation of the amplifier. If you wanted it to become a summer you would connect M to sigma, while if you wanted it to be an integrator you would connecting it to either of the other two sockets so that it had a gain of one or 10. We can ignore the other sockets.

Mar 09

Have you ever notice that your OS and other applications seems to perform sluggish or slow, in spite you done all the necessary tweaking?

Before you think of reformatting your hard drive, try to uninstall your anti-virus and check if system performance has improved. Many problems I have encountered in the past in as far as system slow down is concern can be attributed to a problematic anti virus application.

Re-install the same anti-virus or a different one, if problem still exist, its time to reformat your hard drive to restore your PC’s performance.

Have a nice day!

Mar 09

Don’t worry, you’re not going to get charged by the minute this time.

Remember the excitement of logging into a BBS? What if you’d found something more than just files and chatter and naked pictures of assorted Star Trek actresses? To explain Digital: A Love Story would be giving away too much, so let’s just say that it’s a great nostalgic trip with a bit of future-gazing thrown in for free.

Played out entirely on 1988 style bulletin boards, it starts when you respond to an e-mail from a lonely sounding girl called Emilia. The relationship plays out as a hacker’s romance, as you jump between BBS systems to uncover a conspiracy, mostly interacting by firing off e-mails to the characters. You never get to see what you’ve said, only the responses – adding an unusual but effective disconnect to the conversations. It’s not a long game, an hour or so of action at most, but it’s a testament to the writing that you quickly get sucked into what is basically just typing in a lot of phone numbers. The authentic music and sound effects definitely help, especially in full-screen mode.

Ah, the sweet sound of dialling modems… Nostalgic as any music…

Download Digital here. It’s a great way to spend an evening.

(One quick possibly-useful tip: To a computer, the number after 9 is 0. I say no more.)

Mar 09

Get all this and more in PC Plus 293 – on sale now!

Prepare to watch TV like you’ve never seen it before! In our complete guide to building the ultimate PVR, we show you what kit to buy, the latest streaming sites that take you beyond iPlayer, and ways to make Media Center sing. If that’s not enough to get the power you need, we’ll also show you how to build your own PVR system, recording, storing and streaming content around  your home.

Also in features, explore the moments Apple wishes we’d all forget, in the Top 10 Rotten Apples. From ideas before their time like the Newton to unquestionable disasters like the Twentieth Anniversary Mac, we parade their shame for your amusement. We also show you how to turn a simple USB key into the ultimate digital forensics lab, and look at the latest solid state drives. Is it worth giving up those 2TB drives for a measly 160GB?

On Test

As well as testing the latest SSDs, we look at the Google Nexus One, Google Buzz, and two of the best sequels ever made – Mass Effect 2 and Bioshock 2. See if the Chumby is sweet enough to earn itself a place on your desktop, and upgrade your sound with one of the great speakers in this month’s group test. All this and more, in twenty fantastic reviews covering a whole range of hardware, software and websites.

In this month’s Make It

Eight great hands-on projects. Automate your PC for a more efficient life, manage your network like a pro, fight phishing, make sure your websites run in every browser, and more. We give you everything you need, in print and on your free SuperDisc – which also gives you our Media Center Toolkit, great full applications, and our Essential Collection of the software you need to keep your PC running smoothly.

Subscribe or buy this issue online!