Hash collision probability calculator

While there are many resources describing in great detail mechanics of hash collisions and formulae for calculating it’s probabilities, I’m yet to find an easy to use, always available online interactive calculator that anyone could mess with to estimate their personal hashing needs. Well, here’s one…

Note that this is approximation which is very accurate for large numbers but will produce nonsense for unpracticable numbers like 2 items hashed into 1 bit.

This calculator is based on the hash collision probability formulae I gleaned from here

Lenovo Yoga 2 Pro Bluetooth Problem Workaround

Lenovo IdeaPad Yoga 2 Pro is an excellent machine just like its predecessor. Unfortunately just like the first generation Yoga it has an annoying flaw in wireless connectivity that is yet to be fixed.

First generation Yoga convertibles had a tendency to drop WiFi connetions or have poor conniption quality. Eventually it seems to be fixed via software update. Second generation Yoga convertible didn’t have WiFi issues but is plagued by Bluetooth connectivity problems.

Bluetooth devices such as keyboard and mice keep disconnecting spontaneously and sometimes Bluetooth adapter quits working altogether. Although it is up to Intel and Lenovo to provide the ultimate fix in the form of software update (for it is for sure a software problem in Bluetooth driver) there are some workaround that might make life bearable for Lenovo Yoga 2 Pro owners with bluetooth accessories.

  • Make sure that your bluetooth drivers are up to date. Intel and Lenovo claim that they have addressed some of the problems. So updating a driver shouldn’t make things worse at least
  • If your bluetooth mouse stops responding, try Alt-Tab switching between metro and desktop applications. Often this would restore life to the mouse pointer
  • If your Windows 8.1 bluetooth settings are gone altogether, then bluetooth adapter has quit working. Rebooting the computer may or may not fix it.  If you open Windows device manager you may see a failed device with comment “Descriptor request failed”. Rebooting the machine will not fix this issue. To fix – follow these steps:
    • select the failed device in Device Manager
    • in the “View” menu, select “View by connection”
    • Go up two levels from the failed bluetooth adapter and right click on USB host controller device.
    • Disable and then enable the host controller back. You should now have your bluetooth back
  • Playing with power management options might also help according to some users.

Lenovo Yoga 2 Pro SSD Benchmark

Since I’m into running benchmarks on different SSDs, here’s another benchmark. This one is for the integrated SSD in Lenovo Ideapad Yoga 2 Pro that was recently released.

It actually packs quite a punch.

Linear read/write: 501/254 megabytes per second

512K read/write: 425/522 megabytes per second

4K read/write: 24/64 MB/s

4K QD32 read/write: 341/246 MB/s


Cannot connect to iTunes store on iPad/iPhone/iPod for updates

If you get “Cannot connect to iTunes store” when doing updates but all other store functions seem to work (browsing, purchasing and downloading apps), then try this weird trick that seems to solve the problem for a lot of people. It definitely worked for my 1st generation iPad.

Go to Settings ->  General -> Date & Time and turn off “Set Automatically”. Then manually set your date a few years in the future. Go back to the iTunes store app and try to do updates. It will tell you that there is a security issue and you should check your date and time. Now go back to settings again and turn the automatic date back on. Return to the store app again and try to install updates. It should work now.

Other things to try are:

  • Logging off and back on with your store account
  • Rebooting the iPad
  • Making sure that all of the apps that you have installed and you are trying to update were installed from the same account that you are currently using now.

Hope this helps…

Suspend BOINC when full screen game is running (better than exclusive_app)

Running sceintific distributed computing apps in BOINC is nice, but they slow down the computer too much if you want to play a demanding 3D game. This is expecially true for BOINC GPU computing projects.

In fact if you have just one GPU it makes sense to suspend it if you have only one videocard in your system. If you are running a crossfire/SLI setup then there is absolutely no harm in running GPU compute tasks on your second GPU while you work. Apart from extra watts that your computer will convert into heat, you will not see a difference.

Do disable computing on main GPU you can use   ignore_ati_dev/ignore_cuda_dev/ignore_nvidia_dev BOINC options.

There is also exclusive_app app option. It allows you to list processes/games that require full power of your hardware. When such a process is started, BOINC suspends all computing tasks. The problem is that you have to specify every single process/game name here. If you get a new game, you can to edit the cc_config.xml file and restart BOINC.

I spent a few hours with Visual Studio I’ve conjured up a simple app that would cause BOINC to suspend computing when any full-screen application is started on the primary monitor.

You can download the app here: http://www.everydayinternetstuff.com/wp-content/uploads/sites/2/2012/04/FullScreenDetect.zip

