- "Get a damn job." No explanation necessary here.
- Move in with my fiancee. Or, at the very least, move out of my parent's house.
- Implement the Parrot Garbage Collector for GSOC. This is something I want to do for my professional interest, if for no other reason. It's shaping up to be a cool project, and I haven't researched this much since the beginning of my thesis. I still need to fax in some tax forms and stuff like that to Google, but that shouldn't be a big deal.
- Work on the Wikibook "Parrot Virtual Machine", which I started a few weeks ago and have been working on intermittently. I haven't even scratched the tip of the iceburg on this one yet.
- Get cracking on my Octave clone for Parrot. I've got a lot of disjointed raw materials, and I need to cobble them all together into a coherent package. Of course, after my thesis I'm so tired of Octave/MATLAB, I might delay this one.
- Write up some additional books on related topics, like "Automatic Garbage Collection" and "Perl 6 Programming". I also want to try my hand at a childrens book called "Learn to Program". Part of me thinks that I want to use Perl 6 as the implementation language because it's dynamic (so kids don't need to worry about variable allocation and memory management), a lot of it's syntax is linguistically-based, and it's free. Plus, I'm just a fan of Perl. Of course, I can't write a children's book on Perl 6 until there is a stable and reliable download that kids can access without needing to be super-users.
- I want to put together an expert system shell for Parrot. This would allow us to do things like port Prolog or CLIPS. It would also allow us to implement a make routine in pure Parrot. Writing up some classes for productions would be trivial, and from there it's just implementing the Rete algorithm, a knowledge base script, and a few other supporting routines. Once I do this, I would love to try my hand at implementing Prolog on Parrot.
- In a similar AI vein, I think I would also like to set up some sort of neural net classes for Perl 6. I have a sneaking suspicion that it would be trivial to model a feedforward neural net as a linked list of closure arrays. This would be especially true if I could set up some auto-threaded list operations on them.
- Work more on my javascrip gadgets for Wikibooks. My goal is to really lower the bar to entry for new authors. If I can teach myself some PHP and get set up on the toolserver, I might be able to do some really good work on this front.
- Implement Verilog on Parrot. Considering the implicit concurrency between modules, and the almost complete lack of ordinary IO (unless I add in a bunch of nonstandard stuff), this might be a huge challenge.
Monday, May 5, 2008
Now that school is out of the way, more or less, I want to start divvying up my summer time. Here is a list of things I want to do this summer, basically not in order (although the first few are the most important).
at 7:38 PM