Example Any words: php_solr

Example All words: Simple PHP Agenda


What does it do?During a standard Magic draft a calling judge has to keep track of time, the number of cards called and the direction of the draft. All those things can be confusing sometimes and this applications helps judges by automatizing the whole project. How to use?Either use online version, either download it in advance. If you choose to download it in advance, please come back here once in a while to check for new version releases. If you know how to use feeds, you can take the feed of updates and add it to your RSS/Atom reader. Credits and involvementI am Denis Sokolov (homepage) and I created this application myself. Want to help? There are many ways you can help: Spread the word Report bugs, request features, discuss Help to write texts both here and in the application Translate the application Help code the application

html magic javascript draft judge jquery dci


PKU JudgeOnline System allows programmers to test their solution for every problem. The system website is http://acm.pku.edu.cn/JudgeOnline/. I'll try to deliver my answers here.

solution acm judge online


Rule system performance is related to the order in which a rule is written. Sometimes a large cost can be incurred by a ``badly'' written rule. This is unfortunate. Since users of a rule system are only require to worry about the high level logics of the system, but not the low level implementation details. It is sad to tell the users that they have to worry about the order in which they place their patterns. Worse, although some guidelines have been given which summarize the good virtuals of an efficient rule, these guidelines are not only inexact but sometimes also conflict with each other. This further complicates a user's task of writing rules. In some cases users have to be familiar with the tempers of a rule system to be an rule expert capable of writing ``good rules''. We try to aliviate this evil by incorporating an automatical rule pattern reorderer into the system to improve the quality of the rules in terms of efficiency. Some static pattern reordering algorithms have been used in rule systems such as Soar, but these algorithms are nothing but a set of simple heuristics which may not perform well. We try to provide a more capable mechanism for reordering rules, based on the idea that a program's virtuals can be judged by its runtime statistics. We use this statistics to judge the rules users input into the system, and when we detect a bad ordering between patterns we try to improve it. Our mechanism differs from some methods for ``dynamically'' reordering rules in that it performs the reordering at runtime, rather than first running the rule program, collecting the data, and then separately optimizing the order. This way the system's performance can be improved automatically and overtime. To achieve this we have to modify existing rule engine's kernel, such that when we modify the order the matching states are preserved. We have chosen CLIPS as our experimental candidate because it is a mature rule engine and is open source.

programming rule algorithm


Project Description This project consists of a database and a client/server application that can be used to organize judo kata tournaments, produce support for judges and record all results (by competitors, nations, katas, etc...) in a database. Project's features:Create and schedule Judo Kata Championships Manage competitors and judges inscriptions Set up judges teams and assign kata contests Record judge's evaluations Compute scores based on judge's evaluations Extracts statistics and analyze results Technologies InvolvedThis project mainly uses the .NET framework 2.0 and is written essentially in C#. The DBMS is based on the SQL server 2005 (express edition). Project dependenciesNUnit 2.4.7 (or newer) libraries for unit testing.

judo kata tournaments contest management championship


Project Description This project consists of a database and a client/server application that can be used to organize judo kata tournaments, produce support for judges and record all results (by competitors, nations, katas, etc...) in a database. Project's features:Create and schedule Judo Kata Championships Manage competitors and judges inscriptions Set up judges teams and assign kata contests Record judge's evaluations Compute scores based on judge's evaluations Extracts statistics and analyze results Technologies InvolvedThis project mainly uses the .NET framework 2.0 and is written essentially in C#. The DBMS is based on the SQL server 2005 (express edition). Project dependenciesNUnit 2.4.7 (or newer) libraries for unit testing.

judo kata tournaments contest management championship


A Virtual Online Judge, use other Online Judge and their problems for Contest.,

judge proxy