Here’s how to use it:

  1. Extract the FullScreenDetect.exe executable to any location of your choice
  2. Run FullScreenDetect.exe /install. This will cause the app to run every time you login Windows.
  3. Edit your cc_config.xml file and add <exclusive_app>FullScreenDetectIsActive.exe</exclusive_app>
  4. Restart BOINC so that configuration changes will take effect

Every time a full screen app is started FullScreenDetect.exe will launch FullScreenDetectIsActive.exe. It will keep running as long as the fullscreen app is in the foreground. BOINC will detect presence of this process and pause computational tasks until it exists.

The app is written in C# so it requirest .NET Framework 2.0 to run. It shouldn’t be a problem on Windows Vista, Windows 7 and Windows 8. Windows XP doesn’t come with .NET pre-installed but in all likelyhood it should have been installed at some point. The app is very lightweight and doesn’t use up measurable amount of system resources. In fact it spends most of its time sleeping.

Although technically screensaver is a full screen application, there is an exception for them. If screensaver is running (ex: pretty BOINC screensaver) you are likely away from the PC and certainly wouldn’t mind your GPU being used for scientific purposes.

Accelero Xtreme 7970 Review (Crossfire), and an attempt at Noctua VGA cooling

So the night has passed and the glue has cured on the second Radeon HD 7970 and I got about to installing it. As I suspected, it was a very tight fit. I had to install the lower card first and then the other after it. If I ever need to take cards out it will have to be in the reverse order because upper card completely blocks access to PCIE slot lock. Video card with Arctic Cooling 7970 cooler installed is slighly more than 3 slots wide but it still fits. I’m quite happy with the reuslts.arctic-cooling-accelero-xtreme-7970-crossfire

Fans speed up just to about 35% when card goes from idle to full load and the difference in noise is impossible to measure.

Idle temperatures are at 53°C/49°C (for first and second videocard correspondingly) while noise level is 45dB.

At full load the cards warm up to 72°C/52°C and the noise level stays at 45dB. These are nice temperatures given the fact that cards with stock coolers ran hotter and were much noisier.

If I manually set fans to 100% power, the noise goes up to 48dB but temeratures drop to 43°C/39°C. I were into overclocking, I could do a lot with a videocard running this cool.

Final verdict: Arctic Cooling Accelero Xtreme 7970 VGA cooler rocks in CrossfireX configuration. You have to mind the size though…


I also did an experiment with upgrading Gigabyte Radeon HD 7970 with Noctua 80mm fans. Gigabyte card already had the radiators and heatpipes, but fans were noisy. I removed the cover with original 92mm fans and attached 3 Noctua 80mm fans to the videocard with rubber bands. Of course this was never meant to be a permanent solotion. The plan was if the experiment goes well, to have a custom made mounting bracket manufactured. I used 3 way ran splitter with PWM control to power the fans. Unfortunately the splitter had a large motherboard-style connector and no way to plugging it into mini-VGA connector. The only option was to force fans always to run at full speed.


I ran the test in a CrossFire config with other card being HSI 7970 with custom cooler already installed. I disabled the factory 1000Mhz overclock on Gigabyte so that both cards ran at even reference 925Mhz.

Idle tests went well with temeratures of 45°C/36°C and noise level of 45 decibels (with fans running at 100% speed).

Full load results were bad though. The card quickly heated up to 80°C, while it’s cousin with Accelero Xtreme stayed at 37°C. At that point I aborted the experiment since it seemed that tempteratures would be on par with stock cooler (though without noise at all). It seems that Gigabyte card just doesn’t have enough metal on it in terms of heatpipes (3 vs 8 on Arctic Cooling) and radiators (much less visibly) to remove heat no matter what fans you attach to it.

I put the oriignal cooler back and descided to stick with HSI 7970 + Accelero Xtreme and return the Gigabytes.

Of course there was also the water cooling option but I descided that given the reduced mobility of the desktop, risk of leaks and additional trouble when moving components inside the case that it is not worth it.

As I was typing this post I tried to overclock the cards to 1000Mhz, while keeping the fan at 100%. It seemed to be stable enough when crunching numbers in BOINC for [email protected]. While running at 63°C/57°C

Accelero Xtreme 7970 Installation Success

So the thermal glue has cured and I took the modified HIS 7970 with Arctic Cooling Accelero Xtreme 7970 cooler for a test drive. So far I like the results. The video card is completely quiet when idle and under full load and barely noticeable when fan is manually set to 100%. Since I only have one videocard modded, these tests shouldn’t really be compared head-to-head with Crossfire tests from the previous post, but so far results look promising. For these tests having the side panel on or off didn’t seem to have a measurable effect on either temperature or noise.

When the video card is idle fan spins at 20%, with noise level 42dB and VGA temerature 42°C.

Under full load (S.T.A.L.K.E.R. Call of Pripyat running on full settings without VSync), fan speeds up to a mere 29%, with no measurable increase in noise and temperature stays at 62°C.

