Blog Closed

This blog has moved to Github. This page will not be updated and is not open for comments. Please go to the new site for updated content.

Monday, May 5, 2008

Summer Plans

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).
  1. "Get a damn job." No explanation necessary here.
  2. Move in with my fiancee. Or, at the very least, move out of my parent's house.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
This is just a rough list, and I'm sure some of the things here are going to get tossed out the window. Plus, once I get my "damn job", my free time to do the rest of this stuff might dwindle to nothing.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.