Article 13: EU Copyright Nonsense

There are no images in this post, since that might cause an Article 13 Copyright Violation and prevent my readers in the EU from being able to see this. [Satire Intended]

In case you missed it, here is an article that summarizes Article 13. I will not quote any of the article here, since that might awaken the Copyright Dragon.

Under Article 13, the hosting service – WordPress, Youtube, Facebook, you know. Those guys? will be held libel, with big fines, for hosting any content that infringes on anybody’s copyright. So this is the “Old Guard” media companies – Movie studios, Record Labels, Newspapers, etc etc. You know who they are too. – trying to protect their last vestiges of “rights” from the Old World.

These “Old Guard” have, as Old Guards always do, missed the point of the New World. The new world is about “Exposure that Captures the Hearts and Minds”. Let me give you some examples.

Continue reading “Article 13: EU Copyright Nonsense”

GitKraken shows black menus

Summary: GitKraken on Linux VirtualBox VM shows blank menus

On Linux Mint 19.3 on VirtualBox 6.0.18 VM on WIndows 10 host, GitKraken sometimes shows black menus.

Steps to Reproduce:

  1. Install GitKraken on Linux Mint Guest using VirtualBox 6.0.18 on Windows 10 1903 host.
  2.  Observe most of the time the menus work but sometimes they show black rather than their white contents.

Expected behavior: [What you expect to happen]

Menus should work

Actual behavior: [What actually happens]

Menus are black sometimes when you need them the most. Do I have mind reader feature enabled?

Just kidding. Something is wrong.
Sure would be nice to give you a screenshot. Oh wait. I can that’s why I did this post. One sec.

Oh Wait

It’s even worse than I thought. If you left click on the file name on the right list that you tried to edit, then a white box pops up with [Save, Don’t Save, Cancel] options and your Linux VM is now locked and requires a RESET to reboot and get going again. Not just GitKraken is hung. The entire VM is stuck.

GitKrakenOnLinuxVM_MenuLocksSystemAfterFileEdit

Now VM Is Hung

So the machine must be RESET at this point by using the MACHINE >> RESET option at the top of the screen on the left. Hummm Something is broken. This is easily reproducible. Just click on any modified file on the right, choose edit file and then try to figure a way to save it and when you see that box, you are hosed.

  • Windows 10 1903 host
  • VirtualBox 6.0.18
  • Linux Mint 19.3 guest

Hummm.

 

Git Confusion After a Pull

Backdated by one year to get it off the front page. Don’t know another way. Sorry.

I’m not a noob. Retired Software Engineer. Been programming since about 1968 and first used SCCS for source control. Used too many source control systems over the years to count. But I’m new to git. Only used it once before couple of years ago.

I doing a Qt project after some time off since my other projects, and found GitKraken and of course GitHub.

So this project involves 4 computers for development and debug.

  1. Win1 – Windows 10 primary development.
  2. LinVM – Linux Mint VirtualBox VM hosted on Win1.
  3. Lin1 – Mini Asrock PC running Linux Mint.
  4. Win2 – Mini GigaByte Brix running Windows 10.

Installed Qt and GitKraken on all these systems. Developed the code and committed and pushed changes from all four systems. Hey I assumed it could handle changes from everywhere, what do I know? Pulled stuff down to start work on a system for dev or test each time.

Used the same profile when setting up GitKraken on all the systems. Maybe this was an issue. Tell me if so. What do I know?

Ok enough jawboning. Here’s the issue: On Win2, after the last pull, GitKraken now shows me this:

GitKrakenModifiedFiles
After last pull on Win2

Normally I would expect this. As I understand it, each system is keeping a “Local git Repo” and when you do a pull, of course it should show local files are different from the local repository. The thing is, I expected the interface to show me a way to do a stage and commit to clear these. In other words

“Hey, git, accept this pull and put it in your local repository!”

But I don’t see anyway to do that. If I click on those files no “staging” or anything like it shows up.

So if I were not such a fool and was using the command line interface, what would I do? Or would git command line have fixed this up automagically, because it knew that all successful pulls should be “commited” to the local repo?

Is this a GitKraken bug? Or expected behavour? And how do I fix it and move on?

Thanks a ton.

Here’s the whole picture displayed by GitKraken. Click for a larger view.

GitKrakenAfterLastPull
GitKraken after last pull on Win2

 

Git and GitKraken seem great. Don’t want to go back to SCCS, but I’m confused.

Thanks for your help.
:ww

Update:

After Editing .gitignore and pushing that to GitHub, the condition cleared itself. Now the file shown on the right list is just .gitignore. Not clear if this is a subtlety with git or an issue with GitKraken.

X11 XSendEvent does not click mouse

Post backdated by a year to keep it off the front page. Don’t know of any other way.

Updates: See End of Post

Building a Qt application that spawns another app and then clicks on it – the top window I think. Got it working on Windows with SendInput.

