Dak Posted June 19, 2007 Posted June 19, 2007 i've looked into altering some code (mainly for learning), but my god is it a morass of confusion if you're a noob Does anyone know of a simple, prefferably python, program with moderately simple code (no heavy maths, no millions of files, no complicated programming techniques) that's good for a noob to pick up an alter to get a 'feel' for it? nethack and Aspell would be good examples of what i'm not after mainly, i want some practice with compiling, making and using diffs/patches, etc, and basic experience with finding my way around someone elses code. it doesn't need to be a program that i could make useful modifications to (tho i suppose a simple program with lots of open bugs would be kinda cool, so my learning may actually be productive). so, yeah, i've looked and found lots of confusing programms that are currently beyond me, so i'm looking to start off simple. any suggestions?
Aeternus Posted June 19, 2007 Posted June 19, 2007 Just about to go to bed, but I figure I might as well list a small python project a friend maintains which might suit your needs - http://andrewprice.me.uk/projects/pybackpack/ .
abskebabs Posted June 19, 2007 Posted June 19, 2007 i've looked into altering some code (mainly for learning), but my god is it a morass of confusion if you're a noob I'm sorry to be pretentious but the correct expression for what you are referring to is a newb, not a noob. The latter is usually referred to ppl who may not necessarily be profficient at what they are doing, but think they are, and in the process pester and annoy others in various ways. This is as far as I am aware anyway:cool:
foodchain Posted June 20, 2007 Posted June 20, 2007 I would just pick up video games from say a pawn shop that are technically fossils, or happen to be produced by say companies that don’t exist anymore. It will just be lass trouble if you get into any. Plus my advice is just on the note you want to have fun and not cause any damages. From personal experience with such, getting into hexadecimal and all kinds of weird voodoo, then of course some games will fire or attempt to shoot fatal errors into your computer, then when you get it back online everything’s in some blood red color, in short its a lot of fun.
Dave Posted June 24, 2007 Posted June 24, 2007 Dak, my suggestion is to think of something that you want/need to code that is reasonably simple, then do a google search. Chances are that you'll find an open-source project that already does what you want, and you can start hacking away. At least, that's what I did. I would just pick up video games from say a pawn shop that are technically fossils, or happen to be produced by say companies that don’t exist anymore. It will just be lass trouble if you get into any. Plus my advice is just on the note you want to have fun and not cause any damages. From personal experience with such, getting into hexadecimal and all kinds of weird voodoo, then of course some games will fire or attempt to shoot fatal errors into your computer, then when you get it back online everything’s in some blood red color, in short its a lot of fun. Hmm. Don't think that's quite what he's after.
Dak Posted June 24, 2007 Author Posted June 24, 2007 yes, i was after something somewhat higher-level :-/ thanks to everyone for their suggestions (aswell as the noob v newb, tho i thought it was n00b that was offensive). tbh, i'm going to just learn some more first, then try again to find a simple program to alter. I do actually have something in mind: a program that gets passed words, and returns short (1 centance) strings that either define the word or put in in context, so that spell checkers can go 'did you mean weather (rain) or whether (whether or not)', as oposed to their current behaviour -- 'did you mean weather or whether' -- which is of little use to a dislexic I'll probably just wright that with a small database of words (whether|rain, etc) as a 'demo', then try to alter something like Aspel to use it... kinda like: program: hey aspel, what could wever mean? aspel figures out wever could mean whether, weather, or weaver, and asks my program what they mean my program returns whether|rain, weather|weather or not, weaver|someone who weaves, which aspel then returns to asking program. dysloxic is happy at actually useful spell-checker so yeah, hopefully after doing that i'll be a bit better at coding, so should maybe be able to make heads and tails of big programs...
bascule Posted June 27, 2007 Posted June 27, 2007 I'd suggest: algorithms. For those of you who don't own Knuth's books, a good place to start is simple data structures. Try to implement a binary tree. A general balanced tree. An AVL tree. An r/b-tree. A b-tree. A 2,3-tree. A skip list, a hash table, etc. While your implementation will quite likely be much slower than the language's built-ins, this will get you thinking about how you structure conditions, loops, etc. Beyond that, mathematical algorithms are fun. One of my first forays into non-SQL declarative programming (in Erlang) was the Sieve of Eratosthenes, and the solution almost astounded me in its elegance. I'm sure you can find a similar declarative solution to the Sieve using Python list comprehensions: http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
Dak Posted June 27, 2007 Author Posted June 27, 2007 i tried the sieve of arthurmitsit after the last time i heard you mention it, and thought it was quite fun. the other stuff, i'll remember for when i learn C, but for now i'm quite up for actually getting stuck in and doing something useful. i've got the basics of my proggy going, and it's (sortof) working from the CLI: dak@dak-xubuntu:~/Desktop/Dev/disloxic/code$ python disloxic.py wether weaver whether weather wether|castrated sheep or goat weaver|someone who weaves whether|whether or not weather|rain dak@dak-xubuntu:~/Desktop/Dev/disloxic/code$ twas quite easy, main problem's getting it to work as a module, as a stand-alone from the CLI, or as a stand alone 'service' (i.e., another program calls it repeatedly during a spell-check, and keeps passing it words, and getting the strings returned). the latter, i haven't done yet... am i right in thinking i'll have to research pipes? :-/ then, i guess, i'll have another look at some spell-checker programs, and try to modify them to use my program... (tho i'd still be interested in any easy-to-modify programs for practice, tho i think i'm going to go for what dave said and choose what interests me, and just grit my teath and wade through the confusion)
pcollins Posted July 30, 2007 Posted July 30, 2007 Before you dive into hacking a piece of source, perhaps you should try checking out a project and writing tests that expose known issues.
edgarpugal Posted August 4, 2007 Posted August 4, 2007 Try http://www.pythonchallenge.com. If you want to learn python the hard/entertaining way, then you should visit this one. I myself am a programming newb, and finding challenges forces you to come up with interesting ways to solve problems.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now