point me in the right direction 
Author Message
 point me in the right direction

Having never written any code other than some shell scripting, but
work with programmers on a daily basis, I was hoping to get some
feedback/direction on a first program project:

1. I want to create a database of all shared music directories and the
artists (files) on a Windows network (these are known paths, or even
cooler would be to search for new shares with *.mp3 extensions).

2. I would like to set some kind of a cron job to check these
directories on a daily basis, and diff for new content.

3. I would like this DB to be searchable by artist (directory) or song
(files), and have the search results be clickable so as to
download/copy the file to the local users machine.

#I can do this on a Windows box or Linux (though browsing the Windows
directories from Linux could be more work, Samba?)

#Is this a project for perl? mySql? HTML & PHP?

Any thoughts on how you might approach this would be greatly
appreciated

~3des



Thu, 17 Jun 2004 00:44:47 GMT  
 point me in the right direction


| 1. I want to create a database of all shared music directories and the
| artists (files) on a Windows network (these are known paths, or even
| cooler would be to search for new shares with *.mp3 extensions).

You could use File::Find for searching mp3's. Just update the db using a
cron job or the windows equivalent on a regular basis.
You could use DB_File and a tied hash for this.
You could even scan the MP3's ID3 tag with the appropriate module from CPAN.

| #Is this a project for perl? mySql? HTML & PHP?

Perl, absolutely.
mySQL, perhaps. You don't necessarily need SQL. Depends on the amount of
data and required speed.
HTML, if you want a web interface.
PHP, no, because I don't like PHP.

HTH,
Steffen
--


# Looking for a ca. 5 month IT/Perl related internship starting April 2002.
# Location is irrelevant if either German, English or French is spoken. StM



Thu, 17 Jun 2004 01:01:37 GMT  
 point me in the right direction

Quote:

> Having never written any code other than some shell scripting, but
> work with programmers on a daily basis, I was hoping to get some
> feedback/direction on a first program project:

> 1. I want to create a database of all shared music directories and the
> artists (files) on a Windows network (these are known paths, or even
> cooler would be to search for new shares with *.mp3 extensions).

You probably want to use a real SQL-type database then.

Quote:

> 2. I would like to set some kind of a cron job to check these
> directories on a daily basis, and diff for new content.

Windoze task scheduler or a cron job in Unix-like systems.

Quote:

> 3. I would like this DB to be searchable by artist (directory) or song
> (files), and have the search results be clickable so as to
> download/copy the file to the local users machine.

HTML and CGI would provide a nice interface.

Quote:

> #I can do this on a Windows box or Linux (though browsing the Windows
> directories from Linux could be more work, Samba?)

Since it is a Windoze network, it would probably be most easily done
from a Windoze box.  The "net view" command will let you find computers
and shares on those computers (maybe there are Win32::xxx modules which
will do the same thing only better).  You will need to keep the
computer, share and file names in your database so you can tell which
ones are new, unless you want to trust the date/time-stamps on all the
computers in your network (and be careful if your network involves more
than one time zone -- the OS's sometimes don't do a very good job with
that).  But of course then you're trusting the user to not rename
files.  Maybe putting the MD5 signature in the database as well would be
good (Digest::MD5 module?).

Quote:

> #Is this a project for perl? mySql? HTML & PHP?

P------------------------^

Perl would be great.  So would mySql and HTML.  On a Windoze box, Access
would work.  I would be biased toward Perl against PHP, but PHP would be
fine for the CGI piece of it -- another thing to learn, though.  You
would also need a web server, like Apache or equivalent.  Be sure to
take full advantage of the various Perl modules:  DBI for the database
interface; CGI for the CGI bit; maybe some Win32:: stuff to find
computers and shares; Digest::MD5 for file signatures.

Quote:

> Any thoughts on how you might approach this would be greatly
> appreciated

The hardest part will probably be to figure out which shares are
actually CDROM's, ZIP drives, or something else which has removeable
media and which will change from time to time or may not have media
present at a given instant.  I'm not sure how you can tell which shares
have removeable media (maybe something in the Win32 modules?).  You
probably don't want to have to manually enter the shares to search.
Bear in mind that you will be generating significant work on computers
on your network when you search their shares.  Users and system admins
will probably notice.

