Randomland - The Forum

Technology => Programming => Topic started by: Nick on Nov 19, 2009, 10:16 AM

Title: I need a project.
Post by: Nick on Nov 19, 2009, 10:16 AM
I need something to work on thats less frustrating the wading though the quagmire that is drupal. I like drupal, its powerful and flexable but its a beast.

What useful project could I take on in flex to keep myself at least somewhat familiar with it?
Title: Re: I need a project.
Post by: Brad on Nov 19, 2009, 11:11 AM
Make Courtney a movie database?
Title: Re: I need a project.
Post by: Nick on Nov 19, 2009, 11:39 AM
In flex? Ok. That sounds easy and I can tie it to some PHP ajax fun. Can his phone view flash? I guess I will have to find out how to make flash for mobile devices.
Title: Re: I need a project.
Post by: Brad on Nov 19, 2009, 11:53 AM
iPhones can't view flash content. Something about nobody needing to by crappy games from apple if they can get all the games they want for free.

If being viewable from an iPhone is a requirement I guess you better pick a different project.
Title: Re: I need a project.
Post by: Nick on Nov 19, 2009, 12:04 PM
Dang. Thats dumb.
Title: Re: I need a project.
Post by: zourtney on Nov 19, 2009, 02:00 PM
I bet I could put linux on it...Then nothing would work!
Title: Re: I need a project.
Post by: Nick on Nov 19, 2009, 02:29 PM
:) My next phone will be a linux phone. Its actually a viable option now. And by then phones will be more them powerful enough to run a web server and other fun things.

But that sucks. I guess I could make both a flex and a html version.
Title: Re: I need a project.
Post by: Brad on Nov 19, 2009, 05:59 PM
I just thought of another project that would cool to make. I need a database to keep track of the books I own, the book's I've read,the book's I've read but would like to own and the book's I haven't read I'd like to read. I could also keep track of book's I've loaned out or am borrowing.

Obviously it'd be database driven. It could be written in Flex which would make it web-able. That would force you to have a server however (unless you made it into an air application) which would limit it's use to other people. Unless you had a main server and multiple people used the same book tracking software/database.

For some reason however, I'm not sure I want other random internet knowing every single book I own or read. Maybe that's just me being weird but I'd want to be able to select which books I want to list publicly. I'm not sure why I feel this way, I mean It isn't like I read embarrasing books or anything, it just seems very invasive for random internet peoples to be able to find out that much about me (I wouldn't care if it was just my friends and family).

If this doesn't interest you, I might pick it up to do myself. I'm thinking it'd be something good to do to teach myself C# with. It'd be easier than the image project anyway. You could make the web interface version and I could make the desktop version haha.
Title: Re: I need a project.
Post by: Nick on Nov 19, 2009, 06:02 PM
This is almost the same as the movie tracker. One could easily make a program to do all that with both books and movies. Sounds like something to keep me in practice, and fairly easy. Most of the work will me making it usable.
Title: Re: I need a project.
Post by: Brad on Nov 19, 2009, 07:15 PM
Yeah it would be very similar. The only difference would be in what data fields you want to display and search on.

It'd be easy enough to make a program which does both books and movies. Probably the best idea.

Any other similar media types somebody would want to track? The only other ones I can think of are audio books and graphic novels (comic books).
Title: Re: I need a project.
Post by: zourtney on Nov 19, 2009, 08:14 PM
I'd definitely be in to this. I was thinking about books and other media earlier. Personally, I'd love to keep a music list. Not the music I have, but the music I would like to buy. Right now, I keep this in giant google-docs spreadsheet (so I can access I mobilely). It has about 250 rows, each being a band I'm interested in looking in to. I would very much like a better way to store and search this.

I have started a similar book list, but haven't kept it up. So yeah, I'm definitely interested in this.
Title: Re: I need a project.
Post by: Brad on Nov 19, 2009, 09:03 PM
Hmmm.... I guess a music wish list would fit, however I think a full-blown music tracker is a lost closer to the image project. You'll want to track what songs you have, what album they are in and be able to play them (probably no need for a full music player with playlists and whatnot, but you're gonna want to be able to listen to your files to tell what they are.

The difference between the book/movie tracker and image program is that the image program is tied directly to files located on your computer and is all about organizing your collection while the book/movie tracker is not tied to any files and is about tracking your non-digital collection.

I guess as long as you keep it the same as books/movies (not tied to files on your computer) you could track your CD collection (or Vinyl records) as well as what CDs you want to buy or have loaned to a friend.

That leaves us with the following media types:

Books
Movies
Music
Audio Books

The next step seems to be determining what data fields we want for each of the different media types. What do you guys think?
Title: Re: I need a project.
Post by: Nick on Nov 19, 2009, 11:45 PM
I agree. Leave the digital music to the likes of winamp and itunes. But all those other would be nice to have tabs on.
Title: Re: I need a project.
Post by: Brad on Nov 20, 2009, 07:30 AM
If create a set database schema for this project we could work on the online and desktop versions separately and concurrently and both of them would be able to read each other's data.

