We had some assistance

We recently got some additional assistance rebuilding our main download page from the guys at QWERTY Software Development. So this is a shout out to them, thanks guys, the new page looks a lot better. Also we’re moving the new blog content over to be on the same server as our main page in a separate section off the main site. It seemed silly to have multiple separate domains when people interested in what we do should only really have to go to the one site to find out.

While we’re on this subject, it’s probably worthwhile to talk about the new website.

newsite

It’s still the same WordPress instance as before, but with a slightly more complicated template. At this point I would definitely state that if you’re looking to run a blog on the internet, WordPress is probably not your best choice for it. The blogging functionality is still fairly basic and it’s somewhat complicated for what it needs to do.

WordPress’ main strength is that it’s very customizable and there are plugins available for almost everything, including at this point live page designs. This makes prototyping and changing your old pages much faster, and it makes it easy to add in E-Commerce functionality, chat windows and other tools. It’s easy to underestimate ease of use, but at this point in my career I still think that having something be easy to use is an incredible strength.

Lets take the example of a manual car compared to an automatic. When you’re driving normally the manual gear changes won’t be a problem. After all, you’ve been using the car for a while and are practiced with it, so it’s basically second nature at this point. What is a problem is when things start going wrong. When you need to drive fast or take evasive action that involves movement and not just breaking, at that point then you’re far more likely to forget something simple. Complexity only really becomes a problem when you’re under stress and in a pinch, because that’s when you’re far more likely to blank out on something basic and critical.

The point of all this is that WordPress is surprisingly useful as an E-Commerce platform since it can take care of making the site responsive and that the elements scroll properly, insuring the backgrounds are placed and scroll correctly on different devices and with the right set of plugins will helpfully point out when your text is imperfectly optimized for search engine ranking.

MacType 2016

After a surprising three year wait, a new version of MacType was released. You can grab the latest version here. Now Windows 10 is officially supported and among other features there is re-enabled DirectWrite support.

Direct Write is a function of DirectX that lets you easily write text to a 3d accelerated surface. Previously this was something that third party text extensions couldn’t affect, since it was a different pathway from the normal Windows GDI text writing method. This means that in theory, all applications should now be covered, including Chrome running with hardware rendering as well as the latest versions of Microsoft Word.

To show the effect of the iOS settings in Windows 10, here is the before..

Before2016_v2

and the after…

After2016_v2

Text does seem noticeably easier to read with this new version, so I’m definitely impressed. By the way, for comparison purposes, here’s the after picture from the 2013 version of MacType.

After

It’s hard to notice the difference, but there is more sub-pixel hinting with the new version.

TeraCopy and XCopy

One of the first applications that many people install on their freshly built computer, and which the rest have never heard of, is TeraCopy. TeraCopy can replace the standard Windows file copying action with itself, doing the same operations not only more efficiently but also with a few added features that Windows could have used for a while now.

Teracopy

Among other helpful features, TeraCopy uses its own buffers to handle the intermediate step while copying files, and is somewhat more aggressive with them than Windows is by default. This means that on systems that are under some load or slow to respond you will get faster copying speeds. For example if the remote drive is on a shared network drive that is being accessed by other users, or on a USB.

TeraCopyLarge

Secondly it does not instantly grab focus of Explorer windows after the copy has started like Windows will do when operating over slow links. This might seem incidental, but if you are dealing with slow network copies as part of your daily routine, it can rapidly become another irritation when windows jump forward as you are attempting to focus on something.

TeraCopyMenu

Thirdly and perhaps most importantly, TeraCopy is better equipped to handle dealing with drives that are becoming less reliable. With an option to always test a file after it has finished copying by reading it back and comparing it against the source. When a drive begins to fail, it is almost always by corrupting data as it is being written and almost never during the process of reading back good data. If you are writing a backup, writing to a remote location or writing a file that is simply important, it might help to have a built-in extra check so you don’t have to remember to manually verify the copied file.

On the subject of advanced copying technology, one additional tool that comes with Windows that many people are unaware of is xcopy. In functionality it’s very similar to TeraCopy in that it allows you to safely copy large amounts of files very quickly by making heavy use of system memory, though unlike TeraCopy it is not a graphical tool and instead it’s something you trigger with power shell. Generally as follows.

Xcopy