EarthSurfer - A Macintosh OS X application to use a Nintendo Wii Balance Board to travel over Google Earth in a milk truck . Download EarthSurferDownload EarthSurfer CompatibilityI've tested this version on Intel Macs with Bluetooth under OS X 10.4 and OS X 10.5. Earth Surfer is not yet compatible with PowerPC Macs (I'm still working on some Bluetooth issues.) Earth Surfer IntroductionFor Macworld, 2009 I decided to create a program that allows people to "surf" any region on the Earth's surface using a Nintendo Wii Balance Board and the Google Earth API. To do this, I used the Google Earth Browser Plug-in with a Javascript API. The Wii Balance Board transmits the your movements to the EarthSurfer application using Bluetooth and allows you to maneuver a virtual milktruck by shifting your balance as if you were on a surfboard. Check out this link for a video to see it in action. While it's fun to use EarthSurfer, I really wrote it to inspire others to consider interesting device interactions. All my code is open source using the Apache License, so you can use the code in your own programs. It is based on Thatcher Ulrich's terrific open source Javascript Monster Milktruck demo, and runs in a webpage. I wrapped it as a Macintosh application program so I could add Objective-C. Earth Surfer uses the Macintosh OS X Bluetooth framework to fetch the Bluetooth packets from the Wii Balance Board. I wrote methods to decode those packets into kilograms. I based my work on DarwiinRemote, open source decoders for the Wii Remote. EarthSurferHowTo - How to Install How to Play and for developers: How to Build from source code How to modify the source code, and How you can help make this better. Hardware Requirements: an Apple Macintosh with a network connection and Bluetooth, running OS X 10.4 or newer. a Nintendo Wii Balance Board You don't need the rest of the Wii for this. Just the Balance Board. Note: Earth Surfer is more of a technology demo than a real, full-featured Macintosh application, so don't judge me harshly, just take the pieces and build something better. Related WorkI?m not the only one to go beyond the keyboard and mouse to control Google Earth. Some related work.

google cocoa macosx objective-c app


Hi, the long-wanted Facebook app is here. Now you can view all your friends' photos on boxee, with slideshow! (boxee is a social fork of the famous XBMC, wiki) Facebook Photos won both People's Choice and Judge's Choice! v1.5 is out! Most voted feature "View recently updated albums" is added! It's being actively developed, and welcome to vote for new features here More screenshots with step by step guide here App Box installFacebook Photos is now in official boxee app repository Try App Box - New Applications - Facebook Photos If not found, add http://boxeefb.googlecode.com/svn/repo/ to your App Box repository.(App Box-Repositories-Add Repository) Add Facebook from New Applications Navigate to Pictures-Internet-Facebook. Enjoy! Apple TV usersA browser is needed for Facebook login. Or you can copy a working registry.xml from other computers to ATV. See "Configuration file" below for details. Linux usersThis app uses xdg-open to open Facebook URL Configuration fileThe file can be found at BOXEE/UserData/profiles/yourboxeename/apps/facebook/registry.xml. The content should look like: 0 989f61c2252837be36bd3f7fa5e5a211 a7d4515138a9076751c633db-632728111 your facebook uid If the value of "expires" is not 0, you have to re-login to Facebook in about 24 hours. Although it's well handled, it may be very annoying for some users. Steps to solve this: in browser, logout Facebook delete registry.xml run boxee and this app, click "Login to Facebook" in browser, check "Keep me logged in to boxee" before submit Enjoy! Manual install(obsolete)Download boxeefb-1.0.zip file from http://code.google.com/p/boxeefb/downloads Unzip, and copy the facebook folder to BOXEE/UserData/apps/ Add below to the pictures section of your sources.xml Facebook app://facebook/ http://boxeefb.googlecode.com/files/logo200.png false In your web browser, log out Facebook (recommended, to avoid re-login) Run boxee, and navigate to Pictures-Internet-Facebook Click "Login to Facebook", a Facebook login page will open in your browser Fill the login form and check "Keep me logged in", submit Go back to boxee, click OK and Enjoy! Source code and modificationThe source code is included in the app, no separate download needed. Feel free to modify the source code, but please keep the Facebook app key and original author Junda Liu. Thanks! Bug reporthttp://code.google.com/p/boxeefb/issues/ Known issuesIf friend name has nonASCII character, the user id will be displayed, because the API seems to accept ASCII only Facebook scales down photo size so the quality is not very good Windows Boxee ( doesn't support all APIs in the app, and App Install may fail Table of Content: App Box installApple TV usersLinux usersConfiguration fileManual install(obsolete)Source code and modificationBug reportKnown issues

