-
-
Notifications
You must be signed in to change notification settings - Fork 420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add new contributor #300
Comments
I'd be interested, especially in building out a web UI for the dupeGuru backend. |
Awesome! Is there any way I can help? Is the developer documentation good enough to get you started? What we can do is that I'll try to hang on #dupeguru on freenode as much as possible and when we happen to be there at the same time, we can discuss our plans further. |
I'll need to spend a couple of weeks to get used to the codebase. I'll be available on the weekend to hang out on IRC. Feel free to email me with any specific details about the codebase. |
There it is. Cool tool. I will be cloning and trying to compile for mac. Python is not the issue, Cocoa is :) But mac would be my focus. I'd be happy to improve usability there. |
maybe it makes sense to abstract dupeguru's logic to a cli tool that can be used with a web frontend? |
@patrickatamaniuk great! let me know if anything blocks you. @imsky a web interface could be implemented independently from a CLI, but yeah, a CLI would be cool. See #288 reference. |
@hsoft text is the ultimate interface 📖 |
I'd also enjoy this, Your software is exactly what I've been looking for, and have some ideas for it. But first, I should learn. I'm an old woman, and I used to (still do, but old) degree in CS. |
@eossipov good, let me know if you're stuck. If you're unfamiliar with Python, dupeGuru might be a big step though, but there's plenty of Python tutorials around. You should be able to manage. |
I have some programming knowledge, from Fortran 3 in high school (yeah, I'm that old :) ), through to some C/C+ and basic, and even Python, I even discovered I like PERL (scary). So, I am looking at this like a beta tester. Scenario: I have three external drives from my father, Before he died he had almost full blown Alzheimer's. He made copies of copies, copies of resized pics, and so on. The first drive I am working on is a little over 400 gig, about 180k image files scattered across 4000 directories. First run ... about 60k files. It took 4 hours, maybe a bit more. It found something in the range of 42K dupe files. Yeah, that's how bad things are on these drives. So far, I have one request. A pause/resume button ...l that would be handy as it would help free up the computer so I can do other things without the CPU (or HD) trying to accommodate more than one CPU or HD intensive applications. This is not so much a request as me just wondering how feasible it would be ... there are a variety of picture viewer applications, I use the one that comes with Windows (10). Is there any way of feed these apps the image file location(s) so one could preview the dupes visually, quickly, and easily. Though I have to wonder how that would work in a situation like mine. Just some thoughts from this first batch. Thanks |
@InQuistve if you're interested in working on incremental scanning (pause button), you might want to look at #241. There's also @patrickatamaniuk who's interested in this. If you need help setting up your dev environment, poke me! |
I might be interested in the new year. Really busy with father-in-law in hospital with broken hip. But I am impressed with the product so far. I have a quad core, so impact is not that bad all things considered. And as you can tell by the numbers, I still have a lot of dupe searching left :) |
@hsoft i pushed feature/incremental to my fork - if you take a look at this whenever you get time, it works for me so far (build on cocoa, pe only, qt should work, but is not tested). It is not production-ready, though. I'd appreciate your comments or questions. |
@InQuistve in #241 i am describing a workaround to the pause button, it might help you. Dont hesitate to contact me. One issue though - i do not have windows and propably never ever will :( |
@patrickatamaniuk it's looking good! There will be some cleanup and line-by-line review involved before merging, but I like what I see so far. That incremental scanning thing will be an interesting addition to dupeGuru. The only thing that bothers me is that there's multiple issues being fixed in the same branch (incremental, "borg" optimisation, pre-optimize chunks). I'd appreciate if they were on separate branches and had separate tickets. We'll also need a new ticket for the incremental scanning because it turns out to be quite a different feature than what is described in #241. We'll then use this ticket for more thorough comments/questions. Sounds good? |
sounds good! The new ticket would help to discuss the architecture - i'd rather not merge too early - the code is meant as a technology I put all those changes in one branch because they seem to be On Mon, Jan 4, 2016 at 4:52 AM, Virgil Dupras notifications@github.com
|
Howdy! Are you still looking for a hand with the awesome line of DupeGuru software? I've been growing a lot as a developer lately and, I think it'd be cool to be apart of the team. |
Hi @lifeluvr. Sure, welcome aboard! The biggest challenge is to find something you'd like to work on. There are a couple of issues marked as "mentored" which can be good starting points, but really, anything that motivates you is fine. Normally, the documentation should be enough to set up your dev environment. Let me know if you're stuck. |
I would be interested in trying to build an Windows version using MSys2 environment. Tim S. |
@stahta01 great! let us know how it goes. |
I failed to build using the MSys2's mingw-w64-python3 64 bit package. Tim S. |
I have successfully built and run on Windows: And here is the test result: But how do I create Windows release? It seems that |
@eight04 yeah, I removed it recently because the solution was based on an old and proprietary software, "Advanced Installer". If you happen to have a license to this software, you can always dig in recent commits to bring it back, but I doubt that this is the case. Windows packaging has to be rebuilt from scratch using open source solutions. |
I am interested in contributing also. |
@1kakarot No. Here is my set-up:
|
@eight04
Now let`s code and see... PS: Ubuntu was also tricky, concerning the environment and pyqt5 package. bootstrap stopped on pyqt5. I installed pip3, Qt Creator, I upgraded from 15.04 to 16.04, in order to get the latest PyQt, I installed the requirements without making a pyvenv and it compiled. |
In case someone needs that, below is my successful build steps in Windows: Environment
Start from here
My interests (with priority) would be
And today is my 3rd day for coding Python. |
Hi @hsoft I'd quite like to help. I'm decent with Python, maybe you have a small to-do I could take on for starters? |
@SomeGuy54321 great! There's the "mentored" label that is supposed to be for good starter issues. I don't update it often, but there's a couple of them already. I suggest you start by looking at those. |
I have been learning python, and I am starting on pyqt. I just needed a duplicate file finder and learned that you need windows support. I cannot be too much use, but perhaps I can take a look and learn more about how to use qt at the same time. |
Thanks for you offer @marsfan, you might want to look at @thekhalifa's branch, he started working on an NSIS setup. However, his work stalled lately, I don't know why. |
I've been browsing the code and your excellent flow description on the website. I have a fair background with Python, Perl, CGI, user documentation, and related technologies. I'ld like to at least contribute, will take a better look at an issue or two and send a PR. I'm primarily linux based, however am quite familiar with Windows 10 in this context. |
@stephenbhope great! let me know if you're stuck somewhere, I can probably help. |
I've been working on some snap packaging for another project and would like to create a snap for dupeguru. It builds the snap directly from the git release. When I've got it fully prepared I'll post the link for approval before publishing it. If anyone isn't familiar with snaps: https://insights.ubuntu.com/2016/06/14/universal-snap-packages-launch-on-multiple-linux-distros/ |
@stephenbhope This would be really nice! It would allow users outside of Ubuntu and Gentoo to run dupeGuru without having to build from source. |
I've assembled the snap at
https://myapps.developer.ubuntu.com/dev/click-apps/7324/rev/2/ I need
a 256 x 256 icon if you have one handy, I could stretch the 128 one as a
last resort. Also a preferred email for you, Virgil if you don't want
to same as for the dupeguru PPA.
…On 2017-03-24 08:41 AM, Virgil Dupras wrote:
@stephenbhope <https://github.com/stephenbhope> This would be really
nice! It would allow users outside of Ubuntu and Gentoo to run
dupeGuru without having to build from source.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#300 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AYu56MLNH73UtHMRXNMyhmU5xu105Mfzks5ro7nzgaJpZM4D_AhZ>.
|
I unfortunately don't have a 256px version of that icon. Back in the days when it was done, we didn't need that kind of resolution and the person who created it has lost the original file. I don't have a Ubuntu one account so I can't really see what's in that link, but I'm confused nevertheless. Isn't it possible to build snap packages without a third party service? I thought that you would produce packaging code that would allow us to do something like |
Ill stretch the 128 from images.
My understanding of the snap flow... the snap is compiled on a local
machine, snapcraft then builds the snap directly from github / release,
grabs all the dependencies etc, and packages as a snap (more like a deb
than a PPA). The snap is registered to the snapper's launchpad account
(like a PPA) additional contributors can be added to the snap giving
them access to the management functions for the snap.
- create and test snap
- push snap with dev containment
- finalize info < - this is where I am at
- publish snap on Ubuntu Store (making it accessible)
- change from snap dev to stable containment
Once the snap is live the advantages become even more apparent, its a no
further configuration needed solution, ideal for less experienced users.
The snap itself can be configured to stay static to that release, or do
a daily check of the git repo for new releases, rebuilding the snap and
dependencies with the updated release unattended.
The snap file itself dupeguru_4.0.3_amd64.snap can be published to anywhere or distributed outside of the store, and can be installed with 'snap install dupeguru_4.0.3_amd64.snap' no further steps needed.
…On 2017-03-24 01:53 PM, Virgil Dupras wrote:
I unfortunately don't have a 256px version of that icon. Back in the
days when it was done, we didn't need that kind of resolution and the
person who created it has lost the original file.
I don't have a Ubuntu one account so I can't really see what's in that
link, but I'm confused nevertheless. Isn't it possible to build snap
packages without a third party service? I thought that you would
produce packaging code that would allow us to do something like |make
snap| and end up with a dupeGuru snap package.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#300 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AYu56NmSg8x9W2L0R3lJAUzs6mIPdE3Eks5rpAMngaJpZM4D_AhZ>.
|
Sounds good. You can use hsoft@hardcoded.net. I'll register an account with Ubuntu One later. |
I've merged @thekhalifa's work and dupeGuru 4.0.3 to release a dupeGuru Portable over ->here. The source is available ->here. |
@stephenbhope I finally found the time to go look at the snap package page and I must be blind or something, I can't see how the snap is built. According to https://snapcraft.io/ , there's some kind of meta |
Hi @hsoft. Thanks for dupeguru. I'm interested in contributing. The languages I'm familiar with, in order of decreasing familiarity/ability, are JavaScript, Java, Python, C. I've never had a dev job (though I'm working on that), but I'm comfortable with version control and git. I'm most interested in contributing in C, though I'm more or less a total beginner. How can I help? |
@smk291 welcome aboard! I unfortunately don't have a definite direction for you. The biggest needs right now are more on the side of MacOS/Windows maintenance than development itself. I myself don't use dupeGuru much (or at all), so I don't really know what should be developed. I guess it depends on your own inclinations. If C development is what you want to do, you don't have much of a choice: only the picture matching algorithm is in C (see https://github.com/hsoft/dupeguru/tree/master/core/pe/modules ). The picture matching feature of dupeGuru could gain a lot of speed by converting a bigger chunk of the algo ( https://github.com/hsoft/dupeguru/blob/master/core/pe/matchblock.py ) to C. That might be a task that you find interesting and a lot of users would benefit from that work. |
HI all, been quite busy recently with testing for Zesty, and a new Machine Learning / AI standard environment, I've put the snap ON HOLD for now, as I'm kinda in a first past the post license race. I am available to lend a hand on general Python and packaging stuff, @me :) |
@hsoft Would be happy to help out the project if you're still in need. I saw that you mentioned needing a Mac developer, I can help out in that area. |
Yes, and I've recently extracted the Cocoa UI from the main repo into https://github.com/hsoft/dupeguru-cocoa , making it easier to give it out to someone else. |
@hsoft I have been working on getting windows builds working and have been successful with 32 and 64 bit builds on Windows 10 64 bit. I have been using python 3.5.3. I have a mostly working NSIS script as well at this point, which I am working to polish off and integrate it with the packaging. To get builds to work for windows there were some changes needed in the Makefile. For windows do we want to use the Makefile or have a bat script instead? |
@arsenetar good! I don't see your makefile in your fork, so I'm guessing you haven't pushed it yet. Unless it significantly increases makefile's complexity, I don't see a problem with integrating windows support directly in it. If it does, maybe we can create a separate |
@hsoft I went ahead and committed the changes for the makefile in 3a2f865. Mainly just some differences between the virtualenv paths and shared objects. Windows is also going to need cx_freeze as a packaging requirement, do we want to make a requirements-extra-windows.txt or similar or just roll into requirements-extra.txt? If we move over to an nmake build then that will remove the need for msys and the changes to this file. |
The windows-specific requirements file used to be called |
* Update run.py & .gitignore for windows - Update run.py to execute on windows as SIGQUIT is not available. - Update .gitignore to ignore the generate .pyd files Ref #300, #393 * Update package.py for windows Add package_windows back into package.py - Using cx_freeze for freezing installation - Will be using nsis for actual installer Tested with python 3.5 64bit on windows 10 Ref #393 * Update makefile for windows (+2 misc) - Update the makefile to support windows - Use different bin path in virtualenv - Use pyd instead of so files - Tested with Msys2 - Add *.exe to .gitignore - Fix minor format error in package.py Ref #393 * Add requirements-windows Add the requirements-windows.txt - contains cx-Freeze for bundling Ref #393 * Add initial setup.nsi Initial Version of a NSIS installer script - Multi-user install (install for just one or all) - Registers uninstaller (more values need to finish up) - Tested both single and all install / uninstall and works - Still need to add parameters instead of hardcoded values in some spots - Need to clean up vendor folders / keys if empty on uninstall - Need to add the other dupeGuru languages to the language list - Minor cleanup of script needed as well Ref #393 * Update setup.nsi Updates to setup.nsi including: - Defines from CLI - Version information (MAJOR, MINOR, PATCH) - Bits (64 / 32) - SourcePath (if we wanted something other than build) - Added extra defines to move application specifics to one location - Added extra defines for uninstall information - Added calculation of install size - Added switching between 64 and 32 bit contexts (need to verify functionality) - Updated output file naming - Added NSIS supported languages which are also supported by dupeGuru - Added rest of registry keys for uninstall information - Added missing registry key for installType - Added removeing Vendor folder and registry key if empty on uninstall Should be very close to having this installer script ready to integrate into the package.py script if desired. Ref #393 * Update README & requirements-windows Minor update to README to indicate windows is supported. Add PyQt5 to requirements-windows.txt to make installation easier. * Update packaging for windows - Update package.py to integrate NSIS for windows - Update makefile to deal with a few additional windows issues - Add Windows.md to contain specific windows instructions, if we want this can be merged with README.md - Minor formatting update to setup.nsi Ref #393 * Update README & Windows Instructions - Update the README to include a reference to the Windows instructions. - Add some additional notes into Windows Instructions and remove one incorrect command. - Update .gitignore to ignore all permutations of env* to allow for multiple side by side virtual environments (used to build different versions for windows) Ref: #393 * Update Window.md Fix broken python link and move nsis link for consistency. * More Details in Windows.md Update Windows.md including: - Information on compilier requirements for windows - Notes about the windows 10 sdk - Some clarification around some of the steps - Addition of msys2 links Going to review this a bit more to polish it up. Ref #393.
I'd like to contribute to this project. I'm a web developer and I have some knowledge in python |
@d3vCr0w thanks for your offer. As I said to the other offers here, let me know if you have problems building dupeGuru. As for finding something to do, it depends on your interests. There's many open issues. |
I'd like to contribute. |
dupeGuru has currently only one maintainer, me. This is a dangerous situation that needs to be
corrected.
The goal is to eventually have another active maintainer, but before we can get there, the project
needs more contributors. It is very much lacking on that side right now.
Whatever your skills, if you are remotely interestested in being a contributor, I'm interested in
mentoring you. I've been saying so in the Contribute page for a while, but now I'm thinking it might be a better idea to adverstise the need for contributors in a ticket. This way, it's clear whether someone has answered the call or not.
So, if you would like to start contributing to dupeGuru but would like some guidance/mentorship, simply add a comment here, we'll get started.
The text was updated successfully, but these errors were encountered: