Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Perl Project Ideas

by artist (Parson)
on Oct 29, 2002 at 05:52 UTC ( #208678=perlmeditation: print w/ replies, xml ) Need Help??

Dear Fellow Monks

It would be very useful to all of us to know what we can do with the power of perl with us. We must have thought of the projects which can be done in perl. We are more interested in the projects which interests us. Only restricting thing would be time and resources and detailed knowledge as how to do in perl. I would like you to share such projects.

Let me start with my ideas. Sometime back, I had seen a beautiful application TheBrain. I wish for the interface in perl. Particularly I like the ability to create multiple parent thoughts for the child thoughts. I would like to give 'names' to the links too etc..

Another idea would be OpenMind. I like to have that implemented in perl.

I know about SorceForge and its Perl Foundry. We can at least start with the project idea listings before starting the real projects.

In my view point, since we have variety of background, some of us can pick up a specific idea easily compare to others. Having such project idea list would also boost us for mental challenges, what we have practiced so far.

Showing artistic ideas,
an artist

Comment on Perl Project Ideas
Re: Perl Project Ideas
by tmiklas (Hermit) on Oct 29, 2002 at 07:11 UTC
    Nice one... ++

    I suppose, that we are not short of ideas but short of time, and that's the main problem. Of course idea of learning the way you pointed is very good.
    Learning Perl is one thing. Another benefit should be ability to work in (large?) group of programmers, maybe some XP (eXtreme Programming - yup 'XP' is used way to common).
    For some time i'm working on ISO 9000 quality certificates, and also have some ideas, rather to discuss than to code, but... give me some time :-) and i'm sure it would also be interesting fot many of Monks here...

    Greetz, Tom.
Re: Perl Project Ideas
by erasei (Pilgrim) on Oct 29, 2002 at 14:32 UTC
    I am fascinated by robots. Not just over-the-top RC Cars, but "real" robots that control themselves. The chips that I use are usually some form of the Stamp microcontroller. You can now get a Java Stamp controller, I would LOVE to see a Perl Stamp. I have been using Perl for a few years, but have never gotten into the guts of the compiler to even know if such a wild idea is possible.

    Nonetheless, it'd be cool.

Re: Perl Project Ideas
by signal9 (Pilgrim) on Oct 29, 2002 at 15:09 UTC

    I have a lot of fun coding Perl to just about any application that allows for a Perl interface. My IRC client (XChat) and my AIM client (Gaim) both allow for extensions in Perl, which is an absolute riot, and allows for some event-driven programming, which is something I don't get much opportunity to do in Perl outside of Tk.

    Extending applications in Perl seems small until you start to think about what outside applications, etc., you can tie into. Databases, web servers, whatever. I don't know if any of this is earth-moving work, but it's a hell of a lot of fun.

Re: Perl Project Ideas
by rbc (Curate) on Oct 29, 2002 at 18:37 UTC
    I am IT type programmer with a video games programmer struggling
    to get out! I would like to see a computer graphics project(s)
    done in Perl. I have modules and some nodes in craft demostrating
    their use:
  • Lunar Lander
  • simple 3D graphics in Tk
  • Mandelbrot Set
  • Polygon Filling

    I'd eventually like to have a set of modules that can be
    used to create a Doom like video game.

    I realize that I might be guilty of suggesting the reventing of
    OpenGL, but I enjoy the learning process of developing software
    as much as using it. And the last time I checked the OpenGL
    Perl module wasn't ported to MS OS's yet.
Re: Perl Project Ideas
by rcaputo (Chaplain) on Oct 29, 2002 at 21:17 UTC

    Dear artist,

    You are right: There is no shortage of ideas and only few limits to Perl's capabilities. The main bottleneck to doing things is time.

    There's something I've learned while pursuing several projects: releasing them is a blessing (Yay, it's done!) and a curse (Uh-oh, people are using it, and they want features/fixes). There's never a point where you can stop sinking time into a project, unless you abandon the code or find people to adopt it.

    That said, I am the main author of a somewhat well-known library of Perl modules that has inspired a lot of ideas, "finished" and otherwise.

    Things I've managed to release:

    A collaborative crossword/chat server that allows people to work on AcrossLite puzzles together. A group of people in Ireland have used it to win prizes from newspaper puzzles.

    A multi-host ping monitor which lets you see the status of several routes at a glance. I use it to keep tabs on my Internet provider, which you can see from the screen shots.

    A combination bot and web server that lets people share Perl code without pasting it to IRC channels. Perl channels on at least three networks are currently using it.

    Another hybrid IRC bot/web server that gathers URLs from conversations and enters them in an integrated web log.

    Things I'd like to release someday, if I ever get the time:

    A Zope-like content management server, or at least a wiki.

    A MUD/MOO system that uses a secure subset of Perl for scripting. I've been able to write extensive documentation on this, but it's a very large project and hasn't gotten off the ground.

    A combined SMTP and POP3 server. I have most of the POP3 server done, but I haven't had time to write the SMTP services. I think a web interface for configuration and management would also be nice.

    A Curses based XFrisk client. I promised sheriff_p I would get the networking side of it done and haven't had time to integrate the networking code with the Curses based map.

    A high-level language for defining state machines, with filters that generate Perl modules and GraphViz diagrams of the logic flow.

    The Distributed Monkey Project, which would be an implementation of RFC 2795. Sometimes projects just happen for the fun of it. :)

    An infobot with hotsync between IRC and a PDA.

    Umm... those are the ones I can remember right now.

    -- Rocco Caputo / poe.perl.org

      rcaputo writes:

      A Zope-like content management server, or at least a wiki.

      I hear you. A starting point would be to make a perl equivalent or mini-equivalent of ZODB, the object persistence engine, which is really just one big file and an index file. Make a server that takes an object, serializes it with Data::Dumper or something else and appends it to the big file, and makes a note in an index file of the byte offset for that object id.

      Then add some higher level functions on that as rollback (find older version of object id in file and copy that to end) and compact (write new file with latest unique object ids, chosing the one last in file, overwrite old file with new file).

      Sounds very doable...?

      /jeorgen

        jeorgen writes:

        A starting point would be to make a perl equivalent or mini-equivalent of ZODB, the object persistence engine, which is really just one big file and an index file.

        The CPAN has several distributions that handle persistent objects. I'm not familiar with ZODB, so I can't say which would be most appropriate.

        On the home-grown side of things, I have a DB_File wrapper that uses DB_BTREE to provide multiple keys for a DB_RECNO list of records. It's old, pre-Storable code, though, so I haven't been eager to show it off. It's also incomplete: It doesn't support dropping keys or tables, it doesn't handle adding keys to a table with existing records, and it doesn't have undelete or pack.

        Speaking of pack, I also have part of a paged b-tree database driver that makes extensive use of pack() and unpack(). It was inspired by the note at the end of the pack() description in the first edition Programming Perl:

        Note that, although all of our examples use literal strings as templates, there is no reason you couldn't pull in your templates from a disk file. You could, in fact, build an entire relational database system around this function.

        They're right, but it's not as easy as that casual remark would make it seem. As key pages fill up, they must be split into smaller ones. That was just too much for me, and that's where the project sits today.

        These remind me of yet another project idea: A web catalog of all the little bits of code I've accumulated over time. I have a lot of half-baked ideas (see above), test cases, benchmark programs, and code doodles. Currently they're rotting in a directory without an index or any way for the rest of the world to see.

        If there's any one idea that could save the world, that last one would be it. I think there are a lot of good ideas rotting on coders' drives. A system to publish them would connect that stuff with the people who have the inspiration and time to develop it.

        -- Rocco Caputo - troc@pobox.com - poe.perl.org

Re: Perl Project Ideas
by jeorgen (Pilgrim) on Oct 29, 2002 at 23:32 UTC
    I've seriously looked into theBrain as something to store my company's and my personal knowledge in. Especially the enterprise version seems cool, with shared "brains". It maps directly to a thesaurus structure with Broader Term, Narrower Term and Related Term. If it could only dump out its contents that way too..

    Something like that would be very interesting.

    /jeorgen
    -not affiliated with theBrain :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://208678]
Approved by jarich
Front-paged by jarich
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (14)
As of 2014-09-30 19:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (383 votes), past polls