Woooh! I have not blogged about Roomie in a looong time! Just like I came to a dead-end with Roomie’s desktop client component and re-wrote it, I came to a dead-end with Roomie’s web component. I started out using ASP.NET, C#, and Web Forms. Web Forms made it really easy for me to do web development using my experience programming desktop applications with WinForms. Last year I reached the limits of what WinForms would offer, and I needed something more powerful. I discovered ASP.NET MVC, which was totally new and strange and awesome. But woes, the darn thing updates all the time! That’s great, except that I was learning MVC2 while MVC3 was in development.
After completely rewriting FRI from scratch (and renaming it Arcadia), I have decided to rewrite my other big project, Roomie. This absolutely needed to be done. Roomie had some good functionality, but I had hit the limit for its extensibility. Roomie’s engine was a monolithic blob of ugly code, with very little room to make it into a full scripting language with features like custom functions and if statements. My redesign of Roomie, which I call RoomieRemake for now, is completely expandable, is properly multithreaded, and has all of the potential to be a robust, featurefull scripting language. Just like Arcadia, I am proud to declare that RoomieRemake shares absolutely no code with its predecessor. Not even a single copy/pasted line of code! More on that in a bit, but first an end scenario:
I have a friend who is an open-source fiend, and so he nag nag nagged me to make the source code for FRI available for download. After a lot of re-organizing and commenting, here it is! The "Frie" project in the Visual Studio solution is the FRI back-end, stands for "Fantastic ROM Indexer Engine". Yes, it is pronounced "free" just like the front-end.
I’m putting this code out on the Internet, but please keep in mind that FRI is still my baby. If you want to make a derivative work, email me first for permission.