Projects and Readings

Pages: 123
Whats everybody working on project-wise? (besides all these damn homework posts that flood in middle of the semester)

What programming books are you reading?


As for me:
I'm doing Video/Image/Data analysis and working on a sparse matrix library. (in C++)
I'm reading Design Patterns and C++ Common Knowledge, just finished Essential C++ (a good refresher).
Last edited on
I just finished a simple image viewer that collects URLs and metadata from some websites and stores them in an SQLite database. It can list images by matching tags: the query "tag* teg" will return all images that contain tags that begin with "tag" and that also contain "teg".
Very practical, but the interface feels kinda awkward.
I'm currently dinking around with Unicode... UTF encoding and decoding, character database, etc.

Other projects (in no particular order):
» Pascal Compiler (for a modern variant I created) [initially in C++]
» A true graphical Universal Turing Machine emulator [Tcl/Tk]
» My own personal text editor [Tcl/Tk]
» PNG file reader for Tcl/Tk (supporting progressive decoding) [C]
» Improved version of my mpath program [Delphi]
» SDL Sudoku solver/game [C++]
» CSV file handling [C++, Delphi]
» Improving my Win32 Wallpapers program [Delphi]
» Console library [C, C++]
» Platform-independant custom resource data in the executable file [C++]
» A simple Scheme interpreter (for fun) [C++]
» SDL "pong" game (called "Ping")
» MS-GINA replacement [Delphi]
» Networked SDL Pente game (started as an assignment for middle-school students I taught) [Python]
» New Hire Reporting program that takes CSV data and formats it for your target's electronic submission requirements [Scheme]
» A simple SDL Boggle game [C++]

I can't think of anything else ATM. Most of these are on the back burner, as I don't have much time to play...
@helios: You need to come work with one of the teams at my place, they had an intern attempting to do something similar and failing miserably.

@helios: showoff :P lol

Any books? Or do you guys only read the internet?
Last edited on
closed account (z05DSL3A)
I'm getting interested in High Performance Computing (HPC). I'm investigating building a cheap cluster for experimenting with.

Books:
Introduction to Algorithms (third edition) by Cormen et al
The Art of Computer Programming (Volumes 1-3) by Donald Knuth
I'm building a 3d game engine at the moment in C/C++ using a combination of SDL, OpenGL, and Ogre3d. Right now I'm trying to complete a key binding - Input subsystem where the player can customize the keys pressed to trigger a specific action. I'm also trying to finish up the inventory component. I will probably start working on a level/object editor soon.

I'm currently reading Game Engine Architecture by Jason Gregory.
I am working on a program that computes in how many ways you can split a given (int-valued) vector into a sum of user-defined initial (int-valued) vectors.

Vector in my text means mathematical vector, not the c++ meaning of the word.