Xcopy is very useful for making a system backup. In fact this is largely what it was originally designed for, since without the /E and /K flags it won’t build the entire directory structure and any files it writes will automatically be set to read only permissions so they can’t be modified.

One additional thing about xcopy that it’s important to be aware of is that you need to specify the entire path in both the source and the target. It does support using wildcards like ‘*’ to indicate every directory and file inside a directory, but it helps to have the target and source specified completely, including the slash at the end for targeting a directory to be copied into. I’ve had strange behavior by failing to do this, so I recommend erring on the side of caution.

Incidentally the help flag for getting xcopy’s manual page is ‘/?’.

Windows Update Fixit

Despite the fact that we’re making a tool who’s purpose is to suppress a common Windows behavior with Windows Update, I’ve always still felt a bit hopeful that all of this messiness will blow over and Microsoft will modify Windows to just do what people want. After all, computers are so generally central to people’s lives right now that having them become more annoying to use is a net negative for everyone. Even a small change that makes Windows even slightly more annoying, if a user has to tolerate it every day at work and then again at home when they get back to relax can rapidly reach insane levels of pain. Not to mention that we should reasonably expect our tools to do their jobs without trying to mess with us.

So it’s with mixed feelings that I’ve been following the news about Microsoft’s recent changes to how Windows Update works for Windows 7, 8.1 and 10. Firstly, by now you’ll all have heard that there have been issues with Webcams for Windows 10. Apparently this is because Microsoft is insisting that everyone has to use their open-source but still Microsoft based codec to talk to webcams, apparently this is supposed to make them more reliable when multiple streams are accessing the same webcam. Due to this change, many previous webcams are no longer working as before, either not to the quality they were previously or apparently in some cases not at all. This appears to be due to the fact that Microsoft’s codec will, at 1080p quality, take up about 250MB/s of bandwidth. Compared to the very common codec H.264 that uses something in the range of 5MB for the same level of quality. Of course that only works if your webcam supports USB 3, not a guarantee if it only previously expected to reasonably send at 5MB/s maximum. Of course it’s been more than 10 days since the anniversary update, so if this is a problem that you’ve only just discovered you have, you’d be out of luck if you updated when you had the chance.

Additionally Windows 7 and Windows 8.1 will be switching to rolled up updates. So instead of downloading individual updates, you’ll be downloading a massive pack of changes all at once. This could be a problem for corporations that generally expect that their IT departments will be able to test individual updates. Though given that Microsoft have been getting more and more vague these last few years about what their updates actually contain, it’s not that much of a surprise that they are choosing to go in this direction.

The only good point in all of this for us is that we still make software that can suppress the Windows Update action in Windows 10, overriding the computer and letting the user have complete control of the process with a single button click. You can hold off updates as long as you want and you don’t have to delete system files or mess with the registry to do it.

You can pick up our version of Update Controller here.

Oh and why the post name? Apparently this is a search term that has been screaming up the Google rankings since Microsoft made their recent Windows Update changes. People seem to really want to fix Windows Update so it stops messing with them.

Windows Legacy Edition

This is an interesting version of Windows you’d normally only run into if you happened to work at a large company that had a volume license for it from Microsoft. Windows Legacy edition was a version of XP intended for Thin PCs, for example if you wanted the users to sit at a normal desktop, but run desktop software situated on a sever elsewhere in the building. From back when stuff like this actually seemed like a good idea.

There are a number of reasons why it’s not a good idea. First among them being that anyone who’s had the unfortunate experience of using a Citrix instance will attest to the fact that there is always a noticeable lag, even over a gigabit connection. Additionally the system never quite seems to be as responsive and useful as it’s specs would imply, even accounting for the issues caused by lagging inputs that occasionally skip.

Also, while it’s true that you no longer have to provide support for many small desktops; you are now required to support a larger and complex server that represents a single point of failure. If it goes down, so does the productivity of a department.

So Windows Legacy never quite took off like Microsoft probably hoped it would. Still I dug up some old screenshots of it in action, since if you have access to a license, it might be useful.

Windows1

From the start, it looks fairly different from a normal installation of Windows XP, and you can tell that the basics are there, but things are missing. The license agreement is different too, as it refers to a specific volume license between you and Microsoft. It’s actually very refreshing and to the point compared to most of End User License Agreements you see floating around.

Windows3

