Live Business Chat
2013 May 18, 07:03:13 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Some accounts got accidentally deleted by anti-spam software during a spammer attack on this forum. Please re-register. If you have trouble, contact badon or tamo42 in the chat. This is a friendly non-profit discussion group about making money. You won't be able to see all forums at first. You have to register to see more forums. Click the "NOTIFY" button every chance you get to receive instant alerts about new information.
 
   Home   Help Search Calendar Login Register  
Pages: 1 2 3 4 All   Go Down
  Print  
Author Topic: RSC32Gui  (Read 1181 times)
0 Members and 1 Guest are viewing this topic.
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« on: 2011 Jun 22, 01:09:10 pm »

Here, simple gui written in c# for rsc32 v2.82 (should work with current version but I didn't test it) (required .NET2.0)
It's not yet finished.

Download:
see attachment

How to:
Place rsc32.exe and rsc32_FFTW3.DLL at Windows folder (or system32 . You can change PATH variable too).

1) Run RSC32Gui.
2) click "choose folder"
3) choose option from dropdownlist
4) hit start

Example:
Creating:
1) Run RSC32Gui.
2) click "choose folder"
3) choose first (-wt -tig -r -ya) option from dropdownlist, hit start, wait
4) choose third (-wrr65000-5% -sn5 -hr5 -ya) option from dropdownlist, hit start, wait. All done.

Checking:
1) Run RSC32Gui.
2) click "choose folder"
3) choose second (or fourth) option, hit start
4) go to "log" tab for details

Repairing:
1) Run RSC32Gui.
2) click "choose folder"
3) choose fifth option, hit start


Available options:

"-wt -tig -r -ya" creates hash (tiger, crc64, md5, sha1) tables
"-rt" read table (file verification using hash)
"-wrr65000-5% -sn5 -hr5 -ya" write recovery records.
"-crr -ya" check with recovery records, ( file verification using hash recovery records)
"-rrr -mf -ya" repair with recovery records

You can write custom commands.


To-do list:
- new icon,
- more settings
- replace drop-down list
- file associations
- adapt for newest rsc32 version,
- "-mu" switch and others

* RSC32GUI.exe (59 KB - downloaded 104 times.)
« Last Edit: 2011 Jun 22, 01:57:56 pm by Dam1an » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #1 on: 2011 Jun 22, 09:49:35 pm »

Thanx for GUI to RSC32! That's a miracle that GUI is possible without any efforts from me such as windows messages and so on... Maybe it would be helpful to common users who afraids command line.

>should work with current version but I didn't test it

It works fine with current 2.87 but this version has some new good features
1) BaseNames are supported. It means:

BaseName.FHash.RSC32
BaseName.s00_00.....
BaseName.s01_00.....

2) Two different temporary folders are supported while repairing. But if second is not specified than only first folder is used.

The other thing I would ask you please take care about pathes. The recovery is now placed out of choosen folder rather than inside of choosen folder. It is also nessecary to specify a path to recovery files, to repaired files and so on. But choosen folder probably should not be saved in FHash.RSC32 as now. And so on... Please take care about pathes thoroughly.
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #2 on: 2011 Jun 22, 10:49:41 pm »

BTW, please display EXIT_CODE and its meaning! I just deleted a file and run "-rt", but RSC32GUI said "SUCCESSFULL"

Please also add comments or tags for switches, so -rt should be sound like "Check File Hashes" or similar =)))

two more BUGS:
1) when recovery is not required -rrr hangs.
2) -wrk doesn't work with local ANSI because it changes some letters to another codepage/symbol while others remain untouched.

ALL BUGS are RSC32GUI specific, RSC32 has no these bugs by itself
« Last Edit: 2011 Jun 22, 11:08:54 pm by persicum » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #3 on: 2011 Jun 23, 12:24:55 am »

Quote
-wrk doesn't work with local ANSI because it changes some letters to another codepage/symbol while others remain untouched.

Code:
JOB Started with command
-rrr -mf -ya -cwh120-25 -wrk"C:\Documents and Settings\Влад\Рабочий стол\RSC32GUI\964387884" -lo"%userprofile%\RSC32GUI\964387884" 1>>"%userprofile%\RSC32GUI\964387884\stdout" 2>>"%userprofile%\RSC32GUI\964387884\stderr"

------------------------------------------------------------------------------------------------------------------------

Recovery Report Generated by RSC32.EXE v2.87:

