Desktop Application – Combined Table View

I have 4 different types of external log data that can be opened in my desktop application. They are displayed as tables. Each of these columns has some common columns (for example, timestamps), but most columns are completely different from the other types of protocols.

Since it would be useful to display "combined" versions of these tables on a single tab, I'd like to implement this feature, but I'm struggling to find a workable solution.

Please comment if the use case is unclear.

To be honest, I have three ideas, but I'm not satisfied with anybody. Please do not hesitate to suggest another option. Which is the best way to solve this problem?

First idea: Naive combination

Just add all unique columns (over 30, if in my case all 4 types are open) to a table. Although the visibility of columns can be switched, many columns are still displayed, as most, as mentioned, are unique.

advantages

disadvantage

  • Too many columns.
  • The content of unique columns is separated. For example, All data of protocol type A may be on the left side of the table, all data of protocol type B on the right side.

Second idea: stacked columns

Suppose I open two types of logs.

The table heading then consists of two lines: one for the protocol type A and one for the protocol type B. Each line contains the columns for this type, provided that they are unique. For ambiguous columns, two headers are simply merged into one.

The position of the columns can be configured for each header. Resizing, however, would not be possible.

advantages

disadvantage

  • Maybe it's hard for the user to understand first.
  • For example, a cell of a column may contain a different information type than the following. For this, I could either color the lines for identifying the protocol type slightly or add a textual / visual identification of the protocol type as the first column. (or both)

Third idea: x tables in a tab with a ghostlike scroll bar

For example, Place two tables next to each other and sync the scroll bars so that the next timestamp is present.

advantages

  • Probably easy to understand for the user

disadvantage

  • Self-moving scroll bars
  • Each table may only display a portion of the columns
  • What if 4 types of logs are opened? Would a 2×2 grid be displayed?
  • In the end, only an even worse version of Idea # 1

Fourth idea: It's your turn

How can I run the same application between two Macs?

I work in a small office where we share the same jobs. We want to buy another Mac desktop, and some of them, how to connect the 2 so that we can both use the same program at the same time and it will be updated automatically (basically in real time). Example: Quickbooks for multiple users, multiple accounts: We can both work in Quickbooks for different accounts and synchronize them. Hope I am useful. Many Thanks

Operating Systems – Build Python Venv to run a Dash application on PythonAnywhere

I'm trying to create a Python Venv that contains packages like dash so I can deploy a dash application to Pythonanywhere.

I could not follow Pythonanywhere's instructions to create a virtual Python environment because I would run out of memory during the pip install dash.

I use a Windows laptop and pythonanywhere provides me with a Unix system that I can use to deploy my applications. If I create a venv with my Windows system, would that work in the Unix system provided by pythonanywhere?

Encryption – How can I securely store application secrets / passwords in Git and other version control systems?

I wrote this article about how Mozilla SOPS is grossly underestimated with KMS and Git, which answers the above question. I imagined that I would post the questions and answers here to make them easier to find.

The TLDR version of the article is:

KMS (Key Management Service) is a trusted server that encrypts and decrypts data on behalf of clients. Think of it as a proxy server for encryption / decryption. Basically, users or computers can use their identity to encrypt and decrypt data rather than using it directly. Use encryption / decryption keys. (Their identity is checked against an ACL list that determines which keys they have access to.)

KMS is extremely secure, cost-effective and cloud-independent. Mozilla SOPS is a wrapper for KMS that securely stores encrypted secrets in Git, solving all the secrets storage challenges in Git:

  • If clients can not deal directly with decryption keys, it is possible to run for a decade without losing decryption keys.
  • Since KMS is a server, there is an access log that can be monitored.
  • With KMS, you can control access to encrypted data with an ACL, so you can easily manage and revoke access management in detail.
  • SOPS prevents footgun scenarios by keeping data encrypted on disk at all times, when editing values ‚Äč‚Äčthat have been decrypted in an in-memory text editor, and then re-encrypting them when they are saved.

Click the Save As Template button when the application criteria change. Should the changes also be saved when clicking Save as Template?

Usability problem I'm dealing with in a team:

In the middle of an application, there is a Save as template button, which when clicked opens a modal to name the template. If the template is saved, you will return to the previous application you were working on, not the one you just created.

My question is, if you change the criteria in step 1 without clicking the Save button at the bottom of this page and clicking "Save as template", should the edited areas be saved with this template creation? Or should a modal tell the user to save first? Is the button named incorrectly?

example
(Source: bakerdesign.ca)

Is this the attempt when the application class is used to break MVVM patterns?

