Update Controller New Version

Posted on Leave a comment

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

Posted on Leave a comment

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.

Google Desktop

Posted on Leave a comment

Here’s another product that a lot of people seem to have forgotten about. Even before Vista introduced us to the concept of widgets, Google Desktop was there to let us have a virtual wall clock and notepad on the desktop. I might be alone in this, but I thought the notepad was cool, and I still use the actual Windows notepad application to jot stuff down quickly, so having something on the desktop that could do it was handy.

More importantly Google desktop does in-file searching, even on network drives; which admittedly I haven’t had the chance to try out yet. For all the talk about how built in Windows functionality is so good at search that Google had to discontinue it’s desktop application, in my opinion it’s just not true. Mind you if you’re searching for an application then the built in search is definitely the way to go. However if you’re actually looking for a file, especially if your system is a bit cluttered, good luck finding it with just what’s built in with Windows if you’re searching more than one directory and it’s sub-directories at a time.

It still works perfectly on Windows 10 too.

GoogleDesktop

Maybe I’m a bit too happy about it, but it’s good seeing software that sticks around even after the company founding it has moved on. Proper software development should make something permanent, not just something that makes it’s creators a bit of cash before both the software and its customers are ditched with the bare minimum of warning. Even if support has stopped, the software keeps working, and that counts for a lot by itself.

Besides search Google Desktop also has a on-desktop notepad to take short notes, which can be detached from the sidebar and expanded as well as a basic system monitor that lets you know your processor and memory usage at a glance. Unfortunately it looks like they’ve taken down the online repositories for widgets, but the ones that come with the application still work very well.

DPC Enhancer

Posted on Leave a comment

This is another one of those tools that people either love or think that it’s completely useless. DPC refers to a “Delayed Procedure Call”, where a driver will receive an interrupt from hardware that requires the computer drop everything to deal with it and instead of freezing up the computer for however long is needed, the driver acknowledges it from the DPC queue, restores control to the program and processes the information when the driver’s own turn comes around.

 

The issue that can happen with some Windows machines is that for reasons of power saving or poorly written drivers, procedure calls can stack up or just completely flood the queue, causing issues such as sound popping or video skipping. It’s an annoyance if you are listening to a song, but a massive problem if you’re taking multiple inputs and recording them into a song.

 

DPC Enhancer is a small tool made by Smithson Martin, who make various tools for music production and it’s something that turns out to be oddly useful in day to day computer use, especially on computers with multiple video cards. One of the things that this tool does is update normally non-accessible power settings on computers with multiple video-cards and insure that both cards are powered on all the time. If you’ve bought a recent model laptop and noticed that the desktop is oddly non-responsive, odds are that your secondary video card is going into sleep mode until you press a button, at which point it activates just long enough to process the toggle before turning back off again. It’s something I’ve been annoyed by on two recent laptops, one of my own and one I’ve set up for my parents; in theory the card built into the motherboard should handle all desktop activity and not access the second card at all unless a game is activated. However with system monitoring, I’ve noticed that the power to the second card does change the desktop latency.

 

Regardless, you may find this tool to be helpful if your new model computer is oddly non-responsive, in sound production, gaming or just on the desktop. Smithson Martin no longer offers it for download, but I have provided a copy here. Simply run it in the background for it to work, it helpfully minimizes directly to the task bar.

 

SmithsonMartinDpcImage

 

If you work for Smithson Martin and want me to take the link down, please don’t hesitate to contact us.

PrimoCache

Posted on Leave a comment

Here’s another interesting piece of software that you probably wouldn’t have heard of. Something called PrimoCache that implements an additional layer of caching between your operating system and hard drive. Now the observant among you will point out that Windows already has a file cache, and having two of them is just inefficient, which is true. The important point isn’t what PrimoCache does, it’s how it does it’s caching.

Windows uses a file level cache. Files are cached in blocks of 256KB, so if a file is only 4KB then the rest of the block is empty. More importantly, there are a lot of processes that bypass the cache completely. For example VLC and the default configuration of Virtualbox both use un-cached reads from the hard drive. MySQL also ignores the disk cache under the assumption that it’s own cache is sufficient. The issue arises when you have usage patterns that would hugely benefit from forcing all operations to go through the file cache. In general, there are situations where the computer assumes that some files won’t be read twice, but you know that they will. During standard Windows 10 usage (web browsing), I got a 32% cache hit rate with a 300MB cache.

PrimoCacheHitRate

