# ACube4 alpha testers needed!



## StachuK1992 (Sep 7, 2011)

Josef and I have been talking for the past month or two, both for the GUI of aCube3 (released in another thread) and the pushing of aCube4.

Download. (like100k or less, still) Next update, the .jar will just be pushed with the source rather than hosted here.
Usage.
Source.
Report bugs both here and on this thread. Make sure it's an actual bug before you report it.

Josef did the code. (apart from some old cycle notation code stuff from Stefan)
I've just been the channel for communication and recommendations up until this point.

What's been done since aCube3
-code is nicer
-finding algs will eventually be significantly faster
-new input (cyclic notation and more)
---will eventually re-support aCube3 input
-wide turns
-rotations
-more move restrictions (M' vs M moves  )
-opensource. Feel free to help! Everything's on github. 

Help us have aCube4 totally done within the next few weeks.

Have fun,
Stachu


----------



## asportking (Sep 7, 2011)

Won't open for me. Sorry if I'm asking a stupid question (I'm no computer expert), but shouldn't you just be able to click on the jar file and open it?

"The system cannot find the path specified" when it try to type in cd Desktop. Not sure why it isn't working, I did something like this a few times a while ago and it worked fine then.


----------



## StachuK1992 (Sep 7, 2011)

Nope!
Open command prompt. (you can find this.)
once on command prompt type:
"cd Desktop" assuming you saved it on desktop on windows. If it's in a different place, do "cd .." then do "cd [other place]"
then type
"java -jar acube-blahblah.jar"

cd ..
cd C:/Users/asportking/acube-lalala.jar

Try something like that. Otherwise, google about to figure out how to cd.


Edit: I found out that you're on ubuntu

Just download to Downloads
cd Downloads


----------



## Cubenovice (Sep 7, 2011)

OK, I'm a complete noob at this.

I can run the program but now what? I read the readme but still confused.
Say I want to find the antisune alg with R R' U U' U2 moves only...

What do I enter?
Following the readme I should enter someting like:

2: UFL- UFR- URB-
3: R R' U U' U2 

But I cannot even enter 2 lines
Should I write 2: UFL- UFR- URB- 3: R R' U U' U2 or something? 

An example orf what exactly to enter for sune or antisune would be much appreciated.


----------



## StachuK1992 (Sep 7, 2011)

Okay, some input to output R U R' U R U2 R'
9
to reset

3: R* U*
to set moves in <R*,U*>

2: 2: [UF UL UR UB] UFR- URB- UBL-
to say "flip those 3 corners" and "don't care about the permutation of the U-layer edges.

6
Gimme everything

5: 12
12 moves or less!

4: qtm
QTM blah blah

then just enter again and you should get

```
|i| depth 6
|i| depth 7
|i| depth 8
|S| R U R' U R U2 R . R2 U2 (12q, 9f, 9s, 12sq)
|S| R U R' U R U2 R' . U2 (10q, 8f, 8s, 10sq)
|i| depth 9
|S| U' R' U2 R U R' U R . U' (10q, 9f, 9s, 10sq)
|S| R U R' U R U2 R' U . U (10q, 9f, 9s, 10sq)
|S| R U R' U R U2 R' U' . U' (10q, 9f, 9s, 10sq)
|i| depth 10
|S| U' R' U2 R U R' U R U' (10q, 9f, 9s, 10sq)
|S| R U R' U R U2 R' U2 (10q, 8f, 8s, 10sq)
```


----------



## masterofthebass (Sep 7, 2011)

Cubenovice said:


> OK, I'm a complete noob at this.
> 
> I can run the program but now what? I read the readme but still confused.
> Say I want to find the antisune alg with R R' U U' U2 moves only...
> ...


 
Enter the number to choose the option. Keystrokes would be:

2 <enter> UFL- UFR- URB- <enter> 3 <enter> R R' U* <enter> <enter>


----------



## Cubenovice (Sep 7, 2011)

masterofthebass said:


> Enter the number to choose the option. Keystrokes would be:
> 
> 2 <enter> UFL- UFR- URB- <enter> 3 <enter> R R' U* <enter> <enter>



THX Dan!

It was the <enter> <enter> that got me


EDIT: didn't see Stachu's post above Dan's...
All is clear now.


----------



## josef.jelinek (Sep 7, 2011)

There are two ways to input the parameters
a) type an option number, hit enter, type parameters, hit enter
b) type an option number followed by ":" and parameters and hit enter
the second one is better for keeping command history in the console window