Should we bust out some UML for this project? I'm guessing their is going to be a LOT of total data fields we're gonna want.

Also it'd be awesome if we had some sort of a web page scrapper which could read a website and rip off information about books or movies so that the user doesn't have to type all of them in (or even know all of them). IMDB would be the obvious choice for movies, but what would we use for books? Or CDs?
Title: Re: I need a project.
Post by: Nick on Nov 20, 2009, 08:50 AM
Don't take too much focus from the picture project :)

There is another service that will give you information about CDs (I remember whatever I was using to encode things with lame getting CD info)
Title: Re: I need a project.
Post by: Brad on Nov 20, 2009, 09:31 AM
I'm not trying to steal focus from the picture project. We usually don't have much focus anyway.

I'm planning on using this project so to learn WPF and C#. If you want to do a the web interface (in Flex or PHP or whatever) that'd be really awesome. If so, we should get a database schema figured out so the programs can talk to each other.

So yeah, I guess I've hijacked your thread, given myself a project instead of helped you think of one and stolen focus from Courtney's picture project. I suck.
Title: Re: I need a project.
Post by: Nick on Nov 20, 2009, 09:44 AM
So yeah. It happens.

So what would the database need?


We will need similar things for books and CDs with slight differences, like books will have a page count rather then running time, author rather the actors and so on.

For the movie part, if we want it to be able to show what movies are popular on within the system we will need a static movie database (borrow some from IMDB perhaps) to stop there from being errors or variations on the titles stores (most all movies are in that database, but we could have a manual add for obscure movies.)
Title: Re: I need a project.
Post by: Brad on Nov 20, 2009, 10:31 AM
You could build your movie/book database as people add movies or books. To get them to enter in correct information we can make a scrapper which pulls of information from imdb or wherever.

So a user puts in the title (or partial title) of a book they want to add the program first checks it's own database to see if that movie has already been added otherwise it checks imdb shows the results scrapped of imdb's webpage and says "Is this the movie you are trying to add?" If it isn't found the user can enter all the information manually.

As the whole point of this program is a "tracking" program (tracking what movies you own, have watched, lent out, etc...) everything is going to need a status field and a watched/read/listened to field. Various statuses might be "owned", "borrowed", "lost","not owned","lent", etc... The watched/read field is separate as you their may be movies/books you don't own and have watched/read as well as movies/books you do own but haven't watched/read.
Title: Re: I need a project.
Post by: zourtney on Nov 20, 2009, 12:41 PM
There are a lot of better options out there for music library management. I'm primarily using iTunes at the moment. It's not awesome, but it's functional enough. I'm just looking for a wish-list to hold a list of bands and descriptions. If this is not similar enough to the movie/book thing, oh well.
Title: Re: I need a project.
Post by: Nick on Nov 20, 2009, 01:26 PM
Same idea, just less information to save to that type. So having bands as well would be easy and nice.
Title: Re: I need a project.
Post by: Brad on Nov 21, 2009, 11:52 PM
I made a UML diagram. In the open office version of Excel of all places. I can't find any other software that easily lets me write inside of rectangles and draw lines. Anyway I haven't actually tried this in the actual version of Excel but it looks correct in the Open Office one.

Let me know what you guys think. Feel free to add/modify/delete anything in this file and upload it again.

