gearface
04-16-2007, 08:39 PM
Life has been really busy with a new kiddo so I haven't posted in a while. But since I am getting closer to having something to sell, I would like some feedback. :)
I've been working on some code for the past year and a half that is a great foundation for any software product. I'm wondering if it would be valuable to anyone else and if it would be worthwhile to sell.
My code is very well organized, simple, and portable. It's very small; compiles to only tens-of-kilobytes! It does all the following in C:
Memory Management:
- Can tell you the exact size, function that allocated, and the call stack at allocation of all "leaked memory".
- Can tell you the current and all-time maximum memory usage.
- Can tell you at any time all current allocations, their size, and the exact function and call stack that allocated the chunk.
- Can tell if you write before the beginning or past the end of an alloc'd chunk.
- Can be turned on or off at compile time.
Debug:
- Can log to any number of debug files.
- Can be set to append to debug files or overwrite (but it will only overwrite a debug file, so there's no accidents on the client's computer).
- Can be set to log some or all function enters and exits, which helps instantly find the location of a crash.
- Can tell you the exact function and call stack of any errors (this information is in a easy-to-paste-in-an-email format), which helps find the exact location of bugs after your product has shipped to customers.
- Can be turned on or off at compile time and/or run time.
Languages:
- Can easily store/retreive status/error messages in different languages stored in unicode, which makes translating your program a snap.
- All this code will already have messages in English for all possible errors or events.
Files:
- Can read/write ASCII and UTF8/UTF16/UTF32 Unicode encoded files.
- Can auto-detect which Unicode encoding a file is.
- Can easily read and write integers from/to different endians. (EX: read 32-bit integer from Big-Endian to whatever endian I'm running in, etc.)
- One interface for both direct and buffered file access.
- Simple interface to all standard file actions (create, delete, get file size, seek, read/write, read line (auto-detecting which EOL is used), read file to buffer, etc.)
String:
- Dynamic Unicode String library.
- Quick modifications and searches.
List:
- Linked list implementation.
- Can free list and everything in list (even sublists and sub-sublists, or subtrees and sub-subtrees, etc) with one call, which makes cleanup easy.
- Simple interface to insert node, delete node, move node, combine lists, etc.
- With any simple comparator function, sort the list in standard n log n time.
Tree:
- Well-written balanced search tree implementation.
- Small and fast.
Images:
- Can read/write BMP/PNG images, but more can easily be added.
- Reads from any format to a standard image structure, and then out to the same or a different format.
Would anybody be interested in this code? Would it be worth $25 to you? What might it be worth? :)
Thanks for any feedback!
- Jeremiah
I've been working on some code for the past year and a half that is a great foundation for any software product. I'm wondering if it would be valuable to anyone else and if it would be worthwhile to sell.
My code is very well organized, simple, and portable. It's very small; compiles to only tens-of-kilobytes! It does all the following in C:
Memory Management:
- Can tell you the exact size, function that allocated, and the call stack at allocation of all "leaked memory".
- Can tell you the current and all-time maximum memory usage.
- Can tell you at any time all current allocations, their size, and the exact function and call stack that allocated the chunk.
- Can tell if you write before the beginning or past the end of an alloc'd chunk.
- Can be turned on or off at compile time.
Debug:
- Can log to any number of debug files.
- Can be set to append to debug files or overwrite (but it will only overwrite a debug file, so there's no accidents on the client's computer).
- Can be set to log some or all function enters and exits, which helps instantly find the location of a crash.
- Can tell you the exact function and call stack of any errors (this information is in a easy-to-paste-in-an-email format), which helps find the exact location of bugs after your product has shipped to customers.
- Can be turned on or off at compile time and/or run time.
Languages:
- Can easily store/retreive status/error messages in different languages stored in unicode, which makes translating your program a snap.
- All this code will already have messages in English for all possible errors or events.
Files:
- Can read/write ASCII and UTF8/UTF16/UTF32 Unicode encoded files.
- Can auto-detect which Unicode encoding a file is.
- Can easily read and write integers from/to different endians. (EX: read 32-bit integer from Big-Endian to whatever endian I'm running in, etc.)
- One interface for both direct and buffered file access.
- Simple interface to all standard file actions (create, delete, get file size, seek, read/write, read line (auto-detecting which EOL is used), read file to buffer, etc.)
String:
- Dynamic Unicode String library.
- Quick modifications and searches.
List:
- Linked list implementation.
- Can free list and everything in list (even sublists and sub-sublists, or subtrees and sub-subtrees, etc) with one call, which makes cleanup easy.
- Simple interface to insert node, delete node, move node, combine lists, etc.
- With any simple comparator function, sort the list in standard n log n time.
Tree:
- Well-written balanced search tree implementation.
- Small and fast.
Images:
- Can read/write BMP/PNG images, but more can easily be added.
- Reads from any format to a standard image structure, and then out to the same or a different format.
Would anybody be interested in this code? Would it be worth $25 to you? What might it be worth? :)
Thanks for any feedback!
- Jeremiah