I have been able to conduct some effort into the modelshredder project, and after a little consultation with John Skeet I am considering merging it with the morelinq project. morelinq provides some very useful IEnumerable extensions such as ForEach to execute an Action on each element of a sequence. Since morelinq is licensed under the Apache License it will be necessary to re-license the modelshredder code (which is LGPL currently).
I think there are a lot of reasons in favor for such a project merge:
- morelinq has excellent code documentation and test coverage
- both projects have equal scope (IEnumerable extensions)
- simplified deployment for adopters of both libraries (one dll)
- broader base of maintainers/contributors
- Silverlight support for modelshredder
I have requested a code review on the morelinq mailing list and have incorporated the suggestions made. Until my code will be ready to be merged into the morelinq code base, I will have to write some unit tests and I want to further improve code documentation. The most notable change introduced is that modelshredder is dropping support for non-generic IEnumerables. Restricting scope to the generic IEnumerable interface makes the code a lot less complex and easier to read.
I do still have a lot of ideas for the modelshredder project and will extend it as soon as I see fit. Other than all those “future plans” for modelshredder, I have been able to fix some nasty bugs regarding invalid MSIL being generated. But I will leave that for another post.
It’s been pretty silent on my blog for a while. I have been busy finishing the iRow project and writing the corresponding paper, preparing and writing tests in school and holding various presentations there too. Since 21st of December I am officially on holiday and took some time to decompress and celebrate christmas with the family. I have had time to cross a lot of small things from my to-do list that accumulated since autumn, read some interesting books and make some software experiments.
My iPhone has started to behave somewhat “laggy” recently, taking too long waking up from standby when pressing a button, repeated hangs when using the virtual keyboard to write emails etc.
My device also had accumulated a lot of “history” in terms of apps I don’t use any longer but was too lazy to delete and has been jailbreaked once.So I decided it would be the easiest to just reset the firmware, went into iTunes and hit the restore button.
iTunes proceeded taking a full backup of my decvice and restored the firmware afterwards, which took an hour approximately. After I reactivated the iPhone, iTunes asked me if I wanted to restore my personal settings and sync my apps, leaving me to choose what apps should go on the device again and let me even sort them on the springboard from within iTunes (makes it so much easier!). After that I synced my music and pictures and I was pretty impressed with the result:
- No hacking required, everything easily click-through
- All my apps data was conserved (notes, gps trails etc.)
- All my email settings was still there
- My music was all there
- My photos were all there
The complete procedure took me probably half an hour, rest of the time waiting for iTunes to finish 🙂