Development Process – How do I avoid errors in business-level configurations with similar discipline as in source code?

We have a system that allows our customers to co-ordinate people (buyers) to deliver food within 45 minutes of order creation.

Each customer has a number of stores in which the orders are processed by the buyers
and each buyer has a schedule that indicates in which business and at what times he / she will work.

However, we also have a feature that only allows them to create orders when the store is already configured in our systems and when there are enough buyers at the expected time.

As you can see, checking whether a particular order is accepted in our system depends on the current time, shop configuration, and buyer's schedule.

We managed our source code pretty well, we do code reviews, unit tests, and integration tests. However, we have not found a satisfactory way to manage the configurations of the stores and the schedules and these are as sensitive as the source code If there is an incorrect configuration, it is almost as if the client had a bug in our source code because we do not allow them to create jobs, and revenue goes down.

Therefore, we would like to find a way to manage the configuration of the stores and the schedules with a similar discipline as we do with our source code. We want to test if the configuration is correct. At the moment we do this configuration via SQL scripts, which are testable inputs may not be accurate and we have no way to manage it or test its correctness.

Did you have a similar problem? Do you know any tools, languages, or processes that prevent us from making mistakes in client configuration and have a central way of knowing the current configuration, other than displaying database tables?

By the way, we get these configurations as tables of business people talking to the customer.

Differential Equations – Mathematica 12: Avoid crashes when using NDSolve in a large domain

I have a bunch of linked PDEs that I want to solve numerically with Mathematica (11.3 or 12.0).
The problem is that I have to solve in a large area to make sure there are no edge effects.
Mathematica seems to have problems with such calculations (probably due to my RAM only). Therefore, I decided to split the problem into small time intervals and export only parts of the solution and start with the last solution as a new initial condition.
Now Mathematica crashes in this calculation, z. After 30 passes of the loop. Why so? Is there a way to avoid that?

Here is the code:

$HistoryLength = 0; (* save *)
pde11 := 
  D(pp(t, x), t) == 
   1.*Laplacian(pp(t, x), {x}) + 
    pp(t, x)*(1 - c11*pp(t, x) - z(t, x)/(1 + pp(t, x)^2));
pde21 := D(z(t, x), t) == 
   1.*Laplacian(z(t, x), {x}) + 
    z(t, x)*(eps*pp(t, x)/(1 + pp(t, x)^2) - m);