----------



## Lucas Garron (Sep 7, 2011)

Awesome. This didn't use to work in ACube 3 vertically:


```
----------------------------
#Template:
UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR
#Current:
? ? ? ? ? DR ? DL FR FL BR BL FUL URB UBL FRU DRF DFL DLB DBR
#Ignored positions: UF UR UB UL DF DB
#Ignored orientations: 
#Turns:
U2 L L2 L' R R2 R'

[1] Enter cube - standard notation
[2] Enter cube - cycle notation
[3] Enter allowed turns
[4] Set metric to qtm, ftm, stm, sqtm (ftm)
[5] Maximum length (20)
[6] Find all sequences (yes)
[ ] Solve
[9] Reset
[0] Exit

|i| solving ? ? ? ? ? DR ? DL FR FL BR BL FUL URB UBL FRU DRF DFL DLB DBR
|i| creating transformation table (corner orientation)
|i| creating transformation table (edge orientation)
|i| creating transformation table (corner position)
|i| creating transformation table (middle edge position)
|i| creating transformation table (U edge position)
|i| creating transformation table (D edge position)
|i| creating transformation table (middle edge position set)
|i| creating conversion table (middle edge position - middle edge position set)
|i| creating pruning table (corner twist + edge flip)
|i| creating pruning table (corner twist + middle edge position set)
|i| creating pruning table (edge flip + middle edge position set)
|i| creating turn transformation and pruning table
|i| creating transformation table (middle edge position B)
|i| creating transformation table (U/D edge position B)
|i| creating transformation table (corner position B)
|i| creating conversion tables from phase A to phase B
|i| creating pruning table (middle edge position + corner position)
|i| creating pruning table (middle edge position + U/D edge position)
|i| depth 6
|i| depth 7
|i| depth 8
|i| depth 9
|i| depth 10
|i| depth 11
|i| depth 12
|i| depth 13
|i| depth 14
|i| depth 15
|i| depth 16
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 L R . R2 U2 L2 U2 (31q, 20f, 20s, 31sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 L R' . U2 L2 U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 R' L . U2 L2 U2 (29q, 19f, 19s, 29sq)
|S| R U2 R' U2 R U2 R U2 L' U2 R U2 R' U2 L R' . U2 R2 U2 (29q, 19f, 19s, 29sq)
|S| R U2 R' U2 R U2 R U2 L' U2 R U2 R' U2 R' L . U2 R2 U2 (29q, 19f, 19s, 29sq)
|i| depth 17
|S| U2 L U2 L' U2 L U2 L U2 R' U2 L U2 L' U2 L' R . U2 L2 (29q, 19f, 19s, 29sq)
|S| U2 L U2 L' U2 L U2 L U2 R' U2 L U2 L' U2 R L' . U2 L2 (29q, 19f, 19s, 29sq)
|S| U2 R' U2 R U2 R' U2 R' U2 L U2 R' U2 R U2 L' R . U2 R2 (29q, 19f, 19s, 29sq)
|S| U2 R' U2 R U2 R' U2 R' U2 L U2 R' U2 R U2 R L' . U2 R2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 L R' U2 . L2 U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 R' L U2 . L2 U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L R U2 R U2 L' R2 U2 R' U2 R U2 R' U2 L . U2 R2 (29q, 19f, 19s, 29sq)
|S| L' U2 L R U2 R U2 R2 L' U2 R' U2 R U2 R' U2 L . U2 R2 (29q, 19f, 19s, 29sq)
|S| L' U2 R L U2 R U2 L' R2 U2 R' U2 R U2 R' U2 L . U2 R2 (29q, 19f, 19s, 29sq)
|S| L' U2 R L U2 R U2 R2 L' U2 R' U2 R U2 R' U2 L . U2 R2 (29q, 19f, 19s, 29sq)
|S| R U2 L' R' U2 L' U2 L2 R U2 L U2 L' U2 L U2 R' . U2 L2 (29q, 19f, 19s, 29sq)
|S| R U2 L' R' U2 L' U2 R L2 U2 L U2 L' U2 L U2 R' . U2 L2 (29q, 19f, 19s, 29sq)
|S| R U2 R' U2 R U2 R U2 L' U2 R U2 R' U2 L R' U2 . R2 U2 (29q, 19f, 19s, 29sq)
|S| R U2 R' U2 R U2 R U2 L' U2 R U2 R' U2 R' L U2 . R2 U2 (29q, 19f, 19s, 29sq)
|S| R U2 R' L' U2 L' U2 L2 R U2 L U2 L' U2 L U2 R' . U2 L2 (29q, 19f, 19s, 29sq)
|S| R U2 R' L' U2 L' U2 R L2 U2 L U2 L' U2 L U2 R' . U2 L2 (29q, 19f, 19s, 29sq)
|i| depth 18
|S| U2 L U2 L' U2 L U2 L U2 R' U2 L U2 L' U2 L' R U2 . L2 (29q, 19f, 19s, 29sq)
|S| U2 L U2 L' U2 L U2 L U2 R' U2 L U2 L' U2 R L' U2 . L2 (29q, 19f, 19s, 29sq)
|S| U2 R' U2 R U2 R' U2 R' U2 L U2 R' U2 R U2 L' R U2 . R2 (29q, 19f, 19s, 29sq)
|S| U2 R' U2 R U2 R' U2 R' U2 L U2 R' U2 R U2 R L' U2 . R2 (29q, 19f, 19s, 29sq)
|S| L U2 L U2 R' U2 L U2 L' U2 L' R U2 L2 U2 L U2 L' . U2 (29q, 19f, 19s, 29sq)
|S| L U2 L U2 R' U2 L U2 L' U2 R L' U2 L2 U2 L U2 L' . U2 (29q, 19f, 19s, 29sq)
|S| L2 U2 L R' U2 L U2 L' U2 R U2 L' U2 L' U2 L U2 L' . U2 (29q, 19f, 19s, 29sq)
|S| L2 U2 R' L U2 L U2 L' U2 R U2 L' U2 L' U2 L U2 L' . U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L2 U2 L' R U2 L' U2 L U2 R' U2 L U2 L . U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L2 U2 R L' U2 L' U2 L U2 R' U2 L U2 L . U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 L R' U2 L2 . U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L U2 L' U2 L' U2 R U2 L' U2 L U2 R' L U2 L2 . U2 (29q, 19f, 19s, 29sq)
|S| L' U2 L R U2 R U2 L' R2 U2 R' U2 R U2 R' U2 L U2 . R2 (29q, 19f, 19s, 29sq)
|S| L' U2 L R U2 R U2 R2 L' U2 R' U2 R U2 R' U2 L U2 . R2 (29q, 19f, 19s, 29sq)
|S| L' U2 L2 R U2 L' U2 L U2 R' U2 L U2 L' U2 L U2 L (27q, 18f, 18s, 27sq)
|S| L' U2 L' U2 L U2 L' U2 R U2 L' U2 L U2 L2 R' U2 L (27q, 18f, 18s, 27sq)
|S| L' U2 L' U2 L U2 L' U2 R U2 L' U2 L U2 R' L2 U2 L (27q, 18f, 18s, 27sq)
|S| L' U2 R L2 U2 L' U2 L U2 R' U2 L U2 L' U2 L U2 L (27q, 18f, 18s, 27sq)
[B]|S| R U2 L' R2 U2 R U2 R' U2 L U2 R' U2 R U2 R' U2 R' (27q, 18f, 18s, 27sq)[/B]
|S| R U2 R U2 R' U2 R U2 L' U2 R U2 R' U2 L R2 U2 R' (27q, 18f, 18s, 27sq)
|S| R U2 R U2 R' U2 R U2 L' U2 R U2 R' U2 R2 L U2 R' (27q, 18f, 18s, 27sq)
|S| R U2 R2 L' U2 R U2 R' U2 L U2 R' U2 R U2 R' U2 R' (27q, 18f, 18s, 27sq)
|i| 68.40% save in phase A, pruned 72898449 of 106579697 entries
|i| 99.13% save in phase B, pruned 2091281 of 2109597 entries
```