In my application, I use two view models. MainViewModel If he is angry, if MianWindow will be initialized. And Update viewmodel is violent when update Window will be initialized.

The Update VM should use data from a collection owned by the Main VM and has its instance aready, and I have to refer to it somehow. And I wondered, refers to this collection MainViewModel vm = (MainViewModel) win.DataContext; does the MVVM pattern or testability somehow break or is it some kind of antipattern? Or maybe the collections have to be handed over Update VM as a parameter and sent back? Many Thanks.

The code:

public class UpdateViewModel: ViewModelBase
{
public UpdateViewModel ()
{
Jockeys = new ObservableCollection();

PopulateCollections ();
}

private void PopulateCollections ()
{
MainWindow win = Application.Current.Windows.OfType() .FirstOrDefault ();
MainViewModel vm = (MainViewModel) win.DataContext;

Jockeys = vm.jockeys; //It is OK?

vm.Jockeys // is it ok?
}

public observable collection Jockeys {get; private set; }

}

mail.app – The e-mail application disconnects from the IMAP server for each e-mail service

I have a very strange problem with Mac's mail application on Mojave. My friends brought their laptop to me to look at, as their Yahoo displays a timeout error on the server "imap.mail.yahoo.com" for all ports.

I have tried various solutions without success. Yahoo lets me log in, but never downloads any of the emails and eventually times out with an IMAP connection error. Gmail logs in to me, displays the emails, and after about 3 minutes, the IMAP server times out. I've checked the Connection Doctor, which always states that IMAP and STMP are always inactive for each email client (although Gmail allows logging in). Connection Doctor claims to check the Internet connection (SSL / TLS) along with IMAP / STMP, which I have tried without success.

I tried to remove, restart, and re-add the email account, which did not resolve the issue. That's why I've tried to delete all email accounts and remove the files listed here that still have not resolved the problem. So I've looked up here how to reset the mail application to factory settings, which also did not fix the problem.

I tried to change the password, which did not work. I tried adding the IMAP / STMP manually via the option to add another account, and I even disabled the firewall to see if the ports were blocked for some reason. I've also successfully signed in to another Mac Mail application, so I know the email accounts are fine. As far as I know, the problem exists only in the mail application on this Mac, but I do not know how to proceed now. Should I just tell them to erase the hard drive and reload Mojave?

Web application – securing implicit tokens (example: Moltin)

I'm new to security, but I'm trying to understand how companies have discontinued their APIs. One such case is Moltin's implicit token.

Basically, you get a (mostly) read-only token that you receive through a POST request and that contains the following parameters:

  1. client_id (this is public)
  2. grant_type (which would be implicit)

Their documents state that implicit tokens are generally intended for front-end applications. I am not sure what this is about. What is the benefit of making the client_id available so that anyone can generate these tokens? In addition, they may only access non-sensitive data. It's strange for me because your store's visitors receive a token just to visit your website and read your offers. It seems more convenient to have no data-reading token at all, but one if you plan to write or display more private data.

http requests can not be routed to the web application in nginx

I have a reactjs application running on port 5000. I want to pass the requirements of Nginx to the web application.

I get the following log

2019/06/20 04:30:10 [error] 17709 # 17709: * 67 connect () failed (111: Connection denied) while connecting to upstream, Client: 72.163.217.106, Server: 159.65.123.84, Request: "GET / HTTP / 1.1", upstream: "http: // / 127.0.0.1:8000/ ", Host:" example.com "
2019/06/20 04:30:10 [error] 17709 # 17709: * 69 connect () failed (111: Connection denied) while connecting to upstream, Client: 72.163.217.106, Server: 159.65.123.84, Request: "GET /favicon.ico HTTP / 1.1, Upstream:" http: //127.0.0.1: 8000 / favicon.ico ", host:" example.com ", reference:" http://example.com/ "
2019/06/20 04:30:10 [error] 17709 # 17709: * 71 connect () failed (111: Connection denied) while connecting upstream, Client: 72.163.217.106, Server: 159.65.123.84, Request: "GET /favicon.ico HTTP / 1.1" , Upstream: "http: //127.0.0.1: 8000 / favicon.ico", host: "example.com", reference: "http://example.com/"

Here is my nginx configuration file under / etc / nginx / sites-available / default

Server {
hear 0.0.0.0:80;
Server name example.com; # or servername subdomain.yourapp.com;

Location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Real-IP $ remote_addr;
proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
proxy_set_header Host $ http_host;
proxy_set_header X-NginX proxy true;

# Enables WS support
proxy_http_version 1.1;
proxy_set_header Upgrade $ http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
}
}

What could be the reason for this kind of behavior? To correct this problem.