xbmc xml facebook python boxee


A Online Judge System.



ACM Problems on UVa Online Judge System

c uvaonlinejudge acm


I'm working, on an online-judge for informatics problems, like "spoj.pl", "acm.sgu.ru", etc. It will have a lot of problems, the posibility to run a contest there, an 24/7 online grader that will grade all problems you submit, a forum to discuss everything about the problems. I will write it in php, bash and c.

onlinejudge wpoj w-programming contest grader problems informatics


an ACM Online Judge, Training, SNS system based on Node.js & MongoDB, by namiheike @ TONGJI university.

Aerobatic Contest Registration System

An online registration system for aerobatic contests that supports basic registration, student registration, team registration, judge voting, volunteer role selection, practice slot reservation, and on-line payment via PayPal.


NOTE I?ll provide a few demos during the next days, clean up the API, and wrap the source as an easy-installable egg archive, all of which will help to make shuttlePOD easier to try out and judge. NOTE this publication is in sneak preview beta. The concept has proven its applicability and usefulness, and the code here is a re-write and re-organization informed by earlier applications. I do not promise that all the parts are there, are documented, or work correctly as yet. Concrete Abstract: What You Can ExpectHere are a few short examples of what you can expect. The XENON library is the first application (or, specialization) of the more generic POD library; either can be imported from the shuttlepod package. Our focus is not so much on HTML processing, but on seeing what we can do with plain old dictionaries and a little help from a dictionary handling library. Let?s start by reading in a short text with some tags, and then work on them: #----------------------------------------------------------------------------------------------------------- from shuttlepod import XENON from pprint import pprint as _pretty #----------------------------------------------------------------------------------------------------------- # some (defective) XMLish stuff: source = "The Utmost" #........................................................................................................... # gets healed, parsed, and printed out as XMLish again: pod = XENON.parseOne( source ) print repr( XENON.toXml( pod ) ) This is the output: u"The Utmost" Now take a look under the hood. print pod yields this output: {u'%classes': [u'hype', u'label'], u'@align': u'left', u'@foo': u'42', u'mid': [u'The Utmost'], u'name': u'div', u'~isa': u'xenon.pod'} What we see is a plain old dictionary with keys like %classes, name, @foo, ~isa. Note that the names of all attributes of the tag have been prefixed with the sigil @ and that @class is missing, but there is a member %classes. Also, all texts are Unicode objects. We can investigate about the mysteriously missing @class; here are two ways to accomplish that: print repr( XENON.getAClass( pod ) ) print repr( XENON.get( pod, '@class' ) )gives: u'hype label' u'hype label'We can see that both methods do the right thing. @class is only a virtual member of pod, and its value gets behind the scenes reconstructed from the value of %classes. ? Next let?s do some class name juggling: XENON.toggleClasses( pod, 'hype' ) print repr( XENON.toXml( pod ) ) XENON.addClasses( pod, 'hype', 'good', 'hilite' ) print repr( XENON.toXml( pod ) ) XENON.prependClasses( pod, 'good', 'hilite' ) print repr( XENON.toXml( pod ) )gives: u"The Utmost" u"The Utmost" u"The Utmost"################################################# ????????????????????????????????????????????????? The data is yours -- a dictionary is still a dictionary. If someone else comes up with another library that does what you need but XENON does not provide, you can use the methods of that library, and still keep the data. That is less true within the classical OOP approach, where you would have to re-instantiate the object that represents your structure, or subclass an XML-handling class. Now for something slightly more involved ? two nested tags: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 'mid' it?s all about mixed content shuttlePODThe JSON data format (http://json.org, http://json.com) has gained wide appreciation in a short time. JSON?s outstanding key feature is that it provides a sound set of atomar and collective data types ? texts, numbers, booleans, lists, dictionaries ? that are (1) written out in a cross-language, no-nonsense style, and that (2) live as native objects in your native programming language, be it Python, JavaScript, Perl, or PHP. This sets JSON apart from XML, which has proven to be complicated and often impeding for the difficulty to get it seamlessly working in current programming languages. With handling structured data, the need arises for facilities that support the most important data transformations in a painless way. shuttlePOD is a JSON handling library. Now, JSON being so generic, shuttlePOD aspires to go way beyond the #1 conceived use case for JSON ? a serialization format for Ajax HTTP conversations. It can already read from XML and serialize itself to XML, and first experiences have shown that it makes sense to do a lot of HTML handling chores (think templating, form data processing, dynamic web page building, web scraping) using shuttlepod.XENON library. The name of this project, shuttlePOD, highlights two aspects: shuttle stands for ?mobility?. Build and handle any kind of structured data, and as long as you restrict yourself to Json?s Seven Sisters ? string, number, object, array, true, false, null ? you are at any point ready to transmit your object over the wire (HTTP, eMail, file). POD stands for Plain Old Dictionary (alias hash, associative array). Using named values is the cornerstone of building soundly structured data, and dictionaries excel at that. Dictionaries are the basic building block for classes and objects in object oriented programming (OOP). shuttlePOD is currently being implemented in Python. The focus of development is on two libraries, POD for fully generic dictionary handling, and XENON, an application of the shuttlePOD paradigm to reading and writing X/HT/MLish (XML, HTML, XHTML) notations. shuttlePOD is a data-centric library; this entails a shift away from classical OOP, towards a more library-oriented, more generic style; a shift away from producing results as a direct result of imperative programming, towards producing results by using generic tools to ?massage? or transform input data into output data. When you transform data ? and my experience is as a programmer you do that almost all of the time ? you better use a data model that lends itself to be kneaded the way you need it to be, and you better use some good tools that cover all the general use cases. Transforming XML is, in part, so painful because XML sucks with all its arcane features you never need, because reifying an XML document as a DOM structure sucks in terms of ease of use, and writing XSLT sucks in terms of readability. Libraries like jQuery have flourished because expressions like $('#x123'), $('.foobar') just let you forget all the hairy stuff that is hidden inside of HTML and the DOM. The workflow of shuttlePOD when it comes to X/HT/ML handling may be summarized as follows: Read in a snippet of XML or HTML. Just assume it makes sense and for the most part just repair what is broken (makes sense as a majority of the world?s websites use broken markup). Transform that into a JSON-compliant object, e.g. using shuttlePOD xenon. Inspect, transform, amend that structure. Pass that structure on to a consumer (e.g. a web scraper, a database model), or write it out as another wire format (text, CSV, HTML, PDF, image). Passing on a model may mean to pass the structure inside your Virtual Machine (VM, eg the Python interpreter), or to write it out as a JSON string to send it over HTTP. The functionality of shuttlePOD lives in libraries that handle generic dictionaries. This way, you do not have to instantiate any FooBar class before you are good to go ? just call a method like POD.iterNames({'@foo':42,'@bar':108,'blah':'whatever'},prefixes='@') et voilà. Throw any plain old dictionary at the library methods and they?ll do the chores. In the future, shuttlePOD will also support to build objects that allow for classical OOP-style programming. The buzzword for that plan is Kata, Japanese for ?form?, ?matrix?, ?mold?. You will have the possiblity to throw a dictionary at a factory function like kata=POD.getKata(pod) and be returned an object of an appropriate OOP class. The beautiful thing about this is that the POD library knows how to get appropriate classes; Kata classes use the full power of libraries; in the ideal case, they can be defined in a wholly declarative way. ? But that is the future. Advantages Of The Data-Centric, Library-Oriented ApproachBeing libraries, POD and XENON do not have state(#); all they do is inspect objects, transform objects, and build and return values. (#) more precisely, libraries do not keep state on a per object basis, but a library can have library-wide settings that make it different from other libraries with the same implementation, but different configurations. Think of ?configuration? as ?library state?. Some people will complain that writing XENON.toXml(pod) is ?not OOP?, and they would be right. To a certain degree: the library is by design the point of method invocation, not the object being affected; we have to write L.do(a,x) instead of a.do(x). (It?s not that f(x) is ?not OOP? because ?only x.f() is correct?, that would be ridiculous.) The library-oriented approach has several advantages (and a few caveats): (1) Clear Separation of Functionality and DataData objects (PODs and other data types) remain pure data objects, and functionality objects remain pure functionality objects (without state). Since state can?t be kept in a library, it must either be transient (be kept in an accompanying variable soon to be discarded) or else be kept in the POD itself. Putting the state in the POD means you can always say print pod to get a full account of state. When transmitting the object (say, to a web page or to serialize and persist it), you can do so at (almost) any point in time and never have to worry about serialization issues (read PEP307 if you want to know the meaning of this word). (2) Automatic Name Mangling And Name-Based SpecialsUsing a data-centric library-oriented style of coding, we free ourselves from the naming conventions of the hosting language (Python in the case of shuttlePOD). You can?t have an attribute name like font-size if you want to write mystyle.font-size in Python, but you can state mystyle = { 'font-size': '24pt', 'font-weight': 'bold', } to keep the CSS data and then say POD.get( mystyle, 'font-size' ) to retrieve it. There is actually a good deal of names management &mangling at work inside the POD library(#) that makes sure you can say POD.getFontSize(mystyle) and so on to deal with font-size, if you prefer to have it that way. (#) i originally wrote we don?t do name mangling in shuttlePOD, but that?s plain wrong ? and let?s hope that name mangling doesn?t get too magic). Non-generic libraries like XENON also can define ?handlers?, that is, methods that do more than just getting and setting values. As a case in point, when you get or set the member @class in a dictionary using the XENON X/HT/ML library, what happens behind the scenes is that values are understood as whitespace-separated lists of words and internally tucked away as %classes. This means you are freed of having to deal with the details of CSS class name handling. The example near the top of this page tells it all. (3) Avoidance Of Namespace PollutionGranted the examples above are a little more wordy than plain snappy OOP ? fact is you will run into difficulties any time you want to map a problem domain?s naming conventions to Python or JavaScript. You will have to do name mangling and change that font-size to fontSize. Granted also that Python somewhat culturally favors to write system-level attributes as a.attr and user-level data items as a['item'], but again fact is people almost always strive to map SQL table names, CSS style rules and so on to a a.attr style of access, partly because of the terser syntax. Some of that mapping business goes well, some of it does not. The riding starts to get rough when you have both a table foobar and an unrelated attribute foobar and you are never sure which is which when doing mydb.foobar. The reason for this problem is called namespace pollution, and you should avoid that. (4) Avoidance Of OOP BoilerplateI find a lot of my time ? too much of it ? goes into designed the ever-same never-changing very basic design things into my custom OOP model classes. How is this supposed to print. How do i access instance data. How do i initialize the little bugger. And so on. How many classes i have designed over the years that allow me to do the foo.bar trick to get me foo['bar'] i cannot count. Using shuttlePOD, much of that just vanishes like it?s never been there. And i don?t look back. (5) Sigils Are Namespace PrefixesMy proposal to avoid namespace pollution and achieve a clear, yet readable and serializable structuring of data involves sigils, also called namespace prefixes. As such, sigils are not a new idea ? for example, in Python you use __init__ and __contains__ as names to indicate the special status of methods, or _frob to indicate ?this item is private and not part of the public API?. Read NamespacePrefixes for more. (6) Data Type MarkupData can be easily marked up for type by using ~isa. (7) Data Type ModellingData types not among the Seven Sisters can be modelled using the core data types, and the core facility to achieve that are, you guessed it, dictionaries. For example, to define a set, we could choose to write myset = { '~isa': 'set.pod', 'foo': True, 'bar': True, 'baz': True, } that is use a dictionary with nonce values to represent a set. How about a lexicon (an ordered dictionary)? Here it is: mylexicon = { '~isa': 'lexicon.pod', '~sorting': ['bar','foo','baz',], 'foo': 42, 'bar': 108, 'baz': 3, } It all hinges on the libraries being able to recognize and deal with objects that are marked as set.pod, lexicon.pod and so on. OBS: Beyond doubt, some thinking has to go into (1) naming types and (2) type handling library retrieval. We are liberally using designations like lexicon.pod, car.pod, set.pod here; these are meant as mere illustrations. Later work will clarify and regularize things.

