Thursday, October 18, 2018

KCMOUSE - Minimal Window Manager for X11



      I recently updated my minimal window manager for X11 that I made a couple years ago. I had stopped using it because for some reason the cpu usage was going to 100% occasionally when using one particular program. I decided to look at the code again and discovered the issue. It was because a window was not properly raised to the top of the stack after calling the XCirculateSubwindowsDown and XCirculateSubwindowsUp commands. It wasn't noticable during normal use, due to the XsetInputFocus command proving focus to the new window.


     The fix was to query the mouse pointer after the window cycle to find the new focused window and add it to the focuswin variable. Then I added the XraiseWindow command to raise the newly focused window. Now all my programs are happy, and when they are happy I'm happy :} Here is a snipplet of the code I'm talking about:


XCirculateSubwindowsDown(display, root);
XQueryPointer(display, root, &unusedwin, &focuswin, &unusedint, &unusedint, &unusedint, &unusedint, &unusedint);
XSetInputFocus(display, focuswin, RevertToNone, CurrentTime);
XRaiseWindow(display, focuswin);



     I've updated the source code on Github here: https://github.com/netfun81/kcmouse


You are welcome to it Microsoft :}



Friday, October 12, 2018

Free VPN's

   One of the many anti-privacy things that have happened in recent years is that web browsers have moved beyond just detecting your IP location, which pinpoints your location to within your city, to now detecting geo location which is very accurate.  They use wifi and other means to detect your actual location. You can find sites on the web that will show you what information websites have access to.  Sites like https://ipleak.net/ will remind you of the amount of information that is collected by many websites.

   In my pursuit of limiting the amount of personal information I share with the world, it was evident that along with a safe DNS I also need a way to hide my location.  This led me to needing a vpn.  I tried many free vpns and discovered there is a reason they are free.  They typically leak your dns or sell to 3rd party companies to make money.  It was interesting to find that the biggest supporter of freevpns was Google...they really want your data :)  Luckily there are sites that check for dns leaks, for instance https://www.dnsleaktest.com/  It is easy to check how many leaks your vpn or dns is involved with.

   After many hours of searching for a free vpn that isnt bandwidth or download GB restricted, and doesnt sell my data, I turned to browser plugins.  There are several browser vpn plugins for firefox, however some want permission for viewing everything even clipboard data.  I finally settled for a plugin called Hoxx vpn proxy  https://addons.mozilla.org/en-US/firefox/addon/hoxx-vpn-proxy/?src=search   It's a easy to use and safe vpn client that has only one drawback that I can find, it requires a confirmed email address.  It does log files and it will ban you if you try to go to illegal sites.  It's not for people that want to do illegal activity, like watching pirated movies, as it will ban or report you, but it is for those that want privacy and at least make it harder for governments and others to track each site you visit to obtain your political, spiritual, purchasing history, hobbies, etc, and to obtain a complete snapshot of your online life.

   We may not be able to stop the anti-privacy train from moving quickly down the tracks, but we can try to at least drag our feet and maybe slow it down a bit :)

*UPDATE:  I wanted to find a more open source solution for a vpn client.  I finally found https://www.vpngate.net/en/.   It is an open source vpn client that uses volunteer servers from around the world to connect with.  The servers at the top of the list are usually faster or have more open connections.  You will need to have openvpn installed https://openvpn.net/ and then just download the openvpn config file and add it to your network connection manager (in my case NetworkManager, which needs the plugin "networkmanager-openvpn" installed also).   Since there are quite a few shady vpn operations out there,  I think having an open source solution with many server options is the best way to protect yourself online.  However, its still important to check out the servers you connect with using the tools I mentioned above.