Jump to content

what's a good program for a noob to 'hack'? preffereably python.


Dak

Recommended Posts

i've looked into altering some code (mainly for learning), but my god is it a morass of confusion if you're a noob :confused:

 

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 :D

 

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?

Link to comment
Share on other sites

i've looked into altering some code (mainly for learning), but my god is it a morass of confusion if you're a noob :confused:

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:

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 :D

 

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 :D

 

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...

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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$     

 

:D

 

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)

Link to comment
Share on other sites

  • 1 month later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.