The DirLister Project

So you have written that new, must have program. Let us see it here.
Post Reply
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

The DirLister Project

Post by Serban »

I'm going to say a few things about a project that has a long story: DirLister.
The project is available on Gambas Farm:
https://gambas.one/gambasfarm/?id=755&action=search
You can read the detailed story in "DirLister User's Guide", which is available in Apps directory, either through F1 or through the Help Button, as a PDF book.
Skipping the details, the App aims to solve a 2 tier problem I encountered:
  • (1) Finding something in an ~ 2 TB archive and
  • (2) Hard drive failure.
Searching through the forum, it seems that the second case is way painful and more spread than I would like it to be...
So, this is my approach on this matter:
1. We use the main drive anyway. Avoiding it is out of question.
2. Having an archive, is also out of question, at least when you really use a computer for anything else than just having a fancy toy on your desk.
3. Q: Is it mandatory to wear off TWO DRIVES in the mean time?
So, I came out some 20 years ago with the concept of Offline Archive Management.
That is: searching and finding things in my archive, without using the storage media actually, but using simple text/plain (MIME) lists. "Notepad" like files.
At first glance, this looks a very simple thing. Well, when I moved "to the real thing", it proved to be more complex than I thought.
So, I came with this solution.
It already helps me, BUT...
As anything else in the world, there is always room for better.
So here I am, making the project public.
Any ideas mostly related to PERFORMANCE, is highly appreciated.
I know that the app requires time to study so I'll do my best to do something to make things easier, since it already has over 1,800 lines of code.
I will soon upload a new version, 0.7.4, which is different than the current available.
Any thoughts are welcomed!
...
The cover of the DirLister:
DirLister-3D-Cover-29-03-2020.png
DirLister-3D-Cover-29-03-2020.png (530.68 KiB) Viewed 6266 times
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
User avatar
cogier
Site Admin
Posts: 1118
Joined: Wednesday 21st September 2016 2:22pm
Location: Guernsey, Channel Islands

Re: The DirLister Project

Post by cogier »

I have had a look at this program. I haven't quite worked out how it works but I will have another look later.

Observations: -
Line 7 Public CRLF As String = Chr$(10) & Chr$(13)
You can use gb.CrLf for this.

I saw no images as line similar to this point to a non existent folder
PictureBox1.Picture = Picture["/win/P-055-Programare-Gambas/DirLister-V-05.x/DirLister-V-0.5.3/Icons/Info-60x60.png"]

This works: -
PictureBox1.Picture = Picture[Application.Path &/ "Icons/Info-60x60.png"]
I have changed them all in the attached.

There are about 170 lines of code to resize the Form. Have a look at the attached, I have rearranged the Form layout and removed the whole Resize subroutine. I have added Splits so you can resize the 'File Manager' components. Hover the mouse over the black lines I have added.

I have switched from GTK to QT as it is faster.

In the help file you mention 'march' and 'february'. In English these should be 'March' & 'February'.

Sorry I have to go and make the Sunday Roast now, so let me know what you think of it so far and if you want me to pull your hard work apart any more.. :D
DirLister-0.7.3-CO-0.7.2.tar.gz
(2.14 MiB) Downloaded 363 times
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

Re: The DirLister Project

Post by Serban »

Thanks!
I'll have to take a look, but the code has changed. I'm about to upload the 0.7.4, where I removed the absolute paths, since I dislike this kind of approach.
This was a leftover from the early versions when there were many things I had to figure out how they work.
Unfortunately, working on test versions, sometimes makes me forget what I left behind...
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

Re: The DirLister Project

Post by Serban »