UML Diagram (http://randomland.net/node/1091)
Title: Re: I need a project.
Post by: Nick on Nov 22, 2009, 11:53 AM
I'm sure google has an online equivalent that will allow collaborators. That seems to be their thing. That and spewing ads into the ether.
But cool,  I will take a look at it and post back after a bit.
Title: Re: I need a project.
Post by: zourtney on Nov 22, 2009, 06:56 PM
I don't think this has been mentioned, but this program could be useful for tracking video games. We loan and borrow these often, too.
Title: Re: I need a project.
Post by: Nick on Nov 22, 2009, 07:39 PM
Oh noes! Just call it media magnet. Or something to that effect. Tracks and indexes your media wants and desires.
Title: Re: I need a project.
Post by: Brad on Nov 22, 2009, 07:45 PM
Awesome Idea on the Video game tracking.
Title: Re: I need a project.
Post by: Nick on Nov 22, 2009, 07:51 PM
I agree. We might as well. So similar to everything else we just have to add another category. We could even add tools to the list. Those get loaned out, and sometimes you want to know if you have a 7/32 socket without going and looking (and you might like to know what sockets are missing and need replaced.)
Title: Re: I need a project.
Post by: Brad on Nov 22, 2009, 08:24 PM
I sent both of you an invitation to edit a google docs version of the UML. Unfortunately I can no longer draw lines to show associations so you'll just have to figure those out on your own I guess.
Title: Re: I need a project.
Post by: zourtney on Nov 23, 2009, 11:32 AM
Some ideas and questions. And yeah, some of these might over-complicate the design and undermine the program's usability:

Title: Re: I need a project.
Post by: Brad on Nov 23, 2009, 12:30 PM
Score is what you personally rate the book/movie/video game (i.e. 2 out of 5 stars). Rating is the actual rating of the movie/video game (i.e. R,PG-13,etc...)

Series sounds like a good idea, it could be as simple as adding a string data field to the book,movie and games tables.

Well the status field could be set to "Loaned" or "Borrowed", but we need another field to specify who you loaned it to or borrowed it from.
Title: Re: I need a project.
Post by: zourtney on Nov 23, 2009, 04:46 PM
Ok, that rating thing makes more sense now.

As for the loan/borrow state, why not just have a field for each and just slap a user ID in (or whatever)? It's the same amount of data, but it allows for tracking that awkward situation where you loan out something you've borrowed from someone else! It does happen, you know.
Title: Re: I need a project.
Post by: Brad on Nov 23, 2009, 09:03 PM
Good idea, but I don't think it's safe to assume that users will only loan things to other users.

So I don't think we should use userid, you're gonna need to let them type in a name.
Title: Re: I need a project.
Post by: zourtney on Nov 24, 2009, 08:27 AM
True, there is a difference between the end-user and the person loaned from/borrowed to.

I always [over] worry about data normalization. I mean, what if you type "nick" instead of "Nick", "zourtney" instead of "Courtney"? I guess it's up to the end-user to keep it consistent, regardless of whether you're selecting from a list of existing users of just free-typing it in.

But I would most definitely want a mode where I say, "give me everything borrow from or loaned to Eve's Dad."
Title: Re: I need a project.
Post by: Brad on Nov 24, 2009, 08:55 AM
You could make all searches case insensitive and use like instead of equals. That'd make it easy enough.

Or every time they enter a person they've loaned something to or borrowed something from add it to the database. Then when they go to search (or borrow/loan something) you could give them a drop-down list of all the people that are in the database.

That's the best I can think of for data normalization.
Title: Re: I need a project.
Post by: Nick on Dec 02, 2009, 10:36 AM
Did you ever create a proposed database layout or should I give it a whack?
Title: Re: I need a project.
Post by: zourtney on Dec 02, 2009, 11:00 AM
I say, "Go for it." I'm sure that both Brad and I can provide criticism (though it may be given in jest a not pertain to the task at hand).
Title: Re: I need a project.
Post by: Nick on Dec 02, 2009, 11:13 AM
Ok!11
Title: Re: I need a project.
Post by: zourtney on Dec 05, 2009, 08:03 PM
Did you ever work on this or did apathy and other projects win out?
Title: Re: I need a project.
Post by: Nick on Dec 05, 2009, 08:39 PM
20% apathy, 16% race fever, 54% other projects, plus life in general.
Title: Re: I need a project.
Post by: zourtney on Dec 30, 2009, 04:29 PM
The following project timetable data has been extrapolated based on recent posts and known calendar events. Please update the table, adding a new row to reflect the current values for this, the week of 27 Dec 2009.

Date                 Apathy    Race Fever    Other Projects    Life
21 Nov 20099%*10%*47%*34%*
28 Nov 200918%*12%*54%*16%*
05 Dec 200920%16%54%10% (inferred from adjacent statistical data from this (http://randomland.net/forums/index.php/topic,114.msg1522.html#msg1522) post)

* projected values based on previous conversions and known calendar events
Title: Re: I need a project.
Post by: zourtney on Jan 15, 2010, 09:15 PM
With Brad working on his C++ during lunch times at work, I've been getting that cplusta urge. Little nuggets of knowledge, such as "duh, you need a semicolon at the end of your class definition" are coming back and I like it. I still know C++, but am way out of practice.

I'd like to make a programming project which utilizes C++ because I don't want to lose it. But, on the other hand, it's foolish to pick a technology before you pick a project. I've learned at least that much along the way.
Title: Re: I need a project.
Post by: Nick on Jan 16, 2010, 01:57 AM
The movie database thing doesn't lend itself well to C++. Though I am sure we can find something you/we could make. I have been making things for myself to do (mostly useless but interesting) and having physical projects (see sheetrock) given to me so I haven't done much of the database stuff other then think about it so far. That means I am open to other options if you have suggestions. 
Title: Re: I need a project.
Post by: zourtney on Jan 16, 2010, 09:30 AM
The meDBia project would be very entirely useful. I want it! Talk of it kind of fizzled out. I suppose because we all have lots of other things to be working on.

You're definitely right, though, C++ isn't "the right hammer" for that job. I still am torn between a client/server vs a standalone setup. Both have their advantages. I like web-based client/server because of portability. The thought of whipping out my mobile internets and checking what I see on the store's shelf against my personal collection is enticing...though probably so rarely useful that the simplicity of a standalone app tied to an embedded DB makes logical sense. I mean, do I really need an entire web server running just to see what movies I have cataloged? Then there's the privacy advantage of a standalone system...not that I have any book/movie/etc I wouldn't share...it's just the principle of the matter.

Anyway, that's in no way helpful to anyone, but I'll put it on our randomnet annyway.