Category Archives: Uncategorized

Synergy for keyboard & mouse sharing across PC/Linux/Mac systems

Synergy is a nice software which can be used to share keyboard and mouse across systems such that we no longer need to unplug and plug the hardware to different systems.

This software is available on windows, Linux and Mac (Cross Platform). This can be used as alternative to expensive hardware KVM switches.

This software offers ssl encryption and clip board sharing too.

how ever I came across some issues with ssl on my laptop running Opensuse Leap 42.2 Linux. (dependency not found error). Also Raspberrypi 3 repos have old version which doesn’t show ssl option.

To get around these issues I recompiled code from the git repository on Linux (Opensuse Leap 42.2) and Raspberry pi 3 ( jessie – PIXEL).

Compiled distribution binaries can be downloaded from below links.

Raspberrypi 3 (.deb arm version) –!4xxzWA6L!Yj9yLbczCW1m90-je0F3RZP1-azyzgbymkorkpC4W38

Opensuse (.rpm X86_64 version)-!JpgUHBQR!BYmEXOILv0E07h4PcoQtibLoGJ2gEjBuzDlgT8f7oiM


Using bluetooth mouse in windows/linux dual boot machine with out re-pairing

I got a nice Logitech MX Master Bluetooth  mouse. When ever I boot into different OS on my dual boot laptop I used to loose Bluetooth connection. I came across this article in internet which explains how to avoid re-pairing Bluetooth mouse on dual boot machines.

It explains how to extract Bluetooth connections keys from windows registry using sysinternal psexec and then update Bluetooth configuration file under linux to use same connection keys.

Instead of doing tricky conversions mentioned in above link, you can note down decimal equivalent values from windows registry and use those values to update linux conf file.


I have to do below two updates to make it work

  1. I updated IdentityResolvingKey in addition to keys mentioned in above link
  2. Left EncSize as 16 instead of changing it to zero.

Tip: Instead of exporting and then doing tricky conversion of registry values do below steps

Issue command: psexec -s -i regedit

from there export folder “HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys”

From Registry editor note down  decimal values of EDiv and Rand such that we don’t need to covert later.

To easily reformat IRK, LSK and LTK values into Linux format, use python interpreter as below:

  1. Open python interpreter and Assign key string to a variable like
    a = ‘dc,07,9f,29,1b,84,23,f1,be,fe,73,73,a4,c3,d8,c7″
  2. Now to get the reformatted value, use below python code
    a.replace(“,”,””).upper()– Good Luck



Adding Hourglass statement to JCL using REXX exec AGGDD

Using REXX exec AGGDD
HourGlass DD statements can be generated automatically using the provided
REXX Exec AGGDD. From the EDIT Command line, type:
after placing an A (after) or B (before) line command designating the desired
location for the generated HourGlass DD statement. Optionally, the desired date
can be passed on the command line as a parameter in the format CCYY-MM-DD.
Without any parameters, an ISPF panel prompting for the desired date is
To simply display the correct HourGlass DD statement without adding it to your
current EDIT session, enter from any ISPF Command Line:
The user is prompted for the date in CCYY-MM-DD format and the time in
dHHMM format.
—————— IBM HourGlass: Generate HourGlass DDCard ——————
Enter Desired Runtime Date (ccyy-mm-dd): 1997-12-06
Enter Desired Time: Plus/Minus (P/M): P HoursMinutes (hhmm): 0100
East/West (E/W)
Fixed Step Start (F)
Absolute Constant Time (A)
After pressing ENTER, the appropriate HourGlass DD statements are shown.
—————— IBM HourGlass: Generate HourGlass DDCard ——————
Desired Runtime Date (ccyy-mm-dd): 1997-12-06
DDcard to use: //HG097340 DD DUMMY
Desired Runtime Time (d hhmm): P 0100
DDcard to use: //HGP0100 DD DUMMY
Hit ENTER to Continue
Press PF3 to exit this dialog.

Auto turn on electric devices using RF sockets and raspberry pi

Yesterday I wrote a small script to turn on electric heater in my room when temperature is less than 18C.

Below is the bash script :

temp=`node -pe ‘JSON.parse(process.argv[1]).main.temp’ “$(curl -s\&APPID=XXXXXXXXXXXXXXXXXXXX\&units=metric)”`
echo “Current temperature “$temp
if [ $(echo “$temp < 18” | bc -l ) -gt 0 ];then
echo “Switching on Heater”
codesend XXXXXXXX

codesend is the binary which uses GPIO pins on raspberry pi to send RF signal through connected RF transmitter.  I copied source code from RFutils project and tweaked a bit as per my requirements.

Citrix web receiver on raspberry pi


Citrix web receiver (armhf version) can be installed on raspberry pi( A$48 credit card sized computer) to use as thin client for accessing  virtual machines.

Citrix made armhf version of their Citrix web receiver plugin available in below page:

Screenshot from 2016-02-12 19-39-16


armhf .deb package in above page can be installed on new raspbian jessie with below command.

sudo dpkg -i icaclientWeb_13.3.0.344519_armhf.deb

If you get certificate error run below command to fix it

sudo ln -sf /etc/ssl/certs/* /opt/Citrix/ICAClient/keystore/cacerts

If you want to install a proper browser, you can refer below post for instructions on  how to install chromium(open source version of popular chrome browser)  on rasbian jessie.

Update: Chromium was added into Raspbian from PIXEL release.