cogier wrote: Sunday 29th March 2020 4:50pm
Line 7 Public CRLF As String = Chr$(10) & Chr$(13)
You can use gb.CrLf for this.
Thanks, I discovered that later, after releasing it. Anyway, it's good to know!
cogier wrote: Sunday 29th March 2020 4:50pm I saw no images as line similar to this point to a non existent folder
Version 0.7.4 has the absolutes removed. I disliked that too, but at the time that was less important since I had the images allover the place.
cogier wrote: Sunday 29th March 2020 4:50pm This works: -
PictureBox1.Picture = Picture[Application.Path &/ "Icons/Info-60x60.png"]
This works even better:
PictureBox1.Picture = Picture[strIconsPath & "Info-60x60.png"]
;) :D
cogier wrote: Sunday 29th March 2020 4:50pm There are about 170 lines of code to resize the Form.
The event was used to trigger many other changes that were lost after commenting the lines, so the most important functionality of the file manager, is lost.
...
Thanks for the idea with the splitters. I had a long hesitation, I belive I even procrastinated some because I had to ponder if I need those.
Due to the particular functionality of this file manager, I wanted to prevent this kind of resizing, so I quit the idea of using splitters, although it is a nice feature.
Maybe if I can find a solution to resize the PicBoxes according to the context, I'll use those. Otherwise, they create more trouble than they help.
Actually, I never meant to create a file manager since it is useless, among file managers like DoubleCommander. I explained that in User's Guide.
It's there for a functionality that it is available only in DirLister, and nowhere else. THAT functionality, has gone due to those changes.
cogier wrote: Sunday 29th March 2020 4:50pm I have switched from GTK to QT as it is faster.
Bad choice! I use XFCE. And it is unlikely to switch to Qt. Takes endless hours to find the configuration I need and the functionality I already have on my computer.
I explained that also in the User's Guide. While I was still blogging, there were lots of articles on this subject so I forgot what I said, where, when...
Besides, I altready tried to move to some LXQT and had too many trouble with too many things so I gave it up.
What I need is a very stable machine. Nothing fancy. Effects, backgrounds, mean absolutely nothing to me.
cogier wrote: Sunday 29th March 2020 4:50pm In the help file you mention 'march' and 'february'. In English these should be 'March' & 'February'.
Typos...
I use a US KB layout but I write in Romanian so I use a "blind" layout. Sometimes I forget to synchronize things. Switching from one layout to another, sometimes brings this inconvenience. In Romanian they are common nouns so if I copied those from some sentence that was close, might be the explanation.
CONCLUSION:
Interesting ideas! Thanks!
I belive that any different perspective over the same thing, is a gain! :)
It is less important if I, or you, use the exact same idea. What really matters is the THINKING DIFFERENT process that is triggered! :)
Maybe in another project, I'll take a different approach.
... On a secoond thought: I surely HAVE TO test a different approach!
Afterall, that's the idea of programming: finding always new ideas to test, improve, then test again [...]. That's the fun, I guess! :)
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
User avatar
Serban
Posts: 39
Joined: Saturday 28th March 2020 8:17am
Location: Alexandria
Contact:

Re: The DirLister Project

Post by Serban »

Hello!
I uploaded the new version of DirLister: 0.7.4.
The version was almost ready on 15-04-2020, but I had some doubts about some performance issues.
I wrote about that in the User's Guide, but I thought I might find some workarounds while testing it thoroughly.
Unfortunately, it came out that there is only one solution...
Compromise between search speed and the amount of information displayed dynamically on the interface.
It seems that:
  • (1) Either I give up performance using the visual controls to show the progress, OR...

  • (2) I fake it somehow nicely, and move everything in background...

What I recommend:
IF you have a large archive and the generated lists exceed 50 MB in size, use Narrowed Search instead of common search.
Exclusive Search, will also work faster, since it deletes unwanted entries shrinking the results list.
Using those two search modes recursively, gets the best results.
The largest listing I used has over 800,000 items and 140 MB in size (about 800 GB archived files ~ 850 GB).

Enjoy using it!
The only thing necessary for the triumph of evil is for good men to do nothing.”― Edmund Burke;
It's easy to die for an idea. It is way harder to LIVE for your idea! (Me)
Post Reply