After spending quite some time working on funfem, I just decided to halt it for an undetermined duration. That's a bit sad but easily understandable. I work on finite elements all day long, and I just figured out that I did not have the motivation to work on finite elements again when back home, during my spare time. But how disappointing. Yet another halted project of mine.
I should dedicate this precious time on focusing on a completely different problem domain. Like programming languages design for example, to understand the common key notions and how they are defined in different languages, especially Haskell. Not that I want to create a language, far from it; I want to have a full understanding of the concepts, their advantages and disadvantages, how is polymorphism expressed, understand what is an arrow and why it is important, etc.
Another field I want to spend more time on is computer science. The corresponding project to contribute to is GHC. I think this is the best way to deeply understand and become better in Haskell. Compiler design and implementation is tough. I know nothing of it. But it's fascinating. The GHC team needs hands and brains to keep moving forward and stay afloat from the tickets. This is a way for me to say thank you to the community after all it gave me. I know it will be a time sink for me because I am a self-taught programmer: the only way to improve is reading, coding, and getting involved. So I'll start small, and see how it goes. I hope one day I can understand computer science papers and blog posts more easily. I want to understand key theorems, learn formal proofs and how to use them (with the assistance of Coq) too.
Having my own pet project is very important too, to get my hands dirty and face day-to-day situations. At the moment I don't have a brand new idea for a project to work on. Actually I have a plethora of ideas, but not one that really stays. The only one that doesn't want to leave is a website to manage wine, beers and other spiritus, with pictures, description, rating, etc. Can be fun and useful, at least for me. There are already softwares and websites to do it of course, the idea is not new, but it'll bring me a wide scope of fields to look at. Lots of small hackable pieces. Ideal for a home project. My hosting provider doesn't allow yet to run custom server instances, which is a bit difficult because the web frameworks for Haskell rely on their own server. Correct me if I am wrong, that would be good news. So I may resort to CGI, why not after all. Or write the haskell apache mod...
Evolution does not follow a straight path. The most important is to learn from our own failures.
November 28, 2012