Now for the same idea on Linux. I’m trying to use X11. Found lots of examples using XQueryPointer and XSendEvent. Odd loop looking through windows and subwindows I have no clue about. Anyway, it doesn’t work and I have no idea which window the code is trying to target. Nobody talks about that in the examples.

Code runs, checks for errors and finds none. But clicks do not work. My click on mouse works instantly.

How do I figure out where clicks are going? And how do I find the top window or whatever I need to send clicks there?

Here’s the debug output of the app:

Screenshot from 2020-04-09 12-27-58.png

Here are the routines called by the Qt application from TimerEvents inside the QtWidget application. Here is the code over on GitHub.

X11MouseClick Source On GitHub

Let’s try it as a Gist. Whooo hoooo…..

//
// Let's try the more straightforward X11 API to click the mouse
// This example code was harvested from the internet
//
// https://www.linuxquestions.org/questions/programming-9/simulating-a-mouse-click-594576/
//
// Another link is here
// https://stackoverflow.com/questions/27984220/x11-sending-a-mouse-click-without-moving-a-pointer
#include <QMainWindow>
#include <QDebug>
#include <QString>
#include <mouseclick.h>
//#include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
// open and close do nothing.
// we are going to open the display each time we click.
bool mouseopen()
{
return true;
}
bool mouseclose()
{
return true;
}
bool mouseclick()
{
int button = Button1; // just click button one. I'm sure it will be fine.
Display *display = XOpenDisplay(NULL);
XEvent event;
if(display == NULL)
{
qDebug() << QString("XOpenDisplay returned NULL");
return false;
//fprintf(stderr, "Errore nell'apertura del Display !!!\n");
//exit(EXIT_FAILURE);
}
memset(&event, 0x00, sizeof(event));
event.type = ButtonPress;
event.xbutton.button = button;
event.xbutton.same_screen = True;
XQueryPointer(display, RootWindow(display, DefaultScreen(display)),
&event.xbutton.root, &event.xbutton.window,
&event.xbutton.x_root, &event.xbutton.y_root,
&event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
event.xbutton.subwindow = event.xbutton.window;
qDebug() << "Mouse Window " << event.xbutton.window;
#if 1 // don't look for a subwindow. Just use display. Is this Root?
while(event.xbutton.subwindow)
{
event.xbutton.window = event.xbutton.subwindow;
XQueryPointer(display, event.xbutton.window, &event.xbutton.root,
&event.xbutton.subwindow, &event.xbutton.x_root,
&event.xbutton.y_root, &event.xbutton.x, &event.xbutton.y, &event.xbutton.state);
}
#endif
qDebug() << "Mouse Subwindow" << event.xbutton.window;
if(XSendEvent(display, PointerWindow, True, 0xfff, &event) == 0)
{
qDebug() << QString("XSendEvent error XS1");
//fprintf(stderr, "Errore nell'invio dell'evento !!!\n");
}
else
{
qDebug() << "Button Press";
}
XFlush(display);
usleep(100000);
event.type = ButtonRelease;
event.xbutton.state = 0x100;
if(XSendEvent(display, PointerWindow, True, 0xfff, &event) == 0)
{
qDebug() << QString("XSendEvent error XS2");
//fprintf(stderr, "Errore nell'invio dell'evento !!!\n");
}
else
{
qDebug() << "Button Release";
}
XFlush(display);
XCloseDisplay(display);
return true;
}

Super that works too. Who knew.

Ok, so how do I figure out what’s wrong here so my code can click’ity click click on other applications?

Thanks.

Update:

Tried Keypress events rather than mouse clicks and used XGetInputFocus to find the window. No success. Here is the github page for latest code:

GitHub page for X11MouseClick.cpp

Thanks.

Qt Linking with X11?

Dated a year ago to get it off the front page.

Qt Application on Linux Mint trying to link with X11 libraries. Original errors are:

Screenshot from 2020-04-09 10-15-35.png

So it looks like it can’t find XFlush. Maybe can’t find libX11.so. Added this to the project file:

Screenshot from 2020-04-09 10-17-22.png

But still got this error:

Screenshot from 2020-04-09 10-16-33.png

But libX11.so is clearly present on system:

Screenshot from 2020-04-09 10-21-19.png

So how do I tell Qt to find libX11.so and link with it?

Thanks.

It’s Probably a Trap – Quest Helper

It’s Probably a Trap

Part of the Stormblood expansion, this is a multi-stage quest with a fight and then a run through the city to find your friends. The problem is that there are no pointers along the way, although at some point a “curious Kojin” shows up to guide you.

Part of the issue is that you are doing this quest at Night – At least I was and I assume based on the description of the quest, that everyone does it in the dark. The only Youtube walk throughs that I found were done by first timers who didn’t go back on an Alt to show the best way. I think I’ve found the best way by scouting it out in the daylight.

So to review.

  1. You meet your fishy friend on the bridge at night.
  2. He leads you to the docks and there betrays you to the Imperial Forces. Lyse beats up the fishy friend and holds him while you and Alisaie kill the imperials. The fight is easy. Just kill them all.
  3. The Local Samurai show up and want to arrest you, but you have 9 smoke bombs.
  4. Notice as you face East away from the water up the ramp a shimmering wall on your left. It’s not a barrier. Run through it. Use a smoke bomb here if you must.
  5. Then follow the map to the East, up and over and then down in an alleyway to find your friends. You don’t need to go through the market place.

I got lost and didn’t see the message about following the Kojin until I had found my friends. So you are likely to have plenty of smoke bombs. I didn’t use them until I was trapped. That’s fine too. You don’t need to avoid being trapped.

I wrote this up to remind me for when I do it on my Alts, but you might find it useful too.

Enjoy,
:ww

Neverwinter – Worth a Look

Neverwinter is a Free to Play MMO published by ARC Games. Lately I’ve been looking for something to play in the evening that’s less intense. Something different to try between sessions with FFXIV and GW2.

I remember trying Neverwinter years ago and being so unimpressed that I only made one character, got it to about level 4 and gave up. Well, a lot has changed since then.

Neverwinter is not a modern game. So be prepared for some nostalgia. But it’s not a clunker either. It’s a real 3D Game. Not a TOP DOWN ISO camera game. It is WASD movement. Those are requirements for me. I need to be able to look at the sky and move around with my muscle memory that I’ve trained after years of playing.

  • The graphics is better than the old parts of World of Warcraft, but not as nice as Tera or GW2 or FFXIV.
  • But the combat is very nice. It’s Action Combat, not TAB targeting. So you need to place the little circle on your target.
  • There are a ton of Races and Classes to choose from. Follow the Wiki link above.
  • All of the classes I’ve played are completely survivable, at least through the tutorial and first few instances.
  • There are only a few buttons to push. Unlike Wow and FFXIV, the goal for skills has not been to fill the entire keyboard with skills. 5 or 6 will do you.
  • As a minor downside, no Hot Key mapping is provided. So you need to manually edit some ini file or other to change Inventory to Bags if you want to do that. I haven’t bothered yet. But they keyboard layout is well designed and works fine with my Left Hand game keypad. This game works on consoles too, if you are of a mind to play it that way. Update: Keybinds do exist. I just missed them.

Continue reading “Neverwinter – Worth a Look”

Warclaw – Complex to Get

Just got the Warclaw this afternoon after grinding about Five Hours in WvW to

So the process is to Get all the items in the Warclaw Achievement by grinding WvW stuff, enable the Warclaw in the Bottom Left area of the WvW panel. Then Activate the Warclaw Reward Track and grind that bar all the way to the end to get the Warclaw Helmet. Then the Warclaw Certificate shows up in the Vendor for 8 Gold. Buy that and use it. And Voila, you have the Warclaw mount. Sigh.

Continue reading “Warclaw – Complex to Get”

Hiding an Email Service in Cat Pictures

Hiding Files in Images.png
Hiding Files in Images?

I’ve known about Stenganography for some time. And no, it’s not spelled wrong. That’s not Stenography, but Steganography. Two different things. I’ve been thinking recently about all the news items that are talking about privacy erosion and governments around the world passing or about to pass laws to break into your private messages of any kind. And then the above video popped up in my Youtube suggestions. From 2 Feb 2019 no less. Quite Recent. I’ll provide a link at the end of this post, but it’s not the main point of the video. I’m going to take that primitive program’s idea and show how it can be extended, a lot. I’m saying primitive and if you don’t believe that, watch the video. Sigh.

Steganography is:

Steganography (/ˌstɛɡəˈnɒɡrəfi/ (About this soundlisten) STEG-ə-NOG-rə-fee) is the practice of concealing a file, message, image, or video within another file, message, image, or video. The word steganography combines the Greek words steganos (στεγανός), meaning “covered, concealed, or protected”, and graphein (γράφειν) meaning “writing”.

I’m not mentioning anything the NSA does not know, but apparently the lawmakers around the world have not called in an expert who has mentioned the science of Steganography to them in their hearings for their new lawmaking regarding Privacy.

Let’s look at what’s happening to Privacy / Encryption around the world.

Continue reading “Hiding an Email Service in Cat Pictures”

Alienware Aurora R2 Lighting Done

The lighting retrofit on the Alienware Aurora R2 is done. It was a nightmare. I’m not going to do a “How To” post. I’ll show pictures and describe the results. I am not suggesting that you do this, but if you want to, and you have a tremendous amount of courage and fortitude then have at it. You have been warned, or are about to be. I’ll show items I used to do this.

Continue reading “Alienware Aurora R2 Lighting Done”