It works the same for writes. If you’re writing data out to a file, then you need to close and flush the file handle before the process that’s doing the write terminates, or else you end up with a half written file. Many programming languages will automatically flush out the data and close off the handle if you forget (Python), but some won’t (C#, Perl). The problem with this is that flushing out a file’s write cache to disk can impact the entire system so if one process is writing out to its log files this behavior will cause a performance hit for all other processes on that machine, even if that process is only writing a few lines at a time. PrimoCache can smooth out this behavior by standing between processes and the disk exactly like Windows’ own write cache, but with user control. From the perspective of the programs, their writer operations will all occur at full speed and not affect one another, while PrimoCache will write out the stored blocks onto the disk when no writes are being requested from that drive (or the cache fills up).

Do I recommend this for general use? Not really, it’s probably too inefficient to have multiple stacking caches. However it’s worth knowing this software exists if you’re doing something like music recording or something else that demands data be written to disk without interference.

If you didn’t have to specify the size of the cache beforehand and it scaled dynamically, this would be something I’d be very impressed with, otherwise the software remains a niche-product.

Why not just get an SSD? That’s a non-solution. Any problem can be solved just by throwing money at it and that’s assuming that getting an SSD is even anĀ  option for the machine in question. The ideal solution to any problem will solve the requirements as cheaply as possible, something that directly relates to my previous post about TCP-IP settings.

Best Windows 10 TCP-IP Settings

Posted on Leave a comment

You might not be aware, but my main machine accesses the internet through a fairly slow connection. Relatively speaking anyway. I get about 256k, which works out to a steady 26KB/s. A speed that’s pretty ok for web-browsing, but I won’t be watching Let’s Plays on this.

At least it’s a speed that ‘should’ be ok for web browsing. I’ve noticed that modern applications don’t really play nice with slower connections. This is another part of computing where I feel that developers are too concerned with performance and not sufficiently concerned with efficiency. The assumption that the best way to fix a problem is to throw more power at it and develop algorithms to take advantage of that power, instead of more reliably using the technology we already have. My connection isn’t going to get faster no matter what window scaling algorithms are thrown at it, however what does happen is that I’ve noticed connections closing and timing out more often than they used to when I was using Windows XP and a 56k modem. Which is strange right? For example Facebook has to be loaded twice, because the first time it’s virtually guaranteed that the background connections will die out and Facebook will just stop loading, same for the WordPress admin site.

I want to talk about efficiency in software development in far more detail later on, but today I want to share my solution to the transfer problem. I’ve got the following settings configured with TCPOptimizer in Windows 10.

ProperTCPForSlowConnections

I’ve noticed a few differences, but not only did I only have to load Facebook once, but I did it while Viber was updating itself in the background at full tilt. Also it seems like the background WordPress admin connection kept up while I was typing out the entire article, without forcing me to save everything to notepad and reload. It might not be a fully objective test, but I’ll consider it a win.

By the way, have I mentioned how much I get annoyed at applications that force update themselves? Fortunately I also make a product that stops that behavior in Windows 10, Update Controller. If you look on the right side of the page you will find a link.

 

 

Gdipp

Posted on Leave a comment

After using MacType for a while, I noticed something annoying about it. This is aside from the fact that it does mess with certain programs, because those are very rare. I noticed that with certain Japanese fonts it makes the font not line up with the cursor correctly, that is the real font goes into the blank space of the document while it only appears to take up a small amount of room on the left side of the page. When you try to edit it you will find yourself erasing the wrong characters until you find the right spot by trial and error. Additionally I’ve noticed problems with the kerning (the distance between letters) on certain font sizes.

However I also found an alternative. Gdipp does the same thing and works in roughly the same way, but uses a different library to do it. So far the results in day to day use have been somewhat better and I haven’t seen any problems to this point.

AfterGdipp

It’s still available for download here.

7-Zip

Posted on Leave a comment

One thing I’ve noticed, which probably somewhat understandable, is that most people still think “zip” when they need to compress something. A lot of the time this makes sense, it’s the one file format that you can guarantee the other end supports, and you can get support for it as part of libraries for every programming language.

Unfortunately it’s not that good as a file format. Partly in that it doesn’t compress as hard as other formats, but mostly because it doesn’t compress between files, only inside them. So if you’re compressing hundreds of identical files, you’re compressing each file by itself and then adding it to an archive, instead of compressing the identical portions first and then only worrying about the differences in each file after that is taken care of. Even with that aside, the 7z format is just better.

Let me demonstrate with an exe file, something that you would normally think wouldn’t be that compressible.

7zRanking

The original and uncompressed file is the largest, zip is the second, and 7z is the very smallest format. If you’re curious I also tried it with bzip2 and xz, both formats ended up larger than 7z in terms of file size.

The Windows software that does this is called “7-zip” and you can get it for free here.

Not the best choice for transferring over the internet, but a better choice for longer term file storage on your own systems.

Search Results Filter

Posted on Leave a comment

We put together version 0.0.1 of a plugin to silently kill spammy websites in your Google, Bing and DuckDuckGo search results. It’s an afternoon project so it’s not exactly super polished, but maybe someone is interested.

Or is like us and hates PerlMonks enough to want to make them disappear forever. That’s more of a pet-peeve though, we focus on sites like Lifehacker.com, About.com and Goodreads.com (it has reviews for books that haven’t been written yet).

If it sounds interesting, you can grab the .xpi file here.

I should mention that unfortunately it’s a Firefox only plugin, it’s not signed for Chrome loading and since it uses the JPM builder instead of the unsupported CFX.. it.. doesn’t run in Pale Moon either.

Windows 7 PAE

Posted on Leave a comment

You might not be aware but it’s possible to get a 32bit version of Windows 7 to use PAE (Physical Address Extension). That means that if you’ve got a 32 bit computer, you can use more than 4GB of RAM in it, or at least use all 4GB at the same time instead of having some of it restricted.

Server versions of Windows all have this capability, and Windows XP used to be able to do this as well until Microsoft patched the functionality out in Service Pack 1 since so many drivers had problems with it. Almost every driver today is made as a 64 bit application as well as a 32 bit one, so their architecture generally won’t have problems with PAE. In fact as of Service Pack 3, the only Windows XP driver that is known to not work PAE is the Microsoft USB driver.

That aside, here’s a patch by Unawave that will modify the Windows 7 32bit kernel to support 4GB+ of memory, it works on both service packs, but the included kernel is rather old and patching over it is probably a bad idea. There’s a more up to date version of the patch however that one has since been pulled since people complained that modifying your kernel was a “security flaw”. Unawave replaced it with instructions for performing the patch yourself.. I still think they were being a bit sarcastic there since the instructions involve signing your new Windows kernel before adding it to the boot-loader. If you follow them then you’re very confident.

Microsoft does limit the amount of memory their server systems can access as part of their licensing policy. However that shouldn’t apply to their desktop offerings since for them it’s supposed to be more a matter of stability and support. That being said if it does turn out to be a licensing issue, I’ll have to take the link down.