I spent a lot of time doing things sideways back in the day.


----------



## Forte (Sep 7, 2011)

Does anyone know what *"Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file"* means?
That's from me doing "java -jar ACube4.jar" in Terminal on my Mac (I was in the right directory, and I renamed it ACube4.jar).


----------



## asportking (Sep 7, 2011)

StachuK1992 said:


> Nope!
> Open command prompt. (you can find this.)
> once on command prompt type:
> "cd Desktop" assuming you saved it on desktop on windows. If it's in a different place, do "cd .." then do "cd [other place]"
> ...


Just figured it out, apparently capitalization is much more important than I thought


----------



## josef.jelinek (Sep 7, 2011)

Forte said:


> Does anyone know what *"Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file"* means?
> That's from me doing "java -jar ACube4.jar" in Terminal on my Mac (I was in the right directory, and I renamed it ACube4.jar).



It is compiled with Java 1.6, can you run java -version to see if you have Java 6 installed?
It would possible to support java 1.5, but not lower, as there were too many features the program depend on introduced in that release.


----------



## MaeLSTRoM (Sep 7, 2011)

Just curoius, whats with the "." in the output sometimes. Is it my computer or does it mean something?


----------



## StachuK1992 (Sep 7, 2011)

Java 6 doesn't work on Mac, as far as I know. 
At least, that's what I heard from another cuber a few days ago. Citation needed.

