how can i start 2 python's file at the same time? - modulo

import idiota
import schermogira
"idiota" and "schermogira" are 2 python files created by me, I want to run them at the same time but I can't, each time first executes one and then executes the other (one makes the screen spin and the other creates windows), how can i start them at the same time?

Related

Bazel: Separate output directories for different build options

Bazel has different output directories for different compilation modes (fastbuild, opt, dbg) which allows it to keep the release build-cache intact after you compile the app in debug mode. Which is great.
Is it possible to do the same for different compilation options?
My use-case: I have a custom-built C++ symbolic computations system. Each run of the program is one computation. Most computations take a few seconds. But some take minutes. To speed up the latter I unrolled several low-level functions, and now thousands of lines of code are copied to every compilation unit (because the functions are templated). This made a decent effect on computation speed but also slowed down compilation significantly. It really only makes sense to use these optimizations for a small fraction of runs.
So, a put them under a define which I can toggle via --cxxopt=-DUNROLL_ALL_THE_THINGS. But whenever I switch from unrolled version to a simple one and back Bazel drops compilation cache. In essence, I've split “opt” mode into two (“opt” and “super-opt”) but I can't make Bazel see it this way.
One can use the --platform_suffix option to manually add a suffix to the output directory name. So, you could pass --platform_suffix=super whenever you use --cxxopt=-DUNROLL_ALL_THE_THINGS.
For your different commands, pass --platform_suffix=your_configuration_name.
So, if you have a custom dbg configuration, it will be
--platform_suffix=dbg-myconfig
Similarly for the opt build pass this flag:
--platform_suffix=opt-myotherconfig

Spyder variable explorer stuck on showing always the same variables each time I run the program

As in the title, each time I run Spyder (new session) it shows always a list of variables (belonging to Numpy, matpolotlib etc.) and I cannot erase them all together (while it is possible to do it manually). However, even done so, they will reappear at the next session.
Does anyone know what happened?
(Spyder maintainer here) This happens (most probably) because you have the Pylab option activated:
That option imports Numpy and Matplotlib to all your consoles. And those imports create several objects that are the ones shown in the Variable Explorer by default.

Download code and execute on-the-fly

Is it possible to download code and execute / inject it when application is executed?
I want to keep my .exe small and up2date without using an updater.
Been searching google for a while, but couldn't find anything execpt for just downloading other .exe's which always triggers Antivir's.
You should put your business logic in dll(s) and only the update logic in the exe. Each time you start the application it should check for updates. If it needs to, it will download new dll(s) and update its functionality.
By making the dll(s) to be dynamically loaded, you need not even restart the application when an update is performed IF you check for updates the first thing after your exe starts.
The process inside the exe would be the following:
1. Start small exe
2. Check for updates. If needed, download dll(s) in the specific location for dll(s).
3. Load dll(s) from that specific location
Of course, for ease in working with it, you should not allow multiple instances because if you already have it started and you start another instance, you will have another case to handle: you try to make an update but the files you need to overwrite are in use...
There is a way in which you can run an exe, injecting it in other process's address space. But for sure your software will be marked as malware by heuristic av's.
Here is the unit that does the trick if you are interested about the concept.

how to execute two exe files at the same time in delphi 7

I have two exe files and I want to run them at the same time. Is it possible to do it in delphi 7? I've searched it in the internet but I couldn't find any answer...
Iman said in a comment:
NO, I run two exe files, the first one take some files and produce an output for each file. the second exe run at the same time and wait for output of the first one, so when the first exe file is working on second input the second exe is working on first output of first exe :) something like pipeline
What I would do then, is start the 2nd program first. It will then be ready for the output of the first one as soon as the output is produced and there will be no delay.
Just execute one, and then the other. It's very difficult to make computers do anything at exactly the same time, a millisecond apart shouldn't kill you.

Detecting file corruption with batch script

How can I uses commands to check that the size of new file is significantly smaller than the one it's replacing?
I have a batch file running every night which, amongst other things, calls an application UpdVMem.exe which creates a cut down members database VMembers.Adt from the main file Members.Adt. This file is then moved to remotes sites with the same script.
On a few sites, at periodic intervals the VMembers.Adt will be corrupted. I have no idea why, as we've ruled out the table being locked for editing (by my Delphi Membership software). It will be often deceptively appear the same size but contains less than half the records.
Even better would be a set of commands which could detect this corruption or a failure in the execution of UpdVMem.exe, as the size alone is not the best indicator.
Thanks
You can use the ERRORLEVEL command to check the exit code of UpdVMem.exe in batch file. If the UpdVMem.exe is developed by you then you can use the Halt procedure to send "meaningful error codes" to the batch file (ie when you catch some exception when creating the VMembers.Adt file).

Resources