| www.Michael-Maniscalco.com : Blog |
| Home Blog Compression Sorting Papers References Links History Sudoku About me Contact |
|
February 7, 2007 Today, in the mail, I got my replacement stickers for my Rubik's Cube. I also got a new cube with it which is blank and needs stickers. The shiney ones that come with the cube wear off to fast. A lot of people might not be aware of it, however, I am quite a fan of the Rubik's cube. I work mine so much that they begin to fall apart when you twist them (I say them, plural, because I have several in several locations such as my home work space, next to my tv, on my desk as work etc.) But all those cheap ass stickers wear off with thumb movements. Ehh .... These replacement ones are much more durable. I don't know .... I just like it. I find they help me clear my mind. And at some 20-30 seconds per solve ... ;^) ... it doesn't take but one minute to clear my mind. Wait ... that doesn't sound like I intended for it to sound .... Given recent advances in MSufSort 3.X branch I am more convinced now, than I was when I began, that the advances in suffix sorting are now to be made in addressing the cache obliviousness of the quicksort where the quicksort sorts pointers to otherwise stationary objects. That is, quicksort has great performance in general thanks to locality of reference. But when quicksort is sorting pointers to objects which do not move .... i.e. stationary ... then locality of reference is pointless .... mostly. So, to make the modern suffix sorter quicker we must address the idea that quicksorts move pointers to stationary strings. Make the cache unfriendliness of that process improved and you improve the whole process. I made MSufSort 3.0's quicksort (which is ternary. 3-way) into MSufSort 3.1's quicksort (which is 7 way) and I saw an immediate 10-15% improvement in performance. Mostly, this is because you have to reference random memory locations less frequently. It seems obvious to me that this is the main focus in the future. But I have to make myself skip over this area of research right now and focus instead on the Mxx compressors. I have M99 done but with a small bug to find that it screaming fast and very effective in compression. Right after that (a few days) I am going to force myself to focus on the WAY overdue M03 compression algorithm. M03 is the first and only context based compression method for the Burrows Wheeler Transform. And, as the name implies, it is from 2003. (It's actually older. More like 2000-2001). But I've spent so much time and energy on MSufSort that I just have not had time to work on M03. Well, that bullshit has passed. Here it comes ... M03 ... If I finish it fast I can get back to MSufSort 4.x .... Oppp .... Neva's off to bed ... so off I am too ... January 29, 2007 We decided to skip the paper for the DCC in favor of making the paper better before releasing it. Having done that, I spent the majority of my trip to Bulgaria working on improving MSufSort and putting together fully functional versions of M99 and M03. MSufSort 3.0 was released as a beta from this work. M99 and M03 still need a little more time. Currently, I have too much *real* work and related deadlines so I can't focus too much on my own stuff. Most of these deadlines pass in the beginning of February so I hope to get back on track then. November 1, 2006 In an attempt to keep some level of productivity, I have decided to add a simple blog to the site. There are many things on the fire including the full blown version of MSufSort 3 and 4. Both of which have been completely worked out but neither of which is complete. Currently, I have switched tracks to complete work on time for the various Mxx compressors. This includes the old M99 compressor (which still rocks when compared to most BWT compressors). But more importantly, this includes the M03 algorithm which is the only context based BWT compression algorithm to date. Simon Puglisi and I are working as feverishly as we can to document this algorithm and present it to the 2007 DCC. And this is currently on the front burner. Sophie (my cat) has just jumped up onto the table and rolled onto her back. This means She desires attention. Neva (my beautiful girlfriend) is now fast asleep on the sofa which she will undoubtedly complain about in the morning as it always hurts her back. And my Cauliflower Soup is ready to take off the stove. So this is the end of my first blog entry. Have a good night everyone!
|