My only other comment is that this is probably way too ambitious for a
first programming project.  You will have a tremendous lot to master
before you complete the above.

Quote:

> ~3des



Thu, 17 Jun 2004 01:33:06 GMT  
 point me in the right direction

Quote:


> > Having never written any code other than some shell scripting, but
> > work with programmers on a daily basis, I was hoping to get some
> > feedback/direction on a first program project:

> > 1. I want to create a database of all shared music directories and the
> > artists (files) on a Windows network (these are known paths, or even
> > cooler would be to search for new shares with *.mp3 extensions).

> You probably want to use a real SQL-type database then.

> > 2. I would like to set some kind of a cron job to check these
> > directories on a daily basis, and diff for new content.

> Windoze task scheduler or a cron job in Unix-like systems.

> > 3. I would like this DB to be searchable by artist (directory) or song
> > (files), and have the search results be clickable so as to
> > download/copy the file to the local users machine.

> HTML and CGI would provide a nice interface.

> > #I can do this on a Windows box or Linux (though browsing the Windows
> > directories from Linux could be more work, Samba?)

> Since it is a Windoze network, it would probably be most easily done
> from a Windoze box.  The "net view" command will let you find computers
> and shares on those computers (maybe there are Win32::xxx modules which
> will do the same thing only better).  You will need to keep the
> computer, share and file names in your database so you can tell which
> ones are new, unless you want to trust the date/time-stamps on all the
> computers in your network (and be careful if your network involves more
> than one time zone -- the OS's sometimes don't do a very good job with
> that).  But of course then you're trusting the user to not rename
> files.  Maybe putting the MD5 signature in the database as well would be
> good (Digest::MD5 module?).

> > #Is this a project for perl? mySql? HTML & PHP?
> P------------------------^

> Perl would be great.  So would mySql and HTML.  On a Windoze box, Access
> would work.  I would be biased toward Perl against PHP, but PHP would be
> fine for the CGI piece of it -- another thing to learn, though.  You
> would also need a web server, like Apache or equivalent.  Be sure to
> take full advantage of the various Perl modules:  DBI for the database
> interface; CGI for the CGI bit; maybe some Win32:: stuff to find
> computers and shares; Digest::MD5 for file signatures.

> > Any thoughts on how you might approach this would be greatly
> > appreciated

> The hardest part will probably be to figure out which shares are
> actually CDROM's, ZIP drives, or something else which has removeable
> media and which will change from time to time or may not have media
> present at a given instant.  I'm not sure how you can tell which shares
> have removeable media (maybe something in the Win32 modules?).  You
> probably don't want to have to manually enter the shares to search.
> Bear in mind that you will be generating significant work on computers
> on your network when you search their shares.  Users and system admins
> will probably notice.

> My only other comment is that this is probably way too ambitious for a
> first programming project.  You will have a tremendous lot to master
> before you complete the above.

> > ~3des

Much appreciated feedback, and yes, this is a bit ambitious, though I
suspect I'll be tapping the many resources here at work (we run mostly
Linux -not the network I'll be scanning- and most of our dev is Perl,
Apache, with considerable module experience... just wanted to get a
start before hitting them up!)

Thanks again to all who posted replies.

~3des



Thu, 17 Jun 2004 16:58:03 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Point me in the right direction

2. Please Point me in the right direction

3. Can anyone point me in the right direction - Please?

4. Can anyone point me in the right direction - Please?

5. Email: No Server, please point me in the right direction...

6. I am looking to Learn Perl....can anyone point me in the right direction?

7. Looking for the right direction

8. A push in the right direction - Perl :c)

9. A push in the right direction - Perl :c)

10. Been Through Every FAQ - Point Me to the RIGHT One PLEASE

11. The right tool for the right job :-)

12. regular expression to describe 16 degrees of wind direction

 

 
Powered by phpBB® Forum Software