4 ms·
Years ago when Microsoft canceled its WinFS project, I began building the kind of file system that I wanted. Like other file systems, it had to be able to store
by didgetmaster 4y ago
Years ago when Microsoft canceled its WinFS project, I began building the kind of file system that I wanted. Like other file systems, it had to be able to store hundreds of millions (or billions) of files and keep track of all their data streams even when they became highly fragmented.
After just a few months, I had a base system that seemed to work pretty well. Then I wanted to be able to define meta-data tags and attach values easily to each of the files, then find all the files that had certain tags attached very quickly. This part took more time, but I had that working within the first year.
Since then, I have worked years on adding new features to the project (https://didgets.com/ https://didgets.com/) as each new idea comes to me. It now does database, logging, indexing, and other tasks well. For every task I pull off the 'TODO' pile and get it working, I seem to add two new items to the list.
I never thought it would be easy, but it has been even harder than I originally thought. But I love to program and enjoy getting an idea to work in code so I stick with it.
- ChrisMarshallNY 4y agoI applaud you, sir. I can totally relate. I started a fairly major project, assuming that it would take four years to take off. It took ten years, but it has taken off.
- didgetmaster 4y agoGlad to hear your project has taken off. There is still hope for mine, I guess.
- ColonelPhantom 4y agoIs there much, if any, platform specific code in there? It seems like the GUI is based on Qt5 already, which is cross-platform. Also do you have a commercial Qt5 license? I think some components, like QtCharts, are "commercial or GPLv3", so you need to be careful with redistributing. IANAL but not having a license would mean the GPL now dictates you should release your entire program as GPLv3, which I assume is not what you want, as the source code is not available anywhere.
- didgetmaster 4y agoThere is just a single module (couple hundred lines of code) that is platform specific. This can be easily ported to Linux and/or MacOS. I had a Linux version running for awhile, but just don't have the resources yet to support multiple platforms for every build. There are two separate pieces of the project. The 'Engine' code does all the real work of managing the data and executing the queries. The 'Browser App' is used as an Admin/Demo tool which uses the Qt windowing platform. The browser just calls the engine API and makes the data display nicely in the various windows and dialogs. I will probably open-source the browser code. I am still trying to figure out if and when I will release the engine code using one of the open source licenses. It really depends on if it can get some traction so that it is worth the effort.