Error! Cannot write to C:\Documents and Settings\Tлад\іабочий стол\RSC32GUI\964387884\RSC32_00C2731D.SWP
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #4 on: 2011 Jun 23, 01:44:59 am »

yet another bug:
-rrr hangs on 98%

This is because "Total corrupted:0" is not now displayed if equal to zero.
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #5 on: 2011 Jun 23, 02:05:30 am »

One more wish:
RSC32 has now its own time stamps so if you want you may remove your stamps such as "Elaps:Total:" from the log. But if you need them you may leave them of course.
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #6 on: 2011 Jun 23, 04:35:20 am »

I know about the most issues you mentioned  (the ansi thing, hanging on 98%, etc)
The build is from 4 January 2011


Quote
BTW, please display EXIT_CODE and its meaning! I just deleted a file and run "-rt", but RSC32GUI said "SUCCESSFULL"

It always show successful if "stderr is empty", because this is debug info. This is why I wrote this:
Quote
Checking:
1) Run RSC32Gui.
2) click "choose folder"
3) choose second (or fourth) option, hit start
4) go to "log" tab for details
of course I'll change that in the future.

Quote
Please also add comments or tags for switches, so -rt should be sound like "Check File Hashes" or similar =)))
I wrote:
- replace drop-down list
So there will be buttons :D

« Last Edit: 2011 Jun 23, 05:09:57 am by Dam1an » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #7 on: 2011 Jun 23, 05:42:18 am »

OK. Well done. It seems you have finished 95% of total work. So it would be nice when you complete. Fortunately or unfortunately, RSC32 has absolutely no competitors now to protect 10G with 10000 or 100000 blocks fast enough, so people would be compelled to use both yours and mine =)))
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #8 on: 2011 Jun 23, 05:56:14 am »

I'm not sure about those 95% but I am hopeful ;-) This is because we don't have UML use case diagrams.

Now, this is trial and error method.
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #9 on: 2011 Jun 24, 02:14:20 am »

RSC32Gui Revision 18

Fixed:
- "when recovery is not required -rrr hangs." and "-rrr hangs on 98%"
- "Elaps:Total:" removed
- and few others, not mentioned in this thread. (fixed stdout and log parser)

* RSC32GUI.rar (15.31 KB - downloaded 49 times.)
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #10 on: 2011 Jun 24, 03:26:56 am »

RSC32Gui Revision 22

Fixed:
- "-wrk doesn't work with local ANSI" (Settings tab), now it should work, tested with ęóąśłżźćń
- Log. Separated main switches and additional ones. for example:
Code:
JOB Started with switches
-wrr65000-5% -sn5 -hr5 -ya

additional switches
-cwh120-25 -wrk"%rsc32gui_wrk%" -lo"%userprofile%\RSC32GUI\996032226" 1>>"%userprofile%\RSC32GUI\996032226\stdout" 2>>"%userprofile%\RSC32GUI\996032226\stderr"

- added those:
"Status: Success" - for -wt, -rt, -wrr, -crr, -rrr
"Status: Success, Repairing is not required" - for -rrr
"Status: Success, Recovery is possible" - for -crr
"Status: Fail, Recovery is not possible" - for -crr and -rrr
"Status: Fail, different HASH" - for -rt

Download:
see attachment






* RSC32GUI.rar (15.64 KB - downloaded 40 times.)
« Last Edit: 2011 Jun 24, 04:02:45 am by Dam1an » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #11 on: 2011 Jun 24, 10:06:45 am »

Quote
now it should work, tested with ęóąśłżźćń
It seems really work, but please check for CAPITAL of these diacretic...

Quote
"Elaps:Total:" removed
Please add empty line before the very last "Total:" or remove it?

Quote
Status: Fail, different HASH" - for -rt
Please change to "Status: Bad, files are corrupted"

BuG:
"finding undamaged volumes" display for a while when -wrr

« Last Edit: 2011 Jun 24, 10:30:43 am by persicum » Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #12 on: 2011 Jun 24, 11:01:26 am »

Quote
It seems really work, but please check for CAPITAL of these diacretic...
Works for me, tested with folder name "ĘÓĄŚ ŁŻŹĆŃ" and "ŚŁŻĆŃĘÓĄŹ".

Quote
Please add empty line before the very last "Total:" or remove it?
And the reason is?

Quote
"finding undamaged volumes" display for a while when -wrr
Fixed

Quote
Please change to "Status: Bad, files are corrupted"
Both are bad, I think.
Maybe "Status: Fail, Hash check NOT passed"


