Creating hbkcd (Handbrake Control Daemon) that will supplant hbkif atleast for now.
Adding FFmpeg build script.
Initial create of handbrake interface project.
Started working on a custom search dialog. The old one is still in placeuntil I finish working on the new one.
Minor but important search usability improvements. Adding caseinsensitive searching and removal of previous marks before starting anew search.
Remove instances of Gtk.idle_add() in favor of a trick I discovered forupdating the UI inline.
Minor formatting changes for running status output.
Adding non-verbose mode with "running" status information and progressbar. Also added terminate function in preparation of adding properSIGINT handling.
Fix simple but nasty memory leak.
Reformat CMakeLists.txt, use gold linker, reformat several errormessages to remove extra double quotes, and confirm path is regular filebefore adding to the input file list.
Additional minor output formatting fixes.
Fix minor formatting bug and improve error message handling.
Improve PCA post processing output message formatting.
Continued improvements to PCA; handle errors better, make number ofprocessing threads configurable, and reversed the "keep-orig" option to"delete-orig" which makes more sense.
Converted PCA to be multithreaded and use libpackjpg instead of callingthe old packjpg executable. This works much better! Need to handle a fewerror conditions and do some more testing with decompress.
Move includes to source file and add forward declarations in their placeso that the packjpg.h header can be used externally.
Fix library name and include path for install target.
Remove no-longer-supported MACs: hmac-ripemd160
Update upgrade_makemkv.sh to open the MakeMKV license webpage afterinstalling.
Adding generate_rows.py script.
Adjust parsing of mdadm output as apparently the format has changed slightly. Perhaps a more dynamic style of parsing should be used.
Add some debug to checker.py script.
Add quasi async behavior example which I what I really need.
Gah! Three spaces????!!!!??? THE HORROR!
Adding simple Python-based dbus example.
Adding ProtectedAndSynchronizedQueue.
Remove uneeded header file.
Rename top level and add install targets for library and header.
Fix pasto.
Finished up packjpg_simple utility to demonstrate that the libraryworks correctly.
Started making a simple test program.
WIP for libpackjpg reorganization: finished moving functions into thewrapper class
WIP for libpackjpg reorganization: moved all jpeg specific functions into the wrapper class
WIP for libpackjpg reorganization: stashing current progress so I can gowatch TV while working
WIP for libpackjpg reorganization: moved all main interface and mainfunctions inside the wrapper class
WIP for libpackjpg reorganization: moved all global variables to beinstance variables and converted a couple of trivial functions.
WIP for libpackjpg reorganization.
Reformat modified source files.
Adding unifdef'ed files and CMake config to build.
Adding "raw" packJPG source from the upstream repository (commit 59e8d45d463cfab96155ffccb77b1207b18c614b).
Adding git monitor script.
Merge branch 'master' of /home/dsorber/trac/projects/headquarters/repo
Minor updates after upgrading to Ubuntu 18.04.
Adding two misc scripts that have been sitting on my desktop for a while now. They may be useful later on, if I can remember they exist.
Adding FUSE readdir() example that I posted to the FUSE dev list.
Minor improvements to cleanup and open the password dialog automagically at start.
Adding upgrade makemkv script.
pwmgr v0.5.0 -- Added change detection so textview buffer contents will only be storred if they are changed.
pwmgr v0.4.0 -- Added save warning before quit dialog. Added improved state tracking. Finally, added progress pop on close to give user feedback while ramdisk cleanup is happening.
pwmgr v0.3.0 -- Improved security of encryption/decryption operations, bound ENTER to dialog OK buttons to improve ease of use, and implemented key bindings for common operations.
Revamped the lowercase_util and added two SIMD (128 bit and 256 bit) versions to lowercase an entire buffer. The SIMD versions are smoking fast (>21X faster on enthoo)!!!
Adding example "lowercase util" that tests multiple approaches to lowercasing an entire buffer.
Modified search so that the (first) matching term scrolls into view.
Bale out if the user clicked cancel in the password dialog.
Very first version of pwmgr. It needs lots of work but does the basics.
Adding initial version of pwmgr which originates as the textview.py example from the PyGTK documentation.
Remaking a few changes that seem to have been missed in the merge (?).
Updated packJPG to latest merged version. Also updated PCA CMake to build packJPG as an external project.
Adding the all important "-march=native" compile flag to the packJPG CMakeLists.txt.
Merge branch 'master' of baranovich.homelinux.org:/home/dsorber/trac/projects/headquarters/repo
Moved things around so that the main thread breaks off pieces of work and hands them to the threads. This version has less than half the runtime of the previous version for the Photos library test set!
Adding simple program that computes the cosine similarity of two ClusterNode structures.
I finally found the mystery error that I've been trying to figure out for a while now. The issue was the dreaded too many file descriptors open. This was caused by not closing the pipe() file descriptors from the parent. I also noticed that handing each instance of packjpg the maximum number of files it can take leads to problems. I guess this is also a cause of "too many file descriptors open", so I have limited the number of files handed to each instance of packjpg to 40. The entire program now runs to completion using my Photos library as a (quite large) test data set!
Adding header file that I forgot to add last time around. I also finished up a multithreaded version of the make random nodes script that can create 1 million nodes in ~20 seconds.
Adding preliminary code for making random nodes.
Fixing the bug I discovered yesterday... I meant to use rfind() instead of find(). I should be ready for another full test.
WIP commit, stashing these debugging changes so I can go mobile.
Finished up the changes to make argv a std::vector instead of a regular array. I also implemented the changes to control the size of argv based on system configuration and potentially spawn packJPG multiple times in order to handle a very large number of files. I ran a test on my Photos library and it sort of worked but I ran into some issues that I still need to diagnose.
WIP commit. I started converting the argv list to a std::vector and adding logic to make sure it does not exceed the maximum argv size.
Adding initial CMakeLists.txt. This version only builds PCA, it does not (yet) build packJPG as a subproject.
Removing accidentally added object file and adding a .gitignore file to prevent me from accidentally adding another one in the future.
Adding an optimized version of the packJPG source to the source tree for this utility since it is entirely dependent on packJPG. I started to modify the Makefile but really I shoud just use CMake. I'll work on that next.
Adding some minor edits along with a bit of debug code.
Adding proper option parsing and some general improvements. I've added an option for decompression but I still need to implement it.
A tiny bit of cleanup from my previous commit...
I figured out a somewhat silly, but highly effective way do progress reporting. The basic idea is that we know the output file names and the exact order in which they will appear. Therefore if output X+1 exists on the file system it means that output X is already complete. Now the worker thread polls the file system waiting for the output files to appear and then processses them instead of waiting until the forked subprocess terminates. In basic testing it appears that this mechanism is about the same speed as the previous version that does not include progress reporting. This implementation is cross platform and doesn't suffer from the problems of inotify (Linux only) or kqueues (BSD/Mac OS equivalent of inotify that requires an open file descriptor for each monitored file). I still need to implement input option parsing and a decompress mode so I can do proper testing.
Well I fixed my bizzarre problem last night. It turns out that I was building the argv list for each forked process from the main input file list instead of from the sub list passed to each thread. Now PCA runs in a much more stable fashion. Next I'd like to add some sort of progress reporting and also decompress support. I had the idea of using inotify on the output files (since their names are known a priori) however inotify is Linux only and I haven't yet found a drop in replacement for Mac OS.
Adding my initial PCA work. This project depends on packJPG. I see intermittent issues and I'm not sure if it is caused by my code or by the packJPG code.
Correcting memory leak cause by not calling sqlite3_finalize.
Updating the templatized query PoC to support the case where integer or float type columns return NULL and should be treated as 0 and 0.0 respectively.
Another minor tweak to the makefile to add the useful "-f" flag to rm so that it doesn't puke if the file(s) you're attempting to remove don't exist.
Minor tweak to makefile to delete the executable on clean.
Adding a boolean helper function to my proof-of-concept.
After much contemplation I realized that my previous approach to solving this execute query template function problem was more wrong than right. Several days of staring at and reading about variadic templates later I figured out the correct way to accomplish my goal.
I finally got back to working on this POC, and I was able to get it mostly working. The only issue right now is that the template magic is attempting to create code for which the types don't match and don't cast decay nicely. That is if you try to assign a std::string to a tuple. Hopefully I can fix this with a bit of massaging.
Modifying my support scripts after upgrading phalanx.
Minor updates to the checker script to include full paths for the utilities that it calls.
Adding a bit of color to the display script. Also making some updates for the refreshly reinstalled server.
Making the compressor side multithreaded.
Improvements to the lepton wrapper script, developed on Mac OS.
Created basic lepton wrapper script.
Adding client-side security cam script.
Adding a very simple unix domain socket example client and server.
Fixing a silly bug where I renamed a function as a variable in my checker.py script.
Adding the first version of my "checker" script.
Adding configuration for saga and compeltely unrelated preproc script.
Adding the "make SSH secure" script I wrote based on the recommendations from that web page which I should probably cite in the script...
Fixing a minor issue I found where "df -h <device file>" no longer returns the information for the specified device file. Instead it seems to return udev for /dev/sda1. Anyway, I fixed the issue by piping the output of df to grep.