The . is to separate phase A from phase B. Look around for info on Kociemba's 2-phase algorithm.


----------



## Forte (Sep 7, 2011)

josef.jelinek said:


> It is compiled with Java 1.6, can you run java -version to see if you have Java 6 installed?
> It would possible to support java 1.5, but not lower, as there were too many features the program depend on introduced in that release.


 
"java -version" gives

```
java version "1.5.0_30"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03-389-9M3425)
Java HotSpot(TM) Client VM (build 1.5.0_30-161, mixed mode, sharing)
```


----------



## Lucas Garron (Sep 7, 2011)

StachuK1992 said:


> Java 6 doesn't work on Mac, as far as I know.
> At least, that's what I heard from another cuber a few days ago. Citation needed.



Huh? I've been coding in Java 6 on my Mac all summer.

Java 1.5 might be set as the default default; I think that was a common CCT/PPT issue. If your system has gotten Java 1.6, It can be viewed/changed with Java Preferences ( /Applications/Utilities/Java Preferences.app/ ).


----------



## StachuK1992 (Sep 7, 2011)

Thanks, Lucas!


----------



## Forte (Sep 7, 2011)

Go Lucas 

It works


----------



## StachuK1992 (Sep 8, 2011)

Newer source being pushed as well as a new .jar.

First post will be updated momentarily.

New: aCube3 input supported again. !!/! doesn't work, but everything else should.


----------



## minime12358 (Sep 13, 2011)

Hey! Thanks for the new version... I use acube for all of my algs, it is beast. I just wanted to point out one thing that I was noticing with the searching, let me c and p from an frU F perm: (I know, strange restrictions...)
|S| r2 U f' r' U f2 U' r f . r2 U' f2 r2 U2 r2 f2 U r2 U2 (29q, 19f, 19s, 29sq)
|i| depth 10
|S| r2 U f' r' U f2 U' r f r2 . U' f2 r2 U2 r2 f2 U r2 U2 (29q, 19f, 19s, 29sq)
|i| depth 11
|S| r2 U f' r' U f2 U' r f r2 U' . f2 r2 U2 r2 f2 U r2 U2 (29q, 19f, 19s, 29sq)
|i| depth 12
|S| f2 U' r2 f' U2 r U f2 U' r' U2 *f . f2* U' r2 U f2 r2 f2 (29q, 19f, 19s, 29sq)

