20090622

progress

I took some time today to push through more of the Django for newbies beginner app.

I made it all the way through the "here's the api" section of the guide. I am starting to assemble a working idea of classes, methods, apps, projects, tables, rows and vim. Probably one of the most fundamental ideas I learned was that in Python, and thus Django, spaces are important. I was running into a wall trying to get the python shell to work properly and it was because I had certain lines set of with spaces and others with tabs.

The current wall that I am at is getting the administration portion of the site working. I copied the example one into admin.py and started the web server but http://127.0.0.1:8000/ and http://127.0.0.1:8000/admin/ go to the same page. The server log shows that someone is asking for /admin/ but there's nothing there for it to reply with. I double checked the preceding steps of adding it to the appropriate app to settings.py, sync'd the database just fine but when they start in with the url creation my eyes kinda glazed over. It feels like I need to add stuff there but the explination half sounds like it should work as is and half doesn't make sense.

On a lighter note I'm digging the early copy of The Most Scerene Republic's "...And the Ever Expanding Universe" I snagged for review. One of the songs "Don't Hold Back, Feel a Little Longer" has a good electronic sound with the same tonal qualities that I liked from their second album "Population". If you liked "Population" this should please your ears.

20090608

the situation/problem/solution

the situation:

I work for 90.5 KSJS in the Traffic Department. KSJS is a non-commercial radio station owned by the California State University system. We play four genres of music: Subversive Rock, Jazz, Urban, and Alternative in Espanol. The traffic department makes a set of traffic logs at the beginning of each week that are filled out by the DJ as they do their show. After each DJ has filled the logs out, we correct them. Then we hunt down the DJs that made mistakes and yell at them to fix those mistakes. Finally we store the logs for three years and throw them out (hopefully recycle).

The traffic logs consist of spaces for the legal ID's, what public service announcements (PSA) to play, what promotions to play and if we have them what sponsorships to read or play. At the beginning of each semester we create a master log. We update new show promos and recorded PSAs. Then weekly we create a copy of that master log and manually add Action Broadcasting Services (ABS) and Education Media Group (EMG) spots and anything else that may change week to week.

the problem:

The static master log file causes shows to have the same promos and PSAs each week. As a DJ, this becomes really lame. You listen to the same recorded psas and promotions each week for up to six months. It takes an incredibly long time to rotate the PSAs and promotions by hand each week so they are part of the static master log. Since we have four genre's of music your Urban show may end up playing no Urban promotions.

You are also limited in your ability to promote your show. You make one promo and that promo runs for months. There is no ability to have multiple promotions running at the same time through the course of the semester.

Since we only update the master log file a couple of times a year new PSAs often never make it in due to poor communication and tracking.

We also only record a shorthand name of PSAs, promotions and other important things that the FCC might look for within the logs. Who knows if these stick around that long and in case of an audit, the FCC might tear us a new one because we don't tie a shortname to a copy of what that piece actually is.

We have to track down people who do their logs incorrectly. The phone lists is just a word file and often incorrect.

the solution:


I make a database that stores information about each show, DJ, PSA, promotion and anything else contained in the logs. I will write this database in Django so I can query each week to auto generate logs. The PSAs played each hour will be selected randomly and each promotion will have a tagged music genre. So an Urban show will play only Urban promotions and Jazz will only play Jazz ect. Each show can have multiple promotions to further increase the variety. Queries to the database will print comma separated values that will tie into a template spreadsheet to make the printing all nice and neat.

This database will also track who is qualified to be a DJ with their contact information. I then hope to use that contact information to automate emails and text messages to DJs to inform them that they messed up their logs.

I also hope to script additions to the database to bulk add information that will be front loaded at the beginning of each semester.

I also want to document the system top to bottom so that future Traffic Departments can resetup and use this system.

I use open source projects frequently and wish to contribute to the system. All code and documentation will become part of the open source community.

This blog will track the development of the project and anything interesting that may happen in my life outside of this summer this intern project.