Manually setting the fan speed to 100%, raises noise level to 46dB, while dropping the temperature to 36°C on idle and to 52°C under full load.

All-in-all I’m inclined to call this a success so far. I’ve started to mod the second videocard and it should cure overnight so tomorrow I’ll be able to run some Crossfire tests.

There are some minor downsides to Accelero Xtreme 7970:

  • It turns 2-slot video card into a 3-slot monster. Worse – there is a backplate that significantly protrudes on the back-side of the card. This may be a problem for CrossfireX configs (though Arctic claims that it is Crossfire-friendly)… I’ll find out tomorrow. If you have a montherboard that has only one slot between VGA PCI-E x16/x8 slots (like Intel X79SI), then running Crossfire with this cooler is plain impossible. Water cooling may be your only option then. Accessing PCI-Express slot locks also becomes problemmatic.
  • It makes already long video card, even longer. With LIAN-LI A71F case I didn’t have a problem, but with my older smaller case, I would have. Make sure that your case is big enough
  • Despite having a 4-wire fan connector, the cooler doesn’t report proper fan speeds to videocard. The reading in GPU-Z and Catalyst Control Panel jumps randomly between 800 and 50,000 RPM. Not really a big problem – minor annoyance

Overall these are minor issues (unless you didn’t plan ahead in terms of size) and given vastly improved cooling and reduced noise I would still rate it as great product.

Here are some things to keep in mind when installing this VGA Cooler:

  1. There is no install guide in the box. Download it from the support section of www.arctic.ac and follow it carefully
  2. Make sure that you remove all of the screws from videocard when removing stock cooler. There is usually a smaller screw that is easy to miss above 4 heatsink backplate screws. Mine also had a couple of screws on the outside bracket where you plug monitor connectors (but be caresul not to unscrew connectors themselves)
  3. The stock cooler will resist your attempts to remove it – this is normal. There are 11 thermal pads on the memory and possibly more elsewhere holding it + baked thermal paste on the GPU chip. Rock it gently until it separates.
  4. Throughly clean all surfaces that will have radiators attached to them and the GPU chip. The latter should look like a mirror. If chips that you will later glue heatsinks to are dirty, the glue will not stick and radiators will fall off. Best case – the part will overheat, worst case – it will short circuit your mother board potentially destroying all of your hardware. I used monitor cleaning pads with methyl alcohol to clean the chips.
  5. Don’t forget insulation tape installtion near VRMs.
  6. Don’t mix up spacers. In my case white spacers went to the heatsink mounting plate and black ones went to the backplate. Your kit may be different so check with the manual
  7. Before you start working with the glue, make sure that you have all of the heatsinks and that they are arranged by type and easy to find. 15 minutes to install them isn’t that much.
  8. Do follow the G-1 glue instructions carefully. The glue conducts heat but not electricity so don’t worry if you splatter some on electric connections. Do mix it for 5 minutes. Then do not linger – even on my second install I went a couple of minutes over recommended 15 minute installation time. Didn’t seem to be a problem in the end. But definitely don’t mix the glue and go to lunch. Some people gave this cooler bad reviews because radiators will not stick. Most of the reviews are positive though and it seemed to work for me. This leads me to conclude that folks that had problems didn’t follow all of the instructions carefully (cleaning the surfaces and observing prescribed times)
  9. Make sure that VRM heatsinks are secure. Insulation tape can push them aside or lift them off the components on PCB. I found it helpful to press them down it a small weight (DSLR battery) while the glue cures.
  10. There may be minor differences in the layout of your card. Mine was missing a couple of voltage regulators so I had one F-type heatsink left and used a shorter version of D-type (it was in the box though not mentioned in the documentation)
  11. Do wait at least 5 hours for the glue to cure. Best leave it overnight. Some reviewers claimed that curing speed is temerature depended and the glue will cure longer or not cure at all if it is too cold. My thermostat is set to 75°F and I didn’t seem to have a problem. Letting the videocard rest near the heater might help.

That seems to be it. So far so good. I know that it can be scary to mess with $500.00 piece of hardware while voiding the warranty. It was doubly so for me to mess with two such pieces of hardware. But in reality it is not that hard. Just follow the instructions and you’ll be fine.

For some reason instuctions are missing from the arctic.ac website right now. English instructions that I used can be downloaded here. Please note, that these can be out of date!!! Contact arctic.ac support!

Radeon HD 7970 Crossfire Comparison by Noise and Temperature