I also produce some primitive graphics based only on drawing lines related to the original problem. I cannot explain the relation in any short way, but the graphics are n-dimensional, where n is a user input number (and n>3 is allowed, although there isn't much point to it >:).
Introduction to Algorithms (third edition) by Cormen et al


Hey, that's the same book we are using for my CS class, crazy.
Duoas:
» Improving my Win32 Wallpapers program [Delphi]
What does that do?
I am working on program that...
- can read and modify FAT32 bootsector
- can create floppy disk images
- detects physical disks and logical volumes
- cleans disks
- shows information about hdd
- reads and modifies MBR directly ( i crasher my hdd at least twice)

currently there are 1600 actual lines of code.
This makes me feel somewhat inadequate. I'm making a simple command interpreter to run different commands; such as ls. I'm calling it "mash" because I like mashed potatoes.
Not really; I'm just not very good at thinking up names so I came up with "Mash Shell". God damn you Stallman! You and your infectious recursive acronyms!

I'm making it simple at the moment, but I'm going to add alot of features eventually; such as a built-in text-editor. I have about half of it done; the part that actually runs other processes. Maybe I'll make a windows one; almost as a remake of the command prompt; but expanded and with a more powerful command interpreter (I think batch is too simple).

» Pascal Compiler (for a modern variant I created) [initially in C++]

When you finish that, could I have a download link? I plan to learn Pascal at some point (I want to learn as many different languages as I can) and when I last tried I had trouble finding a good compiler. Then again; at that point I considered an IDE a compiler so it may have been the IDE I didn't like. I can't remember now.

As for reading; I have the K&R book and "UNIX in a nutshell". I plan to get more UNIX books and a C++ book or two; and eventually learn Perl from the Camel Book. Maybe I can find a common LISP book too -- LISP is meant to be one of those languages that you learn and rarely use - you just use it for the affect it has on the way you think.
@helios
"Wallpapers" is an interactive program to let the user set and adjust the desktop background (which ATM is an image or just a plain color -- what Windows does anyway). It displays little thumbnails across the bottom of the screen that work something like the Mac Launcher (where the currently 'active' image is the biggest). You can adjust all your background information, and it is pretty and easy to use, and burns nicely to an ISO/CD.

I originally wrote it as a birthday gift for a friend, so the ISO I gave here came with various images I've snagged off of the net over the years. Obviously, I cannot distribute them with the program normally... But besides the image database that you can package with the program, it can also scan your computer ('My Images') and add all your images to the database. That takes a minute or two the first time because resizing a thumbnail isn't cheap.

@chrisname
When I finish it, I'll put it on sourceforge. However, it will be some time before I get that far... (Sorry.)

The language I call "Schema Pascal" -- because it does with schemata what should have been done to begin with. The language combines the best of BP and ISO and eschews the nonsense in both. There are also a few extensions to the type system.

I'm pretty pleased with it. But keep in mind it is still in the initial requirements + prototyping stage.

If you are looking for a nice Pascal compiler to use, I recommend two:

Turbo Delphi Explorer
http://www.turboexplorer.com/
It is entirely possible (and legal) to use more than one Turbo personality, but you'll need some help to do that. Check out this (just googled)
http://groups.google.com/group/borland.public.delphi.non-technical/browse_thread/thread/ebb2acda883daf68

Lazarus/Free Pascal
http://www.freepascal.org/
http://www.lazarus.freepascal.org/
http://sourceforge.net/projects/lazarus/

[edit] BTW, both lean toward the BP variant. There are also nice ISO versions out there... but that's that.


Thanks for the interest!
Last edited on
Ok, thanks. It will be a while before I start learning Pascal (if ever) anyway. I like to use other people's programs, it has a kind of personal feel, like it isn't coming from some faceless company; even one like Red Hat or Canonical.

Null;
reading from FAT32? This is relevant to my interests :) On a more serious note, that sounds very interesting.

- reads and modifies MBR directly ( i crasher my hdd at least twice)

Lol. Does that part work yet?

On the subject of file systems;
I was Googling for a tutorial on handling ext3 information, but couldn't find any. I barely understand how file systems work; so that's a shame. But I'll learn somehow... maybe I can corrupt my ntfs partitions again by learning how to read those :)

Good luck with the MBR/hard drive playing around with thing/FAT32 reading thing...

Maybe you could compile it for Linux so I can access my flash drives better? They don't properly work with it :( one of my few gripes with Linux, although I guess that's not really the kernel.

Very off topic but today I shaved a tiny bit off of the roller ball in a mouse at home. It was pretty funny; it made a "clunk" noise every time you tried to use it, but you could only see the bit where I'd cut it if you knew it was there. I had a lot of fun with that. I wish my school still used rollerball mouses... I only have one at home from my old computer. They changed them at school because people (not me :P) kept stealing them.
Last edited on
My program reads MBR very well but I can't figure out how to edit CHS numbers correctly :-[


Maybe you could compile it for Linux so I can access my flash driver better?


1. No, my program only shows boot sector but I'll include a feature to access files later.
2. I can't recompile it for linux because I use lots of WinAPI but I can post MBR and FAT32 boot sector data structures.

Off topic but how about my english? Is there any big mistakes?
Off topic but how about my english? Is there any big mistakes?
It's alright. 8/10.
@Null: You missed a 'the' or two, (but that's understandable if English is not your native language), and
Is there any big mistakes?
Although apparently a lot of native English speakers fail at that too so...
Either is appropriate. "Any" indicates one or many. The context makes it clear which the speaker intended. Hence, "Are there any big mistakes?" is also grammatically correct.
I think it sounds better as "Are there any big mistakes" though. It reads better.

Null, your English is excellent. Almost perfect. Before I looked at your profile page thing and found you were Lithuanian I thought you were a native speaker. Same as Helios, I thought he was American (mostly the name having something to do with NASA, although he hasn't told me if that's intentional yet) before I found out he's Argentinian.
No, I disagree.
"Any" does mean at least one, but the sentence is structured around the plural. Hence, "mistakes".
If we reverse the sentence to a conditional, it would be "if there are any mistakes" or "if there's any mistakes"; not "if there is any mistakes" nor "if there is any mistake". The 's is phonetical, not grammatical, since "there're" is cacophonic.
@GreyWolf: Check out Amazon EC2 rather than building an HPC cluster. It's dirt cheap to start with and scales incredibly. I haven't used my images in a couple months. Last month's bill was $.05. I kid you not. 5 cents. For storage. When I used it "heavily" (had a few machines running in parallel a few hours a day), it was under $10 for a couple weeks of playing around.
Pages: 123