BTW: Next revision will be "Multi instance" compatible. I'm planning to make "wait until other jobs active" option.




* cztery_rsc32gui.png (35.49 KB, 790x611 - viewed 213 times.)
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #13 on: 2011 Jun 24, 02:47:25 pm »

Revision 28
- exception System.InvalidOperationException handled
- prevent showing "finding undamaged volumes" while -wrr
 

* RSC32GUI.rar (15.48 KB - downloaded 37 times.)
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #14 on: 2011 Jun 24, 10:10:07 pm »

Quote
Maybe "Status: Fail, Hash check NOT passed"

OK

Quote
I'm planning to make "wait until other jobs active" option.
Is it a queue?
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #15 on: 2011 Jun 24, 10:18:52 pm »

What about "PAUSE" button between "START" and "BREAK"?

One more wish:
What about reseting total progress bar as well as current progress bar to 0% when finished?
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #16 on: 2011 Jun 25, 01:41:35 am »

Quote
And the reason is?
And what the reason of TWO empty lines before "THE END"? =)))

What about combining "Total:" and "THE END" into just one message and only ONE empty line before the combined line? Such as "\n Totally completed in XXXs" or what you prefer.
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #17 on: 2011 Jun 25, 04:38:58 am »

Oh, I got it. It's for aesthetics reasons.
What about something like this:
Code:
Totally completed in 123.5 s
##################################################
####         J O B    F I N I S H E D         ####
##################################################



Pause button. It's really that important? I can try.




Quote
Quote
I'm planning to make "wait until other jobs active" option.
Is it a queue?
Yes. It will recognize other RSC32Gui instances and running jobs. Option will be called something like this (user can change the quantity of running jobs, default will be 1):
Multi-Instance control:
Suspend new job until 2 other job(s) or more are still running/active.

(Or "Maximum running/active jobs: 2")


If someone launch four RSC32Gui instances. Chose folder....., and click START button - on each of them.
It will be something like this:

After one minute:
1) RSC32GUI   3% 323 seconds remain...
2) RSC32GUI   2% 950 seconds remain...
3) RSC32GUI   Status: WAITING
4) RSC32GUI   Status: WAITING

After few minutes:
1) RSC32GUI   Status: Success
2) RSC32GUI   45% 550 seconds remain...
3) RSC32GUI   7% 250 seconds remain...
4) RSC32GUI   Status: WAITING

After dozen of minutes:
1) RSC32GUI   Status: Success
2) RSC32GUI   90% 150 seconds remain...
3) RSC32GUI   Status: Success, Repairing is not required
4) RSC32GUI   3% 523 seconds remain...
« Last Edit: 2011 Jun 25, 04:49:32 am by Dam1an » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #18 on: 2011 Jun 25, 06:20:22 am »

OK
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #19 on: 2011 Jun 25, 06:47:00 am »

I will use monospaced font inside Log tab, for better look.
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #20 on: 2011 Jun 25, 09:10:59 pm »

When you implement paths please implement -sa switch. This looks for blocks additionaly in the path given by -sa[Path]. But be careful! -wr2"" and -sa"" with empty paths is not the same thing as absence of -wr2 and -sa
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #21 on: 2011 Jun 26, 04:01:46 am »

Quote
-wr2"" and -sa"" with empty paths is not the same thing as absence of -wr2 and -sa
Could you provide more detail? Example?

What's the purpose of "-poPath" switch in "----- Reed-Solomon Group -----"?
I'm asking because we already have "-wrrNN-MMM-Path", "-crrPath"  and "-rrrPath"


Revision 31 (from yesterday)
Added:
"-wr2" - Option in the settings tab (Second working directory for swap files).
Available options:
"The same as first" (= "-wr2" absence)
and custom path

- Modified ending marker:
Code:
"Totally completed in: "+ gettotal + "s\r\n"
##################################################
####         J O B    F I N I S H E D         ####
##################################################

* RSC32GUI.rar (15.84 KB - downloaded 53 times.)
« Last Edit: 2011 Jun 26, 04:26:19 am by Dam1an » Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #22 on: 2011 Jun 26, 10:25:57 am »

Quote
Could you provide more detail? Example?
1) absence of -wr2. That means no special second path for swapping. Only first path given as -wrk is used.
2) -wr2 or -wr2"". That means use current path as second path. May differ from first path.
3) -wr2e:\temp. That means use e:\temp as second path. May differ from first path.