Radeon 7970 is nice in terms of performance but it comes at a price in terms of fan noise. These videocards consume a lot of power (8+6 pin 12V connectors) and emit a lot of heat when under full load. Small fast turning fans are noisy. Reference design calls for one 80mm radial fan like HIS H797F3GM. It can move a lot of air but is extremely noisy. There are also designs with 3 80mm or 92mm fans like Gigabyte GV-R7970C-3GD. It should be noted that Gigabyte model is also factory overclocked to 1000 Mhz (compared to 925 Mhz standard)

I had a pair of each cards and tried running them both and I wasn’t happy with either of the cards under sustained load. They ran hot and noisy. Here are some measurements to compare. I measured the noise with iPad app 1 foot away from the desktop. I used S.T.A.L.K.E.R. Call of Pripyat to generate 100% crossfire GPU load (2560×1440, everything maxed out and looking at a lot of grass). GPU data was captured by GPU-Z. I only measured data for the 1st GPU. Generally, second GPU in CrossfireX config tends to run 10..15°C cooler than the first so if I could get cooling of the first GPU under control, second should be no problem. I did separate test with and without case side panel installed because mine doesn’t have any means of ventilation. Two fully loaded 7900 generation videocards generate a lot of heat that starts to build up. Most likely I’ll need to come up with some kind of side panel fan.

Configuration Temperature Fan speed Noise Level
Computer is off N/A N/A 35dB
Gigabyte 7970 idle. Side panel irrelevant 48°C 40% – 2200 RPM 43dB (pretty quiet)
Gigabyte 7970 full load. Side panel closed 87°C 100% – 3850 RPM 57dB (loud)
Gigabyte 7970 full load. Side panel open 80°C 100% – 3850 RPM 60dB (even louder)
HIS 7970 idle. Side panel closed 63°C 29% – 1500 RPM 42dB (ok)
HIS 7970 idle. Side panel open 51°C 20% – 1100 RPM 40dB (ok)
HIS 7970 full load. Side panel closed 90°C 55% – 3300 RPM 55dB (unpleasant)
HIS 7970 full load. Side panel open 85°C 55% – 3300 RPM 60dB (too loud)
HIS 7970 manual 100% fan. Panel open N/A 100% – 5150 RPM 73dB (unbearable)
HIS 7970 manual 100% fan. Panel closed N/A 100% – 5150 RPM 70dB (unbearable)

I considered installing waterblock and the rest of the watercooling system and decided against it. Even though I have enough space in my LIAN-LI case to fit everything inside (even radiators), it would make swapping out parts too much hastle. And then there is always risk of a leak, pump failure, etc.

On the air-cooling front, I’m going to try several options:

1) Replacing stock cooler on HIS Radeon HD 7970 with Arctic Cooling Accelero Xtreme 7970. It gets decent reviews in terms of cooling and noise. The downside is that you have to install it yourself and in doing so you are dstroying the thermal pads from the stock cooler. If you would want to get warranty service, you’ll have to find new ones and reinstall everything which can be tricky. In fact as I’m typing this post, one of my HIS 7970 sits in the next room waiting for non-conductive thermal glue to cure on RAM and VRM heatsinks. Hopefully by tonight it will have cured and if I didn’t destroy anything in the process, I will be able to install main heatsink and run some benchmarks. Mean while I tried connecting the fans to 12V PSU (to run on 100% speed) and was quite happy with the noise level. So provided that the card will not overheat, I may stop with this solution and mod the second videocard in my 7970 crossfire config in the same way. I’m keeping my fingers crossed…

2) Replacing 3 stock 80mm fans on Gigabyte 7970 with Noctua 80mm fans. They should move as much if not more air and are near silent even when running full speed. This is a much less intrusive procedure since all it only takes a couple of screws to remove the fans while leaving the heatsink in place (no radiator gluing required). The down side is that I will need to create a custom bracket to keep them permanantly attached to the videocard. I’ll probably have to design it in SketchUp and have shapeways.com fabricate them for me.

If both solutions work, I’m likely to keep Gigabyte cards with Noctua fans. I like Gigabyte cards better because they ramp up fan speed quicker. The way HIS keeps fan at 55% when you can almost boil tea on the videocard is plan wrong. Also Gigabyte comes with factory overclock which is nice. I also like Noctua fans. Every time I build a new PC, first thing I do is replace all fans with Noctua which results in very silent and well cooled PC.

So if I’m lucky, I’ll be able to test the first option tonight and post the results. Stay tuned.

Intel SSD RAID0 performance after upgrade

Here goes again… I’ve recently upgraded my motherbaord from Intel DP55WG to Asus Sabertooth X79. My initial intention was to upgrade to another Intel board but Intel X79SI turned out to be an utter disappointement in many way (topic for a separate post).

In light of the fact that Intel will soon bring TRIM support to RAID0 SSD setups I’ve decided to get rid of over-provisioning as I migrated my OS. As you can see, so far the write performance has not dropped significatly.