windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v233/Hydrus.Network.233.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v233/Hydrus.Network.233.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v233/Hydrus.Network.233.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v233/Hydrus.Network.233.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v233/Hydrus.Network.233.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v233.tar.gz
I had a good week. The faster duplicate search algorithm is off to a great start, the OS X build is dejanked, and a bunch of bugs (including the recent problem with static gifs) are fixed.
faster dupe search
I went over my old notes for how I wanted to do this and remembered the actual algorithm it isn't as difficult as I thought. I now have a plan for how I want the new fast-search data structure (if you are interested, it is a VPTree) to be stored in the db, and I'm confident it won't be too difficult to get this done.
There is quite a bit of generation and maintenance code to add, but once that is ready I will be able to just swap out the existing slow dupe search algorithm (which needs 200,000 db hits for a db with 200k files) for the new one (which I expect to need something like a couple dozen).
Once we have access to fast dupe search, I will explore adding some sort of 'show me dupes in my db' and 'do this with my dupes' functionality. I'll also eventually be able to add some basic video comparison when I get around to adding a system for animated thumbnails.
I'm ultimately very pleased with this so far.
os x release improvements
The OS X release now looks more like the others. The executable for the client is now 'client', and I've added the server, under 'server'. The app includes the server if you poke around but double-clicking it will still launch the client, just with the new exe, so you don't have to change anything. If you use the extract release, please update your shortcuts!
With the recent support for 'external' dbs (i.e. ones not under the install_dir/db), I would like to migrate the db out of the app release to make the app folder completely read-only (and hence make updating as easy as dropping the new version onto Applications). I need to add some robust db migration code first, but if you use the app, please expect your db to move to your home directory (something like ~/hydrus, but let me know if you have a big preference or there is some OS X standard I should follow) in the nearish future.
A user mentioned they had a permissions/chmod issue with the OS X release, but I couldn't repeat the situation. I have changed up the build process this week, so I might have fixed it by accident. Let me know if you experience otherwise!
full list
- made a plan for faster dupe search
- created skeleton of db tables for faster dupe search
- wrote out search algorithm for faster dupe search when the rest is ready
- updated search algorithm and skeleton to support a future multiframe (i.e. gif/video) similar files comparison
- the os x release now has 'client' as the main client executable
- the os x release now includes the server, under the 'server' executable
- added studio (128,0,0) and meta (0,0,0) default namespace colours
- the 'add all' button on the file lookup tag suggestions panel now will only ever add–it won't remove/rescind pend
- the password system now supports non-ascii input (be careful though, as even a subtle change in keyboard encoding that nonetheless may have the same visual characters will likely be considered a different password)
- fixed the 'nonetype has no dtype' rendering problem introduced by last week's 16-bit channel fix (this mostly affected static gifs)
- fixed non-null ratings changes in the numerical ratings dialog
- fixed culling and adding variables not initialising on the edit html formula panel
- fixed the htmlparser attribute fetcher to deal with both single value attrs ('id') and multiple value attrs ('class'). in the latter case, the many values will be joined up, as how they appear in html
- tweaked disk cache timings a little more to account for more scenarios–it now also reports itself to the shutdown splash screen
next week
I want to push faster dupe search most of all and then likely do some small jobs in the menu overhaul, the panel overhaul, and the new parsing script system.
On a different note, I completed an X-COM: Long War run this past week. I've been playing it exclusively since I think March of this year, and while it was a big time investment and an acutely stressful experience from beginning to end (especially as companion to HAPPENING ERRY DAY YEAR 2016), it is some of the best fun and achievement I've ever had in vidya. If you played the vanilla version of the game and enjoyed it, I highly suggest you check out Long War, even just to watch it. I caught some Ironman Impossible stuff on youtube and got hooked, and then I realised I had to try it myself. I only did a run on Normal, but it was absolutely worth it.
I now return to my backlog, which has grown even more impossible to overcome.