You can see that Microsoft considered that people would want to automate installing this version. It’s possible to make Windows XP install itself in unattended mode as well, but with the normal version this option isn’t as obvious and requires far more fiddling to realize it’s there.

Windows4

By default very little is installed, in fact even the Full Configuration is missing some .dll files and other features that Windows Software generally assumes will be present on every system. However note that the Minimum Configuration only installs Remote Desktop, not even IE.

Windows5

By default there is no boot to desktop option, every user is required to log in like in server editions.

Windows6

The default desktop is empty, but refreshing. I appreciate that there’s no immediate attempt to up-sell the user on something, probably nostalgia for simpler times.

Windows7

Compared to Windows 7 that can easily chew through 2GB just idling after being used, 100MB isn’t too bad after installation. At least not by modern standards, though the programmers of Windows 95 would probably laugh at that statement. Mind you it’s not that impressive because this is actually very close to what Windows XP normally uses after installation, however there does appear to be a slower uptick as the system continues to be used.

Assuming that you have the licensing agreement to legally use this, and a piece of software that doesn’t require some fundamental driver that is normally expected to come standard on XP, this would probably make a pretty good headless system, like a server on an internal network, or an embedded machine. Though it won’t work on a Reasberry PI due to being x86 only, it would work on some of the competing boards being released.

Unfortunately I’m told that due to being the equivalent of SP2 and having completely outdated security certificates, you won’t even be able to access Google with the included browser. Some patient tweaking would probably be needed to get some use out of it.

Still, many people do find it more comfortable to work on Windows system than a Linux one, even for embedded projects. Especially as long as Microsoft’s Internet of Things only supports a small subset of embedded hardware and doesn’t operate like a miniature Windows system.

Testing Windows 10 “Tweaks”

I know there are plenty of random tweaks floating around for Windows 10 and I thought it would be interesting to benchmark a few of them with 3dMark05 on one of the older machines I have lying around.

Now almost all of these adjustments are generally pretty situational, so I didn’t really expect to see any performance improvements. For example DPC Enhancer is supposed to be for buggy drivers and while I know that it does change the power settings for graphics cards on PCs with multiple cards, I know nothing else about how it works, it’s entirely a black box. So while I’ve found it to be useful in making my gaming machine noticeably more responsive on the desktop, it’s not really a performance tweak.

Still, the results are interesting, first, the numbers.

ChartGo

Each test was run six times, and the final result was the average of all the scores. I rebooted between changes.

It’s interesting that disabling paging resulted in an improvement, but probably not that surprising. Normally it’s the sort of change you make to prevent the computer starting to “stutter” after extended usage. Paging is also caused by IO and some people don’t want their programs to be pushed out for file accesses. It’s also worth noting that on Windows 10, disabling paging also disables memory compression. Despite what the chart says, this change was only 1% or so. It’s not an effective performance tweak.

DPC Enhancer was also useful, which was somewhat unexpected given the test machine. As mentioned previously I always thought of it as more utilitarian. Among other things the test machine doesn’t have the kind of hardware that would benefit from this tool, being a fairly old machine with a simple configuration.

Timer Resolution was the first surprise. This has been shown to have some performance boosts for other applications and configurations, so this is one tool that I did somewhat expect to see a benefit from. Actually this probably isn’t too surprising either, since the laptop is old enough, and the tests difficult enough that the additional context switching is an overall detriment. If the processor was more powerful, such that each frame spent more time idling while waiting for a context switch after finishing some processing, this would probably be an improvement. The real surprise is that the timer isn’t set to maximum system wide when 3DMark is running. For example Google Chrome used to set Timer Resolution to maximum when running JavaScript, but doesn’t do this in newer versions because the performance increase wasn’t worth the effects on battery life.

Dynamic Ticks was also a surprise, while I did expect that it could make the computer slightly more responsive to input, I didn’t expect that it would actually improve the benchmarks. Generally when a test is running you don’t expect the processor to be going at anything less than the maximum anyway.

In the end, these are situational tweaks for specific issues or for specific applications that would benefit from having them. Not for performance. However, seeing the effects they have on straight performance is still worthwhile since we can know if they’re actively detrimental or not in other cases.

Disabling Dynamic Ticks

Here’s another post about disabling a Windows feature. The first question, why would you want to? Dynamic Ticks are a feature that lets windows stop the system timer when nothing is happening in order to conserve power. This is nice for portable and battery systems but can be a problem for desktops, especially since the tickless mode has been known to cause strange issues on some systems; especially when gaming or engaged in other media related tasks.

Fortunately, disabling Dynamic Ticks is a one step process. Open up an instance of Power Shell as an administrator and type in the following…

bcdedit /set disabledynamictick yes

Then reboot. This setting is permanent until disabled with it’s opposite, simply replace “yes” with “no”. This feature doesn’t cause issues on every system, but it does cause issues on enough machines that it’s worth keeping the fix in mind.

 

 

Turning Off Windows Defender

Windows defender can’t be disabled the normal way, that is from the Settings app, only temporarily postponed. Now, firstly you would ask why someone would want to make their computer less secure? Well there’s a few reasons.

  • Windows Defender transmits anything that matches its heuristics back to Microsoft, even if you specify that it’s not a threat. As a software developer, you don’t want to risk having new software you’re developing be beamed to the competition over the internet.
  • Windows Defender runs ALL the time. Even when you’re not actually connected to the internet or downloading anything. Anti-virus software is somewhat of a resource drain and there’s no reason to leave it running if there’s no appreciable risk to your machine.
  • It doesn’t really help. Of the possible threats to your computer’s security, Windows Defender is only going to be effective against a fairly small subset. Providing you avoid installing applications from untrusted sources and insure that your browser and firewall are secure then you will be as safe as is reasonable.

The idea behind Windows Defender is the same as behind the automatic updates, if people don’t know enough to disable it, it can stop viruses from spreading between computer systems. To Microsoft it’s not an issue if these computers are way slower, because the people running them don’t know how fast they should be.

On a side note I’ve always detested the idea that buying new hardware is a solution to performance issues. You can solve anything by just throwing money at it. Good design is a solution, better hardware is giving up. Of course you need your software to run on something, but “spend more money” should never be the first solution.

For the issue at hand, we’re going to turn off Windows Defender with something called gpedit. Short for group policy editor. This is normally used by network administrators, generally people in charge of machines belonging to businesses or government offices, to set the company policies that apply to various company owned machines. Things like not allowing any USB storage to be connected or enforcing that no sound can be played from any machine. Generally the group policies are applied network wide onto all machines that are connected to a specific network and answer to a certain type. For smaller networks however, the gpedit tool lets us directly modify the policies that apply to one machine at a time.

Search for it as follows.

gpedit1

You’ll want “Computer Configuration” > “Administrative Templates” > “Windows Components” > “Windows Defender”. In the Windows Defender tab, you want to double click the option marked “Turn off Windows Defender”.

gpedit2

You will get a screen that looks something like this. Remember that “Enabled” is what disables defender. You are activating a policy, not disabling a service.

gpedit3

Insure that when you start up gpedit, it starts as an Administrator.

It is somewhat annoying that Microsoft feels so much ownership over the people who choose to install their software that Microsoft feels it has the right to dictate what settings the users may or may not use. While you could argue that it prevents people who are less skilled with computers from doing accidental damage, an argument that might be somewhat understandable; it still doesn’t explain why there’s no option to change this setting in an actual menu.

Update Controller New Version

We’ve released version 1.0.7 of Update Controller. This release has mostly cosmetic changes, as well as a minor tweak to reduce CPU usage. If you’ve got a previous version, you can find the new links in your receipt email.

I was playing around with trying to halt the background updates without Update Controller during my testing it’s incredible that the update process is so hard to terminate manually, it just keeps coming back.

Plus it turns out that clicking the top right ‘X’ icon on your Windows 7 “Do you want Windows 10” question is actually a sign of acceptance as far as Microsoft is concerned. So all of those people who said “I didn’t agree and the computer updated by itself.”, well now it looks like they didn’t just secretly forget.

Problems with Gdipp

Gdipp does one thing much better than MacType in that it can integrate with applications that MacType can’t touch, namely those using DirectDraw calls to render their text. The downside is.. well..

gdippIssues

This is just one example, I’ve also had the letter ‘l’ disappear in some applications. I’m sure there’s a software solution for this since the mac doesn’t have these problems even at low resolutions beyond just “Clear Type” stays in the borders and the Mac’s Adobe text rendering system doesn’t.

I still haven’t heard of gdipp or MacType’s successors though. Odds are there’s a project out there that’s just not getting enough coverage.