News Index
Not as much was done on MAFS as I had expected but I think there is no need to worry about the virtual deadline (Xmas 2003) yet. I believe I am almost done sorting out the few things I had been stalled on for the last two weeks and if so, I do not expect to hit another major difficulties for most of what is left to do.
In the meantime, I have started putting together a modest mod... Moonlight's Mod (Upcoming build: 0.42b-0.22g, 2004-03-03). It includes a much improved (better behaved) sparse implementation. Please forgive my initial quick-hack implementation!
I also updated the FAQs' How long will it take? with more concrete ETAs compensated for my initial dificulty level underestimation.
To take a short break from MAFS while I think about how to do tree insertions and validations, I decided to start a little diversion project, Moonlight's Sparse File Support (MSFS).
Someone of the forums requested sparse file support in eMule. Since MAFS is still a long way from being complete, I thought I should do this little mod as a diversion and to show that I am not only all-words. Given that I also often have quite a few very incomplete files preventing me from using my drive's space while I wait for files to complete, I thought this would be useful enough to be worth doing and easy enough so I can do it myself without delaying MAFS by much.
After posting the initial code on eMule forums' Code Snippets, a few issues popped up so I thought up a few extra additions to make this quick hack mod that seemed fine to me into a more complete and friendly one.
[I think there was more... like the sparse test tool at the Technical demo files (Latest: hash-tree benchmark, 2003-09-16) page... but I forgot.]
- [21h00] Done fixing HashContainer.cpp... but the hashes no longer match the previous ones for some reason.
- [14h00] The damage to HashContainer.cpp was a little more extensive than it seemed, but still only trivial stuff.
- [08h00] My Promise Ultra100TX2 on which my project drive was plugged decided to mess up. At least 6GB worth of data on that drive disappeared and some files got mangled. Which ones? I might never know. I will be spending most of my spare time assessing damage but I have already determined that damage to the MAFS code was minimal, limited to trivial code at the end of HashContainer.cpp. The August/September news archive file as well as various other auxiliary project files also got damaged but can be easily recovered.
Since I also use this drive for temporary eMule downloads, it is quite likely that the files I have been downloading got brain-damaged, I guess that will be one more reason to implement "Advanced File Recovery" capabilities into CS/ICH.
- Missed my prepaid cell phone renewal by 30 minutes because I read and replied to my eMule message board messages... had over $300 worth of unused airtime on it. I'll call customer support and see if I can recover any of it when I wake up from this nightmare.
- Update 10h50 : At least one thing worked out today... since it is my first time ever missing a deadline and had a paranoid history of checking the expiry date, I have been credited $200 now and was told the rest will be credited after authorization by a supervisor during the week. "This is the first and only time we can do this." Guess I should start using it more liberally from now on.
- Learned that I failed two classes, taking my overall grade from 3.18 to 2.85... yuck. I really should have taken the summer off.
- I feel like hanging myself but I have neither appropriate rope or a proper place to hang it from :)
- Update 09h50 : Feeling a little better now that I've slept on it.
- Updated the benchmark a little, see First test/debug/demo application for details.
- 14h50 : REALLY updated, some extra changes as well.
- 26h30 : Did some more documentation and code updates. Time to stop playing with the hash check - it works, will worry about the actual hash when the first modded mule will be about to be ready for pre-alpha private testing. Refer to the demo/benchmark's output for the actual compile settings used for today's final build. (I think it was 12 / 14 / 2 / 15) I will try not to play with this demo again until I am ready to demonstrate new functionality.
- It does not support links inside titles
- There seems to be no way of preventing extra pages from going into the Related Pages page. (I want to do the history with Doxygen and having all the monthly pages listed when there is an index file seems irritantly redundant. In principle, these should be simple mods so it should not delay MAFS by much.
- More code clean-ups.
- Re-arranged most of the documentation.
- Moved most of the non-code documentation out of the main code files.
- Completely re-arranged the layout. It should be a lot more friendly now.
- Started to review and implement CHashTreeCtrl to provide a better and more complete debug environment.
- Finally allows me to drop two pages wide template class argument lists since most of them are hard-coded (#define) at the tree controller level because we do not want users changing critical hash tree parameters just for the heck of it and make hashes incompatible.
- Even easier transition between hashes.
- Allowed me to see a few things that I can drop/simplify or need to change.
- Replaced singleton data class members by inheritance
- More memory-efficient since it avoids extra memory references to internal class instances.
- More computationally-efficient since it avoids having to add function dispatchers to bridge objects.
- Less glue code since functionality stacks up and most of it is required at every level going down anyway.
News Index
Generated on Sun Mar 7 15:02:12 2004 for Moonlight's eMule Hacks by
1.3.4