|S| f2 U' r2 f' U2 r U f2 U' r' U2 f' . U' r2 U f2 r2 f2 (27q, 18f, 18s, 27sq)
|i| depth 13
|S| f2 U' r2 f' U2 r U f2 U' r' U2 f' U' . r2 U f2 r2 f2 (27q, 18f, 18s, 27sq)
|i| depth 14
|S| f2 U' r2 f' U2 r U f2 U' r' U2 f' U' r2 . U f2 r2 f2 (27q, 18f, 18s, 27sq)
|i| depth 15
|S| f2 U' r2 f' U2 r U f2 U' r' U2 f' U' r2 U . f2 r2 f2 (27q, 18f, 18s, 27sq)

I know this occurs because of the two phases, and I am not bothered by it, however I was just pointing it out. The more important thing (And I know this will be a most likely very annoying thing to try to fix and I dont mind if you leave it xD) is the f . f2 instead of f' because of the cancelling between the two phases. I dont quite know how the search works (yet, I havent read the source as of now), but if it is how I think it is, then it would be a pain to mess with 

Also, random question, why does everyone use such a slow language as Java? It runs just fine in this circumstance, but I didnt realize the huge difference until I switched xD (4 year java programmer, just switched back to C/C++/Python)



Edit:
Oh and Something else: FF'r*U* F perm: 
|S| F' U F U' *F F* r' F' r U F r U' r' *F F* . U' (17q, 17f, 17s, 17sq
|i| depth 17
|S| U F F r U r' F' U' r' F r *F F* U F' U' F (17q, 17f, 17s, 17sq)
|S| F U' r U r' U r' F' r2 U' r' U' F' U2 F' (17q, 15f, 15s, 17sq)
|S| F U' r U r' F' r2 U' r' F r' U' F' U2 F' (17q, 15f, 15s, 17sq)
|S| F U' r F' r2 U' r' F r' F r' U' F' U2 F' (17q, 15f, 15s, 17sq)
|S| F U2 F U r U r2 F r U' r U' r' U F' (17q, 15f, 15s, 17sq)
|S| F U2 F U r F' r U r2 F r U' r' U F' (17q, 15f, 15s, 17sq)
|S| F U2 F U r F' r F' r U r2 F r' U F' (17q, 15f, 15s, 17sq)
|S| F' U F U' *F F* r' F' r U F r U' r'* F F* U' (17q, 17f, 17s, 17sq)


 but it looks like a good F perm will finally come with this...