-wr2 is useful not only for three physical HDD, but also for two physical HDD.
Good example:
-wrkd:\temp -wr2c:\temp. This will swap from one physicall HDD to another all the time even without disk e:

Quote
What's the purpose of "-poPath" switch
path to repaired files. But always together with "RSC32_Repaired". Probably I will try to remove this some day but I really like it so i am not sure...



Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #23 on: 2011 Jun 26, 11:10:52 am »

Quote
Revision 31 (from yesterday)
Added:
"-wr2" - Option in the settings tab (Second working directory for swap files).

Two temp paths work well, but a small bug: while first is inactive the second is still active (to change).

Quote
Modified ending marker:
Goog, but what about an empty line before "totally..." =))) for aestetical purpose =)))
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #24 on: 2011 Jun 26, 02:54:28 pm »

Quote
while first is inactive the second is still active
You meant while job is active/running first option is grayed out but second second option isn't?
Anyway, I fixed this.

Quote
what about an empty line before
ok, ok.
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #25 on: 2011 Jun 26, 10:38:51 pm »

Quote
You meant while job is active/running first option is grayed out but second second option isn't?
Anyway, I fixed this.

Yeah

Quote
working directory for swap files, etc

Please change this to just "working directory for swap files", because RSC32 never uses any temporary data files or index files besides swap files
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #26 on: 2011 Jun 27, 08:41:58 am »

Dam1an

One little problem. It is theoretically possible that a file to be damaged but all blocks are valid.
So repairing is required but decoding is not required since all blocks are valid. The file just to be reassembled without swapping and decoding. Please take attention to treat this correctly.

Code:
------------------------------------------------------------------------------------------------------------------------

Recovery Report Generated by RSC32.EXE v2.87:
                                   
Access Errors....: 0
Reading Errors...: 0
Size Errors......: 1
CRC Errors.......: 0

***** Info from RecoveryRecord *****
Encoding Method..............: RS32_DFT
Number of Data Volumes.......: 62202
Number of Recovery Volumes...: 3110
Total Size...................: 771,304,800
Size of Volume...............: 12,400
Redundancy...................: 5%

Memory Required..............: 24,800
Number of Threads............: 2
SSE2 Support.................: Enabled
MMX Support..................: Enabled
                                   
Finding has been done successfully in 33s
                                   
UserData Volumes Found.......: 62202 from 62202 (0 missing)
Recovery Volumes Found.......: 0 from 3110 (0 extra)
Recovery is POSSIBLE!

Decoding is not required

====================
test\test.avi                          Repaired

Repairing has been done successfully in 1m 14s
Total Repaired: 1

Totally completed in: 74,6174528s
##################################################
####         J O B    F I N I S H E D         ####
##################################################

Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #27 on: 2011 Jun 27, 10:01:21 am »

So if I had file (DATA.DAT file) and I want achieve 'Size Error' and 'UserData Volumes missing: 0'
I must do this:
1) create table and recovery volumes
2) append dummy data to DATA.DAT file
(
copy /b "DATA.DAT" +"1MB_dummy.DAT" "DATAcorrupted.DAT"
del "DATA.DAT"
ren "DATAcorrupted.DAT" "DATA.DAT"
)
3) rsc32 -rrr

Is that correct?
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #28 on: 2011 Jun 27, 11:07:05 am »

Revision 32
"Decoding is not required" handled.

* RSC32GUI.rar (15.92 KB - downloaded 101 times.)
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #29 on: 2011 Jun 27, 11:37:21 am »

Quote
Is that correct?

Unfortunately, this is not correct because partial block cannot be found =(((.
This will kill the very last block.

Try following:
copy /b "1MB_dummy.DAT"+"DATA.DAT" "DATAcorrupted.DAT"
Logged
Dam1an
Planner
*

Karma: +0/-0
Offline Offline

Posts: 14

GMT+1


« Reply #30 on: 2011 Jun 27, 11:43:08 am »

Well, it didn't kill last block. I got "Decoding is not required".
Logged
persicum
Moderator
Serious Business
*****

Karma: +2/-1
Offline Offline

Posts: 122


« Reply #31 on: 2011 Jun 27, 11:57:11 am »

Quote
Revision 32
"Decoding is not required" handled.

Thank you, it really works. But TotalProgressBar is not very accurate... Doesn't matter? I know it is difficult to predict the TotalProgressBar
Logged
Pages: 1 2 3 4 All   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 1.331 seconds with 19 queries.