(*Initial conditions*)
lo = 7498;
hi = 7502;
domlen = 15000;
ic11(x_) := Which(x > lo && x < hi, 6, True, 0);
ic21(x_) := Which(x < hi && x > lo, 0.5, True, 1/c11);
eps = 1.4434; m = 0.3; c11 = 0.1732;
tfin = 30;
For(i = 0, i <= IntegerPart(6000/30), i++,
 sol1d = NDSolve({pde11, pde21, z(0, x) == ic11(x), 
    pp(0, x) == ic21(x)}, {pp, z}, {t, 0, tfin}, {x, 0, domlen}, 
   MaxStepSize -> 0.1);
 resultsForExport = {};
 For(j = 0, j < tfin, j = j + 0.1,
  resultsForExport = 
    Append(resultsForExport, Evaluate(z(j, 7500)) /. sol1d);
 resultsForExport = Flatten(resultsForExport);
 Export("largedomain" <> ToString(i) <> ".dat", resultsForExport);
 ic11(x_) := sol1d((1, 2, 2))(tfin, x);
 ic21(x_) := sol1d((1, 1, 2))(tfin, x);

I suspect my expedition is not too elegant – I'm sorry.
I have done this several times now (takes a long time) and it keeps crashing $ i = 20 $ and $ i = 30 $,

All thoughts / help / workarounds / comments are appreciated.

How do I avoid race conditions while handling UNIX processes in C?

I am trying to create a simple UNIX shell for educational purposes. My intention is to handle background processes correctly and display a message when the job is over SIGCHLD Handler in the parent process. But my code seems to go through endlessly and create child processes whenever I attach & to my command, for example: ls &

Therefore, I assume that there are some alarming errors in terms of race conditions, as I receive my expected output when using it gdb and go into debug mode step by step, but I can not tell where I'm really wrong. Do they use the better practices for process execution? (In my original code, I made sure that jobs were processed through appropriate data structures and memory management was performed freeso that's not a problem)

Code Snippet for Reproduction: (Alternative Mirror here)


int argLength = -1;
char** argVector;
int isBackground = 0;
int childPID = -1;
int parentPID = -1;

void printPrompt()
    printf("Shell~: $ ");

char* str_concat(char* s1, char* s2)
    int l1 = strlen(s1);
    int l2 = strlen(s2);
    char* op = (char*) calloc (l1 + l2, sizeof(char));
    for(int i=0; i 0)
                        printf("(bg)  %d finishedn", pid);

                    int status;
                    waitpid(pid, NULL, WUNTRACED);
                isBackground = 0;
    return 0;

To avoid splitting the output in sqlplus

I run the following query to get a list of all PDBs with SQLPLUS and call each PDB NAME with for loop in the shell script.
Unfortunately, only a few PDB NAMES are split / interrupted in the output (eg, P DB1P016, PD B1P032, etc.), so the variable does not assign a correct / correct value.
Any idea to fix this?

SQL> select LISTAGG(, ' ') WITHIN GROUP (ORDER BY name) as pdbs from v$pdbs a;

IOC1P002 PDB$SEED PDB1P001 PDB1P002 PDB1P003 PDB1P004 PDB1P005 PDB1P006 PDB1P007 PDB1P008 PDB1P009 PDB1P010 PDB1P012 PDB1P013 PDB1P014 PDB1P015 P
DB1P016 PDB1P017 PDB1P018 PDB1P019 PDB1P020 PDB1P021 PDB1P022 PDB1P023 PDB1P024 PDB1P025 PDB1P026 PDB1P027 PDB1P028 PDB1P029 PDB1P030 PDB1P031 PD
B1P032 PDB1P033 PDB1P034 PDB1P035 PDB1P036 PDB1P037 PDB1P038 PDB1P039 PDB1P040 PDB1P041 PDB1P042 PDB1P043 PDB1P044 PDB1P045 PDB1P046 PDB1P047 PDB
1P048 PDB1P049 PDB1P050 PDB1P051 PDB1P052 PDB1P053 PDB1P054 PDB1P055 PDB1P056 PDB1P057 PDB1P058 PDB1P059 PDB1P060 PDB1P061 PDB1P062 PDB1P063 PDB1
P064 PDB1P065 PDB1P066 PDB1P067 PDB1P068 PDB1P069 PDB1P070 PDB1P071 PDB1P072 PDB1P073 PDB1P074 PDB1P075 PDB1P076 PDB1P077 PDB1P078 PDB1P079 PDB1P
080 PDBCUS12

Javascript – How to Structure this React Application: Button Functionality to Avoid Complexity

I currently have two main "two views" in this application. One is This is a component that indicates that it is the main page and another This is a component that makes up other components that display the second page. It depends on whether you press a button or if some changes have been made.

class PreApp extends React.Component{
  state = { TestIsOn: false }

    handleStateUp = (testInOn) => {
        this.setState({ TestIsOn: testInOn })

    return (
        {this.state.TestIsOn ?  : }
        {this.state.TestIsOn ?  : 
} ); } } class App extends React.Component{ state = {ButtonClicked: false} handleSubmit = (ButtonClicked) => { this.setState({ ButtonClicked: ButtonClicked }) } render(){ return (
{this.state.ButtonClicked ? : }
) } } export default App;

I am not happy because the application is currently structured because the functionality of the buttons is now anchored to "conditional". I want you to just work with a "simple" onClick "to bring you to the component.

At the moment, the problem I wanted to solve is that there is a condition that depends on whether the CREATE ACCOUNT button is pressed to render the component , But It is what is shown. But of course, I'd like to add functions to the second button ("MAKE A TEST") so I can not put them into the ternary condition any more, as they obviously only allow two.

When I do that, for example, it makes me obviously the two things of any condition:

class App extends React.Component{
  state = {ButtonClicked: false}

  handleSubmit = (ButtonClicked) => {
    this.setState({ ButtonClicked: ButtonClicked })
  handleLogin = (EnteredLogin) => {
    this.setState({EnteredLogin: EnteredLogin})
    return (
{this.state.ButtonClicked ? : } {this.state.EnteredLogin ? : }
) } } export default App;

The landing component with the two buttons that I refer to:

Class Landing extends React.Component {

render () {
back (

vue.js – Vue – To avoid a content flash before loading Vue

I see my header and footer, which are a few ms outside the router view, before loading vue and applying a loader to the page (see GIF). How do I avoid this behavior and immediately show a loader?

I use V-Cloak, but it does not seem to work.

Enter image description here


gnome – Disable – in Ubuntu 19.04 Disco to avoid MS Excel conflicts

I'm using VirtualBox to run a Windows session and Microsoft Excel in that session. To recalculate all sheets in a workbook, Excel uses the icon Keyboard shortcut, but this is tied to a kind of abbreviation for the terminal number in Ubuntu that causes my screen to go blank.

Can I completely disable this shortcut in Ubuntu 19.04? There is a question here that dealt with this issue, but it is 7 years old and I can not replicate it in 19.04.

ip – How can I avoid getting exposed while traveling to Russia?

I am studying for a Russian language and I am looking for a kind of internship or training.

I have a security concern and a background to it. The background is that in the internet on the Russian social network under a fake name and made many provocative posts there, so they said they would do their best and utmost to find my real identity and make it public. Politics, religions, cultures, and similar in a provocative manner. I can not afford to read my real name, so I could not find my real name.

Some time ago, one of the most talked about Japanese IP addresses and some of them. Although I have not used any proxy servers to make my posts, I got shocked, because is not supposed to share my IP addresses with anyone. The guy then wrote he IP address because he works in a Russian company that has access to a lot of data related to the Internet in Russia. He added that he had been trying to find my real IP address, but had not succeeded. Indeed, my Japanese IP addresses do not give any leads, and no Japanese provider wants to tell my name to Russians.

Now I am traveling to Russia and I am using the same laptop. I want to be in Internet connection in Russia and, in the opinion of the guy told me, will obviously need to avoid any possibility of leaving any traces in Russia. The reason is that knowing my Russian IP. Ideally, I would like to continue using the same account on the social network to make posts while staying in Russia.

My question is this: What should I do to meet these needs?

I am asking about security matters and, in particular, what kind of information is being collected from my laptop by Internet providers and servers such as, so I am afraid to even connect my laptop to the Internet in Russia , I hope this security expert could happily use my laptop in Russia without any risk of getting exposed to find my real identity may have access to any data related to the Internet in Russia.

Chromatic Aberration – How can I avoid these pink / purple lines in my portrait photos?

The camera lens projects an image of the outside world onto the surface of the image sensor of the camera. During the exposure this image is taken. Most of these images are tiny, but the image size is intertwined with the subject distance and the image distance. The image size (magnification) increases with longer focal length lenses because the image distance (counter focus distance) is increased. You may have worked with a movie or slide projector. In this case, you know that the farther the projector is away from the screen, the larger the image.

Your question relates to the operation of lenses. In short, they change the direction of incident rays of light by bending them inwards (refraction). The imaging beams then exit the lens with a modified direction of movement.

The images that each lens makes have seven (or more) errors, which we call aberrations. The lens manufacturer seeks to eliminate any problem by making the lens with multiple lenses that are shaped to reduce the aberrations. A modern lens can be very good, but aberrations are only minimized, they always deface the projected image to some degree.

One of these aberrations is called "chromatic aberration". This aberration is due to the fact that the paths through the lens occupying each color of light are slightly different. The shorter wavelengths of violet and blue are more strongly refracted (bent inward) than the longer wavelengths of yellow and red. The result is that the actual focal length of the different colors is slightly different. What happens is that the violet image forms closer to the lens, followed by blue, then green, then yellow, then orange and then red. In other words, the projection distance for each color is different, so each image is different the size (magnification) is different. The final image is a series of overlay images of different colors, where red is the largest image and purple is the smallest image.

In a simple camera lens system (without correction for chromatic aberration), we can always focus on just one color, so all other color images are slightly out of focus. The lens manufacturer seeks to correct chromatic aberrations by making the camera lens a complex array of differently shaped lenses made using different types of glass. For chromatic aberration, a strong convex lens is placed in a weak concave lens. These different lens shapes tend to cancel the chromatic aberration. No cigar, all we can do is mitigate, there is always some chromatic aberration left over. Better expensive lenses do the best job.

What you see is the residual effect of uncorrected chromatic aberrations. Your only remedy is to buy a better corrected camera lens. However, we can remedy this deficiency with high-end image editing software. If you're using PhotoShop or any of its counterparts, check the Help Center to find out how your software can eliminate chromatic aberrations.