Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.

Re: Finding a module to work on

by moritz (Cardinal)
on Oct 18, 2007 at 13:52 UTC ( [id://645717]=note: print w/replies, xml ) Need Help??

in reply to Finding a module to work on

So what are your interests? Networking? Parsing? Math? Cryptography? Databases? ...?

It's hard to recommend something without knowing more about your preferences

And finally: would you like to be the only maintainer of module, or would you prefer teamwork?

Replies are listed 'Best First'.
Re^2: Finding a module to work on
by johnlawrence (Monk) on Oct 18, 2007 at 14:18 UTC
    I'd not mentioned a specific topic because I find it hard to answer. To be honest I can be interested, or not, in all the topics you suggested.

    I'm not trying to be difficult (honestly!) I just find that some things catch my imagination regardless of the broader topic that they fall under. That was why I'd been looking for a list of options (either of new ideas or unmaintained options) until I had an 'Aha!' moment.

    As far as working with a team or not, I'd be happy with either, in fact as I'm looking at this as much for learning as anything else a team may be helpful, then again I am also used to learning by myself. So, yeah, either :)

      I'll try to present a module I'm working on in my free time, and if you (or another monk) are interested in it, I'll set up a repository where you can get the code.

      My inspiration comes from a simulation software called stella which I used in school, but which is closed source and, iirc, rather expensive.

      The idea is that you can create objects and specify their relation, which means that you can either say things like "acceleration = force / mass", or things like "velocity gains/looses by "acceleration"" (which is, mathematically, a derivation).

      A simple example for a falling stone might be something like this:

      mass: 1 # in kg force: -9.81 # in N acceleration: force / mass velocity: gains by: acceleration initial: 2.5 height: gains by: velocity inital: 0

      This will output a parabolic curve for height, and an linear for velocity. This is trivial to calculate manually as well, but if you want to add things like air resistance it's very hard to do manually.

      That means that you can model physical relations (and other things, but being a physicist I tend to forget them...) with only very little physical knowledge, and without knowing it you are actually writing down a differential equation.

      Solving that isn't hard (my prototype does that with Math::RungeKutta), the real work is manage the objects, ensure that values aren't calculated multiple times (to boost efficiency), and to create a usable API.

      Further along the way I see a serialization format (based on yaml, json, xml or the like), plotting of the results and perhaps a GUI.

      And I'm targeting the "everything is a library" approach, in Perl term "everything is a Module", so that large parts of the application (especially the modelling backend) can easily be used by other programs.

      Am working on this occasionally, and plan to release the first modules to cpan as soons they have a stable API (and are not too buggy).

      Interesting that you say that. I'm slightly digressing here, but I was looking at a creative writing forum recently where a student said they couldn't think what or who to write about.

      A fairly well-known writer (trying to be blunt and calling a spade a spade, etc) responded to this by saying 'there's not an awful lot of point wanting to be a writer if you can't think of anything to write about.' (I'm paraphrasing here, I think the sense was: ..if you haven't got anything you *want* to write about)

      I suppose you don't always know till you get there, how much you'll enjoy a project. But if I have a need to work on (or interest in) something it certainly helps motivation

      That really was less than 0.02 from me. Excellent meditation subject, though. ++

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://645717]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2024-07-13 21:52 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.