Edit 3!: And Yay I think this is a good F perm : R d' r U r' U r' F' r2 U' r' U' y' R' U2 R' (From F U' r U r' U r' F' r2 U' r' U' F' U2 F')


----------



## josef.jelinek (Sep 13, 2011)

Hey, thanks for the feedback.
This version is still quite early alpha and I expect you will find more bugs than I can for me to fix it.
The transition between the two phases is not expected to repeat turns of the same side, but there are some problems which I need to fix and I had to relax the limitation of redundant turns between the phases (the implementation actually uses finite automaton to prune the turns that may be already tried to depth 4, which is quite a boost considering standard approach of limiting the same face turning again and fitting it with all these wide, slice, cube turns that the program now supports.. there is just too much ambiguity now in short turn sequences to use anything simpler). It should work ok when the two phases' turn sequences are linked properly.

Regarding programming languages and their efficiency... I really do not much care anymore... C++ would get you nothing in this case, since JVM now optimizes and inlines the main solver functions and loops even better (suited to the exact processor it runs on), but that means nothing, because vast majority of time is spent on accessing the main memory, since used tables are not small and accesses are scattered and not cache-able. I could have implemented that in Lisp (clojure 1.3 for native arrays) and it would be the same speed. Well in Python it would be significantly slower though.

In the last example "F F" is output as the solver uses just the specified turns and does not know about F2 at that moment, but it is just limitation of the output representation in this console UI, which was just done very fast to allow testing before integrating with more sophisticated UI.


----------



## josef.jelinek (Sep 28, 2011)

FYI there is a new version published at https://github.com/downloads/josef-jelinek/acube/acube4.0a5.jar
this release fixes a few things mentioned here (transition of two phases now do not repeat turns of the same layer etc.) and adds a few things to the notation for ignoring edges... e.g. [U E] means ignore edges of the two top layers...


----------



## josef.jelinek (Sep 29, 2011)

The last release had a problem of pruning too much if turns were very restricted... it is fixed in the new version https://github.com/downloads/josef-jelinek/acube/acube4.0a6.jar
caching of one particular type of table that took too long to compute was added. the files are stored to ./cache/ you are free to delete them any time.


----------



## josef.jelinek (Oct 17, 2011)

An experimental optimal (one phase) solver has been added to a7 version... https://github.com/downloads/josef-jelinek/acube/acube4.0a7.jar
Tables take longer to compute, but the solver is much faster in most of the cases... Table caching to the disk is planned for the next update


----------



## StachuK1992 (Jan 6, 2012)

Heads up - back in development.
Next on list is speeding the whole process up, and limiting moves "I only want two F moves"

Feel free to post any requests regarding this. Really, please.


----------



## minime12358 (Jul 18, 2012)

Hey, it has been a long time since I last posted on here! 

So, sorry about the noob python comment there -- I had just started learning the language (5th one) and... I was sorta clueless I guess. 

anyway, I was hoping to ask about one functionality that I can't find in the current one. I use to do something like [UD] before the command line to ignore AUFs/ADFs. Does this exist (and I am missing it on the readme), or do you think you could try to add it in in the future versions? I used to use it; it was very helpful

One other thing- I remember seeing a GUI in older 4.x versions. I am completely fine with using it without a GUI, but I was wondering the current status of it (If there is another download I am missing or if the old one is simply deprecated). 

Thanks!


----------



## geocine (Jan 16, 2013)

Hi Josef, Stachuk

What does (24q, 16f, 12s, 18sq) mean on the results?


----------



## TheNextFeliks (Jan 16, 2013)

Turn metrics.


----------



## geocine (Jan 16, 2013)

TheNextFeliks said:


> Turn metrics.



May you point me to a wiki article or perhaps a resource to explain turn metrics.


----------



## tim (Jan 16, 2013)

q = Quarter turns
f = Face turns
s = Slice turns
sq = Slice quarter turns

M: (4q, 2f, 1s, 2sq)

\edit: http://www.speedsolving.com/wiki/index.php/Turn_metric (Huh? Didn't you find that one?)


----------



## TheNextFeliks (Jan 16, 2013)

geocine said:


> May you point me to a wiki article or perhaps a resource to explain turn metrics.



http://www.speedsolving.com/wiki/index.php/Move_count

q = qtm f = htm/ftm s = stm sq = not described but hopefully you can infer.


----------



## geocine (Jan 16, 2013)

tim said:


> q = Quarter turns
> f = Face turns
> s = Slice turns
> sq = Slice quarter turns
> ...



Thanks tim, just found it before you posted thanks again.

What does the dot mean on the algorithms produced by the solver? I know it is not a move just curious what is its significance.


----------



## stefan.s.skesh (Feb 27, 2015)

Hi Josef, all,

I have been using Acube3 for year, and I just discovered your recent rebuilt in Acube4.
I was using it through batches of several scrambles, like
C:\>@java -cp ACube3.jar ACube < "scramble5322.txt" > "result5322.txt"
of course the file scramble5322.txt contains many scrambles, and result5322.txt all the results

Acube4 is working well for one scramble at a time (you known 1: @? @? @? LF DF DR DB DL @? @? BR BL FLD @? @? @? @? @? DLB DBR <enter> => magic result)
but for bunch of scrambles, I tried several things like
C:\>java -jar acube4.0a8.jar < "scramble5322.txt"
and then ouch:
Exception in thread "main" java.lang.NullPointerException
at acube.console.ACube.interactiveConsole(ACube.java:46)
at acube.console.ACube.main(ACube.java:39)

Do you have a method to process in batches ?

Thank you so much in advance,
Stéphane,


----------

