Monday, 2 November 2015

Another dRuby example

Most dRuby examples are using a multi machine/terminal/main process example. This example is for those like me, who need to harvest dRuby's power in a "single entry point" script.

Thursday, 1 October 2015

Rotated rectangle's bounding box

We have a rectangle shape, we know it's height and width. We want to rotate it by some degrees and find out it's bounding box's width and height. Here's how I did it in Ruby:

Tuesday, 14 July 2015

Easy way to throttle CPU Turbo on Windows

When you have a machine like I do that has a CPU capable of Turbo or other overclocking, then one may want to only “activate it” when really needed. This way one can avoid unnecessary fan spinups and heat.
My default CPU clock is at 2.8Ghz and capable to boost up to 3.6Ghz. To avoid always going back to the BIOS and turn the Turbo feature on and off, I have found an easier way to throttle down frequency within the Control Panel’s Power options menu.

On this video I show you an easy way to create a custom power scheme and set the CPU throttle values:

As shown on the video you can realise it’s only to change the CPU speed from 100% (with Turbo) to 99% to throttle it to the default frequency. It’s just that 1%, really! :)

To further modify/delete power schemes you really have to go to the command line.

To delete a scheme:

First let’s list all of the schemes to get their UUID:

powercfg /l

results in the list:

Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)
Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (High performance)
Power Scheme GUID: a1841308-3541-4fab-bc81-f71556f20b4a (Power saver)
Power Scheme GUID: dc512798-8638-4c98-9432-5e0e744ab01b (Game) *

Let’s delete Power Saver (you can’t delete the current one, marked with *):

powercfg /d a1841308-3541-4fab-bc81-f71556f20b4a

Changing power schemes with a click of the mouse

You can also create a few shortcuts to change between power schemes with just a line like this as the command:

cmd /c "powercfg /s dc512798-8638-4c98-9432-5e0e744ab01b"

This is useful when you use more than 2 schemes, because the taskbar icon only let’s you change between the most recent 2 of them.

Written with StackEdit.

Monday, 16 March 2015

Shrink Vmware Workstation Ubuntu guest's VMDK file size physically on Windows host

I will be short on the topic as you too only seeking the resolution to the problem in the title.

This tutorial is based on using Vmware Workstation 11 on Windows 8.1 host using an Ubuntu 14.04 guest. Note: you have to have the vmware tools, client additions installed on the quest machine!

First go to the Vmware client's terminal when you are ready to shrink it down and type:

sudo vmware-toolbox-cmd disk list

This will give you the mount points that can be shrinked individually.
For me I will only go with shrinking the main disk with "/" (root).

First lets wipe the free space clean so the shrinker will know what is free to get rid of:

sudo vmware-toolbox-cmd disk wipe /

To shrink:

sudo vmware-toolbox-cmd disk shrink /

That's it, after the process in my case I've had a 4.4G file shrinked down to 1.7G, which is much closer to what the client OS saw (1.5G).

Friday, 6 March 2015

How to create Jenins CI compatible JUnit report XML

Currently I use Jenkins version 1.6x. For the most curious here is an example XML that shows the structure. For those of the visual types there will be some treats after the code.




Ok now, let's see how these tags translate on the report UI.

First we are seeing failed results.



These are either failures or errors.


When looking at the test report main page, we'll see a minimal summary.


Let's look at a failed test now, where we also supplied and output (e.g. STDOUT).


Let's see how this is put together in code. I have also pointed out the components of the heading.


The heading can have another component too:



Errors are also failed tests, but you really should add an extra error output to the report for them:



And finally the passed code is a plain entry. Still, you may supply a normal output to it via the element.



Conclusion

The source XSD file I used to figure out how the JUnit XML should look like can be found here. Although the XSD suggests a far more feature rich XML structure, only a minor portion of that information is used by Jenkins. :(