javascript framework handling ajax data python lego json

Contest Problems

Solutions to contest problems, by me. Contests Covered: - TopCoder - Codeforces - UVa Judge - USACO - ProjectEuler - CodeJam - HackerCup


A game using a modified quake3 engine by Vincent 'Discoloda'Burns. Content (models, textures, scripts) fall under the Atistic license. Code (*.c *.h and files needed by the compilers to generate binarys) fall under GPL v2 All uploaded game content that has been made is still a major work in proccess, please do not judge the game by its quality just yet.

rendering freegame quake smashbrothers quake3

danhodos's dotfiles

My mess o' dotfiles that I am slowly cleaning up don't judge me,


Updates2-May-2009 News about a related project, and about version 3 of pcsets on my Wordpress blog. 26-Apr-2008 The main pcsets module has been remarkably stable. I have tried to rewrite sections of it from time to time, but have found it hard to improve. However, it now has a derivative. I've begun experimenting with microtonal music. One of my finds was an unusual system called the Bohlen-Pierce scale -- 13 tones that span a 'tritave' (two notes with a frequency ratio of 3:1, as opposed to the 2:1 octave). If you're interested, you can download the experimental bpsets module (zip archive, 22K). For everyone else that's found this page, you're probably safe in moving on to more familiar territory, below... ;-) pcsets: Pitch Class Sets for Pythonversion 2.0.2 Bruce H. McCosar Welcome! This is the third official release of pcsets. This package features the first two chapters of a tutorial and a few new abilities for pcsets.tonerow. Learning about Pitch Class Sets is easy -- the four modules presented here are, like many Python programs, self documenting. They work well with pydoc . Learning how to use these for practical compositional purposes, on the other hand ... well, that takes a lot of individual experimentation. In future releases of this module, I will include a short tutorial, and demonstrate some of the techniques I've learned. However, you are a much better judge of what you want to know than I -- please, try the module out, and most of all, have fun learning something new. About Pitch Class SetsPitch Class Sets are a mathematical model for analyzing and composing music. Each note 'C' through 'B' has an equivalent pitch class number 0 through 11. Sets of these numbers may be operated on by mathematical functions such as transpose and invert. The goal of this project is to, eventually, have: A Python library capable of fully implementing Pitch Class Sets and their common operations, as well as several convenience functions to bring these abstract concepts to the real world. (Mapping pitch classes to note names, for instance). A tool for composition. Some applications are harmonization, chord voicing generation, and melodic motif creation. More exotic goals -- creation of new chordal elements, musical progressions, and harmonic relationships. As you can see, these goals range from easy (already implemented) to insanely difficult! WhyI became interested in pitch class sets as an offshoot of my earlier work in jazz (see 'About the Author', below). At the end of this file is a list of text and Web references that might provide an introduction to the theory. I decided to write a Python module after finding most of the programs available online were GUI-only / interactive only (or worse . . . applets). For various reasons, I needed to be able to set up long computational chains on a group of pitch class sets. Typing them into a web browser one at a time and poking buttons was not an option! I released the module to the public under the GPL for three reasons: It might serve as an educational tool for music theory and Pitch Class sets. The addition of functions to connect set theory to the more traditional chord/scale theory might lead to innovative, new types of music software. There wasn't a module available that provided the same functionality. On the other hand, here I am, publishing a module that requires the end user to be knowledgeable about 1.) Python and 2.) Musical Set Theory (obscure). So I don't expect to be the next GNU grep. About this PackageThe API will not change for any of the modules referred to as 'core'. Bugs will be fixed and new modules will be added, but you won't wake up one day and find that PcSets wants input in statcoulombs or Dutch Guldens. In the version 2 series, the core will always behave like the core. Occasionally new functionality will be introduced, but the original functionality will never be 'broken' -- that's why I spent all that time writing unit tests. This is the core as of 2.0.0: pcsets.pcset -- The base class. Includes methods that operate on single sets, such as inversion and transposition. pcsets.pcops -- Operations on two or more sets, such as subset_of(a,b). pcsets.catalog --Generates the entire catalog of 224 prime sets as a Python object. Since this takes a while to generate, it saves the catalog in a pickle file (catalog.pkl) for future use. pcsets.noteops -- The 'universal translator' from PcSets to named notes and vice versa. Any new modules will enter as 'experimental', however, not core. Experimental modules can change at any time. With version 2.0.1, I introduce the first experimental module: pcsets.tonerow -- Implements the ToneRow class. Unlike PcSets, which are unordered, a ToneRow consists of all 12 pitches in an ordered arrangement. There is a lot of good information on this subject in the Straus book referenced below. I've also put a lot of time into writing documentation strings for the module; a run through it with pydoc will probably tell you somewhere between too much and far too much ;-) Another experimental module in development (and still in hiding, until I settle on a usable, workable interface): Operations on the familiar chords and scales -- sort of a noteops for the common language of chord-scale theory. These modules won't make it to the core until at least version 2.1. --BMC About the AuthorBruce H. McCosar is a middle and high school science teacher residing in Gainesville, Florida; he switched to teaching after a career in medicinal chemistry. He is a member of the Mvskoke (Creek) Nation. Besides a lifelong interest in science, Bruce is a musician. He plays bass guitar, electric guitar, Hammond organ, and conga drums. In 2006, he began releasing his music online under a Creative Commons license for free download at Jamendo. So far he has four albums, available from his artist page at: http://www.jamendo.com/us/artist/bruce.h.mccosar/ And if all that wasn't enough, he then got into Python programming! ReferencesI'm not one of those that's going to post a zillion references just to prove I can read. These are the best, the most helpful, the ones I look at all the time. That's right, I read wholesale and passed the savings on to you! WebI posted a lot of the earlier Pitch Class Set code to my blog (bad idea ... it mangled the \n type characters). Nevertheless, there's some good discussion and examples. Check under the tags 'music theory' or 'python'. http://bmccosar.wordpress.com/ If you want a short introduction or tutorial, Jay Tomlin's site is the best. Sort of the 'Classics Illustrated' of Pc theory. http://www.jaytomlin.com/music/settheory/help.html If you want a LOT of information without chasing down a book, well... here's the next best thing. The author does get upset about the old '037' vs '047' issue. You'll see. http://solomonsmusic.net/setheory.htm TextThe classic of the field, "The Structure of Atonal Music", by Allen Forte (1973). A relatively new (but extremely thourough and readable) work, "Introduction to Post-Tonal Theory", by Joseph Straus (3rd ed., 2005).

python settheory musictheory pitchclass library


This is an open source online judge system for acm/icpc. It contains both network part and judger. It is developed and maintained by acm.dhu.edu.cn

dhu acm icpc online-judge