Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Solicitation Of Ideas For "Time Capsule" Project

by Limbic~Region (Chancellor)
on Jun 17, 2005 at 13:11 UTC ( [id://467692]=perlmeditation: print w/replies, xml ) Need Help??

All,
I have an idea for a project that I think will be a lot of fun especially for relatively new Perl programmers. We have all written a piece of code to accomplish a particular problem and came back to it after some time had elapsed and thought "What was I thinking?".

I want to create a "Time Capsule" project where a non-trivial but not overly complex task (circa 50 LOC) is presented. All authors agree not to look at the problem or any of the solutions once they have posted their answer. After an agreed upon amount of time, the time capsule is opened meaning everyone replies to their own post with how they would solve the same problem now.

The trouble I am having is coming up with is a task that is easy enough for a new Perl programmer to solve while still being complex enough to exercise a number of Perl idioms, data structures, functions, etc. Since this will likely be the most fun for relatively new programmers, I figured the more seasoned programmers could have have a bit of fun too in proposing what task it is the time capsule will set out to solve.

Any ideas?

Cheers - L~R

  • Comment on Solicitation Of Ideas For "Time Capsule" Project

Replies are listed 'Best First'.
Re: Solicitation Of Ideas For "Time Capsule" Project
by ktross (Deacon) on Jun 17, 2005 at 13:33 UTC
    Perhaps a simple text based game like hangman might be a reasonable challange. It would require use of basic control and data structures, and character matching. No graphics required, just a counter of remaining incorrect guesses.
      ktross,
      Great idea! My guess is that depending on how long the time capsule stays closed, the replies would likely include graphics and a whole lot more without increasing the LOC. Given the idea of proposing several tasks based on skill level - do you have any other ideas?

      Cheers - L~R

Re: Solicitation Of Ideas For "Time Capsule" Project
by aukjan (Friar) on Jun 17, 2005 at 13:31 UTC
    First off I would second the idea of such a project.... But with some remarks:

    - I think that there should be some kind of 'lock' on the thread for the user who created the node in the 'lock'. Otherwise they will visit it and see what others think of it.
    - After a set period (lets say one year), the original user should get a notice ( and a link ) to post the new solution to the problem. Only after submitting this solution should he/she be able to see the thread.
    - When regarding the above notes, this should/could be an extra feature in PM so people can add there 'timelock node' at any time.

    As far as possible project ideas... It could be a number of things..... You could leave it upto the imagination of the author, or create a couple of categories for different skill levels...


    .:| If it can't be fixed .. Don't break it |:.

      aukjan,
      • I think that there should be some kind of 'lock' on the thread for the user who created the node in the 'lock'.
      • I am not proposing that this require any modification to the way the Monastery works now. You have to give a certain amount of trust to your peers or you take away the fun factor.
      • After a set period (lets say one year), the original user should get a notice ( and a link ) to post the new solution to the problem. Only after submitting this solution should he/she be able to see the thread.
      • I will personally be responsible for notifying all the authors that it is time to look inside. I trust that they will wait for that notification before looking.
      • When regarding the above notes, this should/could be an extra feature in PM so people can add there 'timelock node' at any time.
      • In general, people tend to lose sight of the original goal of having fun and get lost in the details. If someone else wants to champion a proposed change to the Monastery I am not going to stop them but I do not want it to be driven by this project.
      • As far as possible project ideas... It could be a number of things..... You could leave it upto the imagination of the author, or create a couple of categories for different skill levels
      • I don't like the idea of leaving it up to the imagination of the author. Part of the fun is comparing yourself to others and for that it needs to be apples to apples. I do like the idea of potentially having several tasks to choose from depending on your skill level so I hope people propose tasks covering a range of skill sets.

      Cheers - L~R

      • You have to give a certain amount of trust to your peers or you take away the fun factor.
        I agree that people will need to have patience and restrain themselves from checking what others think. But it is human nature to be curious and people will be tempted to check what others think of their programming (skilz). I know I will be tempted, but I will just have to put a filter in my proxy server to stop myself from accessing the Thread!
      • I am not proposing that this require any modification to the way the Monastery works now.
        Clear. This would take up much time and if we assume that people won't check ;-) there will be no need for an adaptation...
      • I will personally be responsible for notifying all the authors
        Good! So should there be a deadline before which the first post needs to be created? Or will you just parse the start-time from the node's creation time? That would be the most simple task. You could parse it if people will start their time-lock node with a specific subject. (eg: TimeLock: Level1 - Limbic~Region). This could even be one of the little projects.. (yours??)
      • Part of the fun is comparing yourself to others
        So very true (see Obfuscated Code or Code Catacombs). So yes, lets stick to having a couple of different catagories where people of the same skillset can enter their code and compare how they 'evolved' compared to their skill level compadres!

        I hope that many people will actually make these little programs. Looking back at code I wrote 3 months ago, there are already many improvements I would like to make! So how long would you suggest for a waiting period?? 6 months, 1 year, more?? I would say 6 months at least.

        .:| If it can't be fixed .. Don't break it |:.

Re: Solicitation Of Ideas For "Time Capsule" Project
by ghenry (Vicar) on Jun 17, 2005 at 13:24 UTC

    Sounds like fun.

    Could it be something to do with web scraping, then all OS's can take part. Maybe something to run against Perlmonks?

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!

      Converting Nodes You Wrote to a RSS feed perhaps?

      --
      b10m

      All code is usually tested, but rarely trusted.

        Exactly. Re: all OS, I meant not a filesystem task.

        It could easily be a number crunching task though.

        Walking the road to enlightenment... I found a penguin and a camel on the way.....
        Fancy a yourname@perl.me.uk? Just ask!!!
      ghenry,
      I am not ruling anything out, but I am looking for specific tasks. The idea is that Perl allows you to do a lot with a little. As we grow as programmers we learn the many ways to do it and begin to use the "best" tool for the job. If you can think of a specific web scraping task that is small enough in scope then by all means present it.

      Cheers - L~R

Re: Solicitation Of Ideas For "Time Capsule" Project
by danb (Friar) on Jun 17, 2005 at 22:25 UTC
    A simple address book program with display addresses, add new address, etc.

    --Dan

Re: Solicitation Of Ideas For "Time Capsule" Project
by polettix (Vicar) on Jun 18, 2005 at 22:32 UTC
    Perl (Mini-)Golf problems seem perfectly suitable: they're non-trivial, but you can surely afford them with a solution under 50 LOCs :) Of course, there still remains the problem of analysing the different "editions" to find one that best matches the final goal you propose (i.e. Perl idioms exercising), but I've to pass to the seasoned programmers here.

    Flavio (perl -e 'print(scalar(reverse("\nti.xittelop\@oivalf")))')

    Don't fool yourself.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (5)
As of 2024-04-24 07:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found