Alienware Aurora R8 – You Have Got to be Kidding

I just saw a review for the new Alienware Aurora R8 and I was shocked. This is a premium system. At least it has a Premium Price and is touted as having Premium Specs. Here’s the review.

Digital Trends Aurora R8.png

Ok. So it’s a mid tower case. Not just a square box, but not like the Alienware Designs of Old to be sure. This case has as few angles as possible, and still have anything but 90 degree angles. Not very exciting. Slightly Trapaziod on some sort of “Stand”.

But things have changed out there since 10 years ago when it was ok to not powder coat your case metal. Everyone is coating “Premium Cases” in black these days. But look at the back of the new Alienware Case!

Digital Trends Aurora R8 Backside.png

Cheap Tin is no longer a Thing DELL. Get with it. Your metal should be powder coated BLACK not just galvanized Tin. Or bare Aluminum? A while back I built a new computer using a Glass case and it cost about $1000 less than this new thing from Alienware. All the parts of the case were coated black. That build cost about $1400 with a nice graphics card, a sweet processor and a nice lit up motherboard and lit up RAM modules. There is no way to show off the interior of this Aurora R8 case since the power supply is folded over the motherboard, which makes the case fatter of course.

But, they can’t even powder coat what shows in the back? Sigh. Why have a black motherboard connection surround if you are going to leave bare metal all around it?

Looks like Alienware is just a meaningless name now. A Brand without Distinction of any kind. Nice going Dell.
:ww

Thanos Didn’t Do the Math

Thanos Infinity Gauntlet.jpg

I keep tripping across this flawed thinking in the Marvel Universe. And with the new movie coming out recently, maybe it’s time to remind us of the flaws. I’m not rushing out to the movie. I’ll see it when it comes to Netflix. But, as far as I can tell, Thanos is an idiot with no math or astronomy skills. Here are some of the reasons I say this:

If you HALVE the population of any critter in a constrained environment – and apparently Thanos’ “snap” halved the population of all critters in the universe, according to this account – then it doesn’t really take that long for the population to recover. Most populations follow a Leaning “S” curve, this is because growth slows as resources are depleted. So, if the population is suddenly reduced by half, it will make a sudden jump in growth rate to compensate and if the resources available are the same, it will recover to the same level. So snapping only has a short term effect. And I’m not even talking about the Avengers returning from the Phantom Zone or wherever they went. But then what?

Continue reading “Thanos Didn’t Do the Math”

Qt Static Build Confusion

Backdated by a year to get it off the front page.

I’m building an App on Windows and Linux. I was able to make a zip file containing the app and DLLs for a simple deploy on  Windows. Now I’d like to link the app statically for a simple deploy on Linux.

Starting here: https://doc.qt.io/qt-5/linux-deployment.html

I’m confused first of all by this procedure:

Qt for Linux X11 BuildQtStatic.png

Searching for .configure found it here:

QtBuildStatic_WeThinkTop

And this I did this:

QtBuildStatic_WeThinkCropped

But when this finishes, I can’t find the prefix I chose anywhere. I presumed from the web page that it was going to make another tree with a static version of Qt in it, but I can’t find it anywhere.

  1. So what happened?
  2. What did I do wrong?
  3. And when I do it right, how do I use it to build the static app.

The web page is not clear on that. I can’t find a way to “Configure” my app in QtCreator to use another build method, or do I do it manually. They seem to use some example app, but that dir path does not match anything that I have for my app. Here is my app tree.

QtCodeDir.png

Anybody help me build this app statically for easy deployment on Linux?

Thanks
:ww

Update: I guess I forgot to do a “make”. But when I did that ran for over 2 hours and I still can’t find what it produced or figure out how to use it. I’m giving up on “Linux Static Deployment”. It is apparently only designed for folks with more energy than I have.

Irfanview Capture Bad Cursor

Backdated by a year to keep it off the front page.

Looks like a bug in Irfanview Capture for Windows 10 Home 1903.

Left is what Irfanview got. The Right is what my phone shows. Looks like Irfanview doesn’t get the size or position of the Pointer.

Windows has a maybe new feature to increase the size of the pointer larger.

Here’s the Irfanview I’m using. Latest as of a few minutes ago.

IrfanviewCaptureOptions

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;
}
view raw X11MouseClick.cpp hosted with ❤ by GitHub

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