Domain: emusictheory.com
Stories and comments across the archive that link to emusictheory.com.
Comments · 10
-
Re:Unfortunately
I personally come up with several ideas a year that fail at least one of those criteria. I usually have some initial itch, do some quick googling to see if it exists, then focus most of my energy on finding a good domain name. Once I've registered that... then further design and/or development work turns up some fatal flaw, some fatal but subtle technical roadblock, or another project that I'd missed in my earlier searches that already does more or less what I want.
Fortunately I'm starting to get better about vetting them nowadays... I have a few random duds still floating around out there.
To the original poster -- if you want a technical review of your idea, I don't mind signing an NDA (hey, why not) and brainstorming over the course of a few emails; if I actually personally found the project exciting, it fit well with my experience, and I had the time to help (dunno at the moment) we'd either sort out rates, or eventual profit sharing or whatever. But a quick review -- sure, it's like a brainteaser; you can contact me through the form at http://www.emusictheory.com/contact.muse if you're interested (that's an idea that's still kinda ugly, but is working out).
Unfortunately, I think you'll find that most great ideas that can be implemented in a week or so have been tried... or there's some non-obvious but serious flaw.
-
Free alternatives
I'd definitely encourage getting comfortable with at least basic music theory and sight-reading as part of learning any instrument. Not because you'll need it right at the beginning... but it's the sort of thing that's simple to learn gradually, but pretty painful when you hit the wall later and want to absorb it all at once.
Musition and Aurelia are okay, though aging a bit and not cheap. There are similar resources available online for free.
And now, a bit of shameless self-promotion:
I run a website with free music theory exercises and explorations of music theory concepts. Requires Java 1.1 or above.
Feel free to send me feedback through the site or here.
Musictheory.net is another site I recommend fairly often, with Flash-based music theory lessons and some exercises. EMusicTheory (my site) focusses on drills, not tutorials, so when students are having trouble understanding the concepts in the first place I tend to send them here. -
Free alternatives
I'd definitely encourage getting comfortable with at least basic music theory and sight-reading as part of learning any instrument. Not because you'll need it right at the beginning... but it's the sort of thing that's simple to learn gradually, but pretty painful when you hit the wall later and want to absorb it all at once.
Musition and Aurelia are okay, though aging a bit and not cheap. There are similar resources available online for free.
And now, a bit of shameless self-promotion:
I run a website with free music theory exercises and explorations of music theory concepts. Requires Java 1.1 or above.
Feel free to send me feedback through the site or here.
Musictheory.net is another site I recommend fairly often, with Flash-based music theory lessons and some exercises. EMusicTheory (my site) focusses on drills, not tutorials, so when students are having trouble understanding the concepts in the first place I tend to send them here. -
Re:Open Source Music software [plug]
Music Theory (free, not oss): http://www.musictheory.net/
musictheory.net is a good one; I'd also like to toss my site out there, emusictheory.com -- also pretty popular for free (non-OSS) interactive music theory drills.
BTW -- musictheory.net uses Flash; emusictheory.com uses Java applets.
[wow; so rare I get to actually make a plug somewhat on topic!] -
Re:Still needs lots of work
Quick background -- my main current project is continued develoment on a web-based order entry system for a mid-sized home/garden store chain. Using IBM DB2 for them. I also have a few independant, much smaller online projects (here's the main one), that are using Java/MySql or PHP/MySql.
Live reporting of database information is a different story (reports were probably a bad example). If you want second-by-second data of several types live from a dataset, you'll probably find subqueries very useful.
My experience with reports may not really be the standard one -- I've been working so far always with live reports, hitting live data. I've used temporary tables while doing data-mining-by-hand kind of work, but never in one of the online-available reports.
In the home/garden project I have a report that starts on sales by store in a date range, and you can drill down into the data to see departments within the store, then items within the department; I just have to peel off another layer of subselects on each level of the report, and always apply the date range/dept/store filters on the lowest level, so it doesn't need to work with any more data than necessary. That'd be ugly without subsels.
Kind of a moot point in that case, to be fair, since we aren't considering MySql for that project, but I get into scrapes all the time in my smaller projects just because I forget I don't have multiple levels of group-by... or I just want to use a subselect because it's cleaner, shorter, and easier to maintain, despite being slightly less efficient (which doesn't bother me with a fairly small dataset, especially if I'm smart about limiting the data in the subselect, instead of in the parent select).
BTW -- do you only use temp tables in cases where they're reusable, or is it reasonable to create a one-off temp table for something on the fly? I do that when I have to when I'm doing work by hand, but not yet from an application.
They don't want the subquery that chose the list of customer accounts to report on to change between the AR balance report and the GL report. As a result, the temporary table solution is perfect.
Here you're talking about tables that are probably just repopulated daily, right? That's a great idea... I get jumpy about maintaining totals tables, that sort of thing (it's kind of anti-normalization, and can be hard to maintain w/ triggers or in the app), but just taking the most useful cut(s) of the data and putting it into one big table every night could be very useful. I've been assuming that data a day stale wouldn't work for my customer, but it's worth asking. :) -
Problems with Java applet network access
Anyone else having problems with accessing the network from a Java applet after installing SP2? I don't have a computer running SP2, but I run a website that depends on my applets being able to connect back to the server (normally this is allowed in the Java applet sandbox, and I've never had issues before) -- the connection just gets cut. Works fine on Mac OS X, various flavors of Linux, earlier versions of Windows including 98, 2K, XP SP1, etc.... but I've gotten a bunch of reports from SP2 users who just get errors.
I'm connecting to the hosting webserver, using plain HTTP, over port 80. Why would the firewall kill the socket?
If anyone with SP2 wants to waste 5 minutes and test for me (you know, try with firewall enabled, disabled, whatever other variables you can think of), I'd be eternally grateful. No reward much to offer unless you're a music teacher, though....
URL:
http://www.emusictheory.com
Login as a student
username: test
password: test
teacher code: 100
Click "do assignments", pick one, hit "start drill", press a button to get a wrong answer, hit "stop drill" then "report score", then "send score report".
You may see a window pop up if the drill gets the error and tries it's new recently-hacked-in backup method.
If anyone does help out, contacting me is easy through the website. -
My example -- client and server
This isn't much of a shameless plug (since there aren't many music theory teachers on
/.)... but anyway, I run a website that uses all Java on the back end -- Apache Struts/JSPs -- and Java applets (w/ AWT) on the front end.
It works... server-side, Java is great, and I use it for bigger contract projects where I can test on w2k and deploy and iSeries or Solaris. Client-side, it's not headache-free, but it's been my best option so far. The applets are limited to Java 1.1 functionality, since most users just have the bundled MS JRE. But they run fine on Mac, Linux, etc..
The cross-platform aspect was one of the biggest sells for me -- I develop mostly on win2k, deploy on a Linux server. The second big sell -- no investment in software! Eclipse, Tomcat, Struts, the JDK... all of this stuff is open source or free for me to use.
No, I'm not a pure-java nut, either... I'm using PHP for a forum I'm setting up on my site, just because open source PHP forum options are much better than what I've seen in Java.
BTW - there's another Java GUI toolkit I've been playing with lately that's a nice alternative to AWT (yes, it's bad that there are so many imperfect alternatives... you learn to deal). If you need a nice-looking, very lightweight GUI that only needs Java 1.1 to work, try Thinlets (LGPL). You can build your GUI in code, or (the better way) by parsing an XML file (the XUL model). -
Java vs. specialty languagesIt's not the capabilities of jMusic or the Java Sound API that led them to Java. If you just balance a list of capabilities in the musical realm, there are plenty of specialty languages and environments -- i.e., MAX, PD, ChucK, and so on -- that have greater built-in capabilities, because they are languages or scripting engines focussed only on music. That's also the downside of those languages, though; they are specialty languages.
In '97-'98 I wrote a bunch of music theory training programs for the Music department at my school (they eventually became this website), and I tried out MAX first before I went with Java. MAX was far better equipped to handle the music-related requirements (anyone remember Java 1.0.2?). But with Java I could put my applets online, run them on any OS, and (biggest bonus) get some serious experience in a language that would get me my first job when I got out of college. Learning a new language to a level where you can tackle an ambitious project is a big investment. There are a lot of musicians and composers with day jobs as developers (like me) who want to be able to leverage what they already have, if feasible. And nowadays, Java has pretty good support for audio, as general-purpose languages go, so many projects wouldn't be giving up much to use Java.
Here are a few snippets from the jMusic website that suggest why they chose Java for their project:Programming in jMusic is programming in Java, not in a meta-language or scripting environment. This means that the full power and cross platform independence of Java is maintained, it also means that the more you know about Java programming the more useful jMusic will be to you. Learning jMusic can be a fun way to gain Java programming skills while focusing on making music.
There are more hints at this in the intro of the article, as well.
[...]Because jMusic has full access to the Java language and support structures, your jMusic work can be as extensive as Java allows (and that is VERY extensive). -
I have one (serious post)
Well, "serious post" as much as any endeavor of this type can be considered serious...
I've worked completely solo to build this website -- basically, it offers online interactive music exercises with a lot of support for teachers.
I brought it online just a week ago... now I'm waiting to work out a few more kinks before I open the doors to floods of subscribers.
Well, I think I'm guaranteed 2 or 3 subscribers... we'll have to see about the "floods". Anyway, I'm hosting it for $30/month, which I mostly paid for by reselling a bit of my bandwidth to an uncle for his website (he sells batteries and UPS systems).
So... thus far the only real cost are my time (and I built it all outside of my normal working hours).
In some ways, this nicest payoff from this sort of project is the emails from appreciative users... but yeah, I'm hoping it'll become a minor revenue stream. Ego boosts only go so far, in the end (as the work gets less fun). -
Learning music with games
I'm just getting a website off the ground that builds on this idea, with online games that students can use to practice basic music theory skills.
Right now the games aren't very exciting... (yeah, yeah; I'm working on it) but they're definitely highly effective. I've had a previous generation of the site running at the college I went to for the past 6 years, and I've gotten a lot of very positive feedback from students and teachers.
Practicing this kind of thing (music theory skills) on paper is *deadly* boring, and most students need a *lot* of practice before they are natural and quick enough to understand written music effectively.
NOTE... I'm talking about drills here, not real FPL (First Person Learner?) games, which are the real focus of this article. I think drills tend to be more effective for just raw practice of very basic skills, but more immersive interactivity would be better than simple drills for helping students understand "big picture" kinds of issues. Assembling an orchestra and learning about how different timbres from different instruments color the overall sound might be neat in a computer game.
Or... maybe almost anything could be taught via a game wherein a mathemetician/ composer/ architect/ accountant/ software engineer/ whatever was murdered, and to understand the clues the student needs to learn these basics....