The ability to obtain a shallow depth of field is a reason to own a DSLR (or SLR) and not a downside. The reason I would buy something like a 24-70 2.8L or 300 2.8L is:
1. Speed 2. DOF
One of the prime reasons a portrait, nature photograph is visually appealing is because the photographer used DOF to draw your eye to a specific part of the photograph.
Generally for a landscape one would use the opposite approach, which can also be obtained on (D)SLR.
"Plus - want to add a new attribute to the object? With AR, all you do is add a column to the table. That's *ALL*. What do you do with Hibernate? Add a column to the table, add a private member and accessors to the POJO, and finally add lines in the XML config file that map that column into the object. The next steps involve testing it and then figuring out which thing you spelled incorrectly in the XML config that's preventing your app from working ("Oh - I spelled it 'naem' instead of 'name'!"). "
Personally I use XDoclet (I assume that a fair number of Hibernate developers do as well) so here is how I would add a property to a class that I wanted to be persisted/** * @hibernate.property */ public String getFoo(){...}
public void setFoo(String foo){..}
My class definition might look something like this:/**
* @hibernate.class table="monkey"
*/ public class Monkey{....}
In this case the "table="monkey"" bit would be optional, but very nice flexibility for working with existing tables, as well as for when encountering limits to table name size, etc.
No need to add a column, hibernate can handle that if needed. No editing any xml config file. Very non-tedious if you ask me. In fact, you don't really have to create any tables at all if you don't want to, as Hibernate is perfectly willing to create them all for you. Of course my definition will always require me to add getters and setters which is more verbose than the way Ruby would do it. In addition I have the flexibility to name the property something different than the column in the database, which is quite handy and desirable in many cases. In general Hibernate does not require to you follow any arbitrary naming convention with your columns, or relationships (since you can use a configuration file or in my case, XDoclet). I was looking thru the ActiveRecord docs, and I did not find some basic features that are quite important (however I did not spend too much time, so I may have overlooked them). For example, not all databases have auto-incrementing columns, so there needs to be a way to specify how one would use something like a sequence. Hibernate provides this. It also appears that you are only provided with the option of using native SQL for queries, which is not optimal if you want to at least pretend you are remaining database neutral (heh heh), while Hibernate provides the option of Criteria queries, hsql, or the ODMG(?) OQL interface.
Hibernate is simply trading more features for increased complexity. ActiveRecord appears to be taking a more bare bones approach. I'm not knocking ActiveRecord, it seems very cool, but it seems to be simpler by virtue of the fact that it just does less stuff, albeit probably stuff that handles 80% of cases just fine. By the way, I noticed that ActiveRecord does not support Oracle, or SQL Server. Does Ruby not have some sort of general database access API, or is the bridge component that ActiveRecord require just needed to tweak calls to that API?
Sorry, couldnt get/. to stop mangling some of the code examples. Good thing this isnt Python, eh?:)
Rails (which I have not used) claims to be a complete MVC framework, whereas Hibernate (which I have used fairly extensively) focuses entirely on persistence, so comparing the two seems a bit odd.
While I am sure that it is nice for prototyping things quickly, it does not seem to be solving the same problem as Hibernate. For example, Hibernate does not require the user to extend a some sort of base class in order for a POJO to gain persistence, which some developers would perceive to be a huge benefit.
In summary, this does not really seem like an apples to apples comparison, perhaps not even an apples to fruit comparison:)
"There, you see, you went too far in the other direction. It's true that probably nearly everyone (myself included) did not know the lines came from a often jocular fundraiser dinner, also featuring the comic stylings of Al Gore. But this does not mean that I (nor why would anyone?) think it was a "secret" dinner; and while one might reasonably assume Bush would be speaking to a more partisan crowd, with such comments, your phrasing goes to far in making it seem like people watching who disfavour Bush think that that makes it some sort of conspiracy."
Yes, that was over the top. I was merely attempting to inject a little of the flavor of F911 into my post.
Personally, I would speculate that most people watching that clip would come to the conclusion that Bush was engaging in an attempt at humor. Some might not find it humorous however.
My favorite soundbite in F911 comes from Condoleezza Rice.
In the movie we hear Condi state:
"Oh, indeed there is a tie between Iraq and what happened on 9/11."
And here is a transcript from the morning show she was appearing on when she made this statement.
"Oh, indeed there is a tie between Iraq and what happened on 9/11. It's not that Saddam Hussein was somehow himself and his regime involved in 9/11, but, if you think about what caused 9/11, it is the rise of ideologies of hatred that lead people to drive airplanes into buildings in New York."
Again, draw your own conclusions about why one might omit the second sentence.
Here I am with the 'haves' [dramatic pause] and the 'have mores'. Some call you the elite [dramatic pause] I call you 'My Base'
This is a perfect example of the benefit of doing a little simple research and thinking, instead of absorbing information served to you. Based on watching the film, you were probably under the impression that Bush delivered this line at some sort of secret fund raising dinner, rallying the his vast right-wing army. In fact, this occured at the Al Smith dinner, which is a charity dinner that traditionally hosts presidental candidates, and of course the candidates are encouraged to make self depricating remarks. You would probably be surprised to know that the other guest of honor that evening was Al Gore, who I believe re-stated his claim that he invented the internet (as well as virtually every invention of the 20th century) as well as some other gems about keeping various types of produce safe in his fridge.
BMI is a non-profit organization that collects royalties for performances on behalf of artists. ASCAP is a similar organization. The money is obtained from entities like radio stations and then is distributed to artists based on statistical sampling of compiled performance data. Artists (songwriters, composers, publishers) select an organization (BMI, ASCAP) and register their works with them, and in return for a membership fee, the organization sends them a check if their performances show up on the radar.
Current DSP based systems (Pro Tools anyway) use chips from this lineage. Pro Tools MIX systems use many 56301's, while the Pro Tools HD and Accel systems use 56321s?
Oh yeah, I still have a NeXT slab with the external audio interface. It was the premier platform for doing direct synthesis (vis CSound) in it's day:)
I agree that low latency is quite important, and anything that furthers that goal is a good thing. Even the really good native systems still arent quite up to the task of recording lots of live musicians, which is why for now I use Protools HD on OSX.
I was recommending implementing CoreAudio (or heck Direct Sound) instead of something just similar because it would decrease the level of effort for the developers of the applications (and very importantly plugin developers). It would just be a case of recompile-and-pray vs recode-recompile-pray, which might make it feasible to get some of these great high-end apps on linux.
Perhaps Linux developers should take a whack at emulating/copying OSX Core audio. It might provide an incentive for application developers to port their audio apps to Linux.
Developers do not have the time to write effects that only work on a limited subset of cards, Especially when driver and feature support is spotty and weak. It generally ends up being more trouble than it is worth.
Also, any of you folks with a Soundblaster card that think you are fronting "Pro" audio gear are completely fooling yourselves.
Practically all high end analog devices (patchbays,mixers) have used these connectors for years, and they don't seem to be suffering. I think you might have been brainwashed by the folks that are trying to sell gold-plated monster optical cables in Best Buy.
Another interesting but pointless exercise. If you want a solid state recording device that is useful, check out Radar24 with the flash disk option http://www.izcorp.com Also be prepared to part with multiple thousands of dollars.
Personally, I won't be selling my Protools HD system for a linux based system just yet:)
"What I'd like to see is the concept of a "remote object". Imagine standard OOP, except that a particular object doesn't have to exist in the same memory/process space as the parent.
You should check out CORBA, or RMI. There are also these things called Enterprise Java Beans that everyone loves to hate.
We got tired of reinventing the wheel. These API's exist because the solve problems. By not having to deal with these problems, you can focus on your specific business needs.
Have fun writing everything in C++ (no STL mind you) and no linking to external libraries. Let me know how it goes talking to the database, or parsing that XML file some vendor just sent you.
I can't tell you how many times someone has said to me "Gee if we just had our own implementation of platform and vendor neutral database connectivity API it would solve a critical business need!".
Why would I as a game developer want to target Linux as my main platform? As painful as it is for me to say, it does not offer me any advantages over Windows, Mac in terms of game development. I can use OpenGL on any of these platforms. As far as audio goes, I pretty much need to use OpenAL if I want to have any type of cross platform support.
I'm not really sure how a bootable CD distro really helps either. Most people expect games with at least some sort of persistence (save games, etc). Do you want them to save their games on a compact flash card, or something lame like that? I sure don't want to mount their drive and risk fubaring things. Assuming that my game will not be perfect, should I have them throw away the cd and burn a new one every time I need to release a patch, or for every cool mod that gets released?
I find it hard to think of a good argument for Linux as a choice gaming OS in it's current state.
"Do developers out there voice the need to store binaries? I can imagine this being needed for web developers and such, but I think programmers can just build their binaries from CVS."
Personally, I am working on a game, and there are tons of binary format files (textures, models) While many of these files can be generated from source so to speak, it would not always be practical. In addition, they take up a non-trivial amount of space, and the binary diff feature could help with this.
You can also cover your head with a paper bag and pretend the rest of the world does not exist. In lieu of a paper bag, you could use a force field powered by your own sense of self-satisfaction.
I believe MJ used a Sure SM7 to record thriller. A popular broadcast mic, but quite a different beast. That being said, there are many artists who record their vocals with a SM57/58. Bono is a popular example.
Just as a point of information, studio microphones are not inherently fragile (from a sound reproduction perspective. Large diaphragm condenser microphones (like the Neumann U87) are routinely used to capture VERY loud sources like drums, guitars, etc. While it makes me cringe a little, I have seen a guy use a U47 (old, rare and cranky Neumann/Telefunken) on a bass drum. You could probably set a bomb off next to the more modern transistor based mics like a TLM103. I use it routinely for drums and other harsh sources.
These microphones are hardly fragile in this sense, but we hate you blowing on them because: It sounds like crap, and we dont want you getting your monkey spit on our really expensive mic.
Lots of folks would reach for a modern reproduction of vintage Neumann/Telefunken mics these days, like the ones make by Soundelux. You get the great vintage sound, and modern durability and reliability.
Unlike lets say, an SM57, these types of microphones are generally not suited for live performance (ie. being held by a vocalist) because they are not designed to reject handling noise, and well, generally suck if you touch them. Since this is/. I should point out that the venerable (and cheap, so cheap its practically open source) SM57/SM58 is commonly used to record vocals. For example Bono has recorded just about all his vocals with an SM58. The ol 57/58 almost always work ok for things like snare drums, and even guitar cabinets.
You are probably thinking to yourself "All I need is Audacity and a pile of crappy mics and I'm ready to be a rock star". Sorry, but you really cannot cheap out on the mics entirely. Even worse, you cannot cheap out on mic preamps. Don't even get me started about how something like a "lowly" mic preamp can make such a big difference in the sound of a recording, but that is another discussion entirely. At this point, you cannot entirely eliminate the analog domain if you are recording acoustic sources. You can greatly reduce the number of analog compressors/limiters preamps that you need, but you still need them. And if you have crappy ones, the result will be crappy.
Since this discussion is supposed to be about Audacity, I agree that it is great that Linux is getting audio tools. However, if you want to make music right now, don't waste your time with this. Bite the bullet and use your Wintel or Mac and use one of the many very reasonably priced apps (Heck, use garageband). There are a few "core" plugins (Waves for example) that truly make digital recording feasable, and Audacity would at the bare minimum need to support these to be a contender. In addition, the latency appears to be absolutely dreadful under Linux. Personally I understand that I am spoiled as I use a Protools HD system (which has extremely low, or effectively no latency), but there are many host based systems that can acheive fairly low latency. You simply cannot record musicians in some sort of multi-track setting if they cannot monitor properly.
I think you want this: http://www.jstik.com/
The ability to obtain a shallow depth of field is a reason to own a DSLR (or SLR) and not a downside. The reason I would buy something like a 24-70 2.8L or 300 2.8L is:
1. Speed
2. DOF
One of the prime reasons a portrait, nature photograph is visually appealing is because the photographer used DOF to draw your eye to a specific part of the photograph.
Generally for a landscape one would use the opposite approach, which can also be obtained on (D)SLR.
"Plus - want to add a new attribute to the object? With AR, all you do is add a column to the table. That's *ALL*. What do you do with Hibernate? Add a column to the table, add a private member and accessors to the POJO, and finally add lines in the XML config file that map that column into the object. The next steps involve testing it and then figuring out which thing you spelled incorrectly in the XML config that's preventing your app from working ("Oh - I spelled it 'naem' instead of 'name'!"). "
/** ...}
/**
/. to stop mangling some of the code examples. Good thing this isnt Python, eh? :)
Personally I use XDoclet (I assume that a fair number of Hibernate developers do as well) so here is how I would add a property to a class that I wanted to be persisted
* @hibernate.property
*/
public String getFoo(){
public void setFoo(String foo){..}
My class definition might look something like this:
* @hibernate.class table="monkey"
*/
public class Monkey{....}
In this case the "table="monkey"" bit would be optional, but very nice flexibility for working with existing tables, as well as for when encountering limits to table name size, etc.
No need to add a column, hibernate can handle that if needed. No editing any xml config file. Very non-tedious if you ask me. In fact, you don't really have to create any tables at all if you don't want to, as Hibernate is perfectly willing to create them all for you. Of course my definition will always require me to add getters and setters which is more verbose than the way Ruby would do it. In addition I have the flexibility to name the property something different than the column in the database, which is quite handy and desirable in many cases. In general Hibernate does not require to you follow any arbitrary naming convention with your columns, or relationships (since you can use a configuration file or in my case, XDoclet). I was looking thru the ActiveRecord docs, and I did not find some basic features that are quite important (however I did not spend too much time, so I may have overlooked them). For example, not all databases have auto-incrementing columns, so there needs to be a way to specify how one would use something like a sequence. Hibernate provides this. It also appears that you are only provided with the option of using native SQL for queries, which is not optimal if you want to at least pretend you are remaining database neutral (heh heh), while Hibernate provides the option of Criteria queries, hsql, or the ODMG(?) OQL interface.
Hibernate is simply trading more features for increased complexity. ActiveRecord appears to be taking a more bare bones approach. I'm not knocking ActiveRecord, it seems very cool, but it seems to be simpler by virtue of the fact that it just does less stuff, albeit probably stuff that handles 80% of cases just fine. By the way, I noticed that ActiveRecord does not support Oracle, or SQL Server. Does Ruby not have some sort of general database access API, or is the bridge component that ActiveRecord require just needed to tweak calls to that API?
Sorry, couldnt get
Rails (which I have not used) claims to be a complete MVC framework, whereas Hibernate (which I have used fairly extensively) focuses entirely on persistence, so comparing the two seems a bit odd.
:)
While I am sure that it is nice for prototyping things quickly, it does not seem to be solving the same problem as Hibernate. For example, Hibernate does not require the user to extend a some sort of base class in order for a POJO to gain persistence, which some developers would perceive to be a huge benefit.
In summary, this does not really seem like an apples to apples comparison, perhaps not even an apples to fruit comparison
"There, you see, you went too far in the other direction. It's true that probably nearly everyone (myself included) did not know the lines came from a often jocular fundraiser dinner, also featuring the comic stylings of Al Gore. But this does not mean that I (nor why would anyone?) think it was a "secret" dinner; and while one might reasonably assume Bush would be speaking to a more partisan crowd, with such comments, your phrasing goes to far in making it seem like people watching who disfavour Bush think that that makes it some sort of conspiracy."
Yes, that was over the top. I was merely attempting to inject a little of the flavor of F911 into my post.
Personally, I would speculate that most people watching that clip would come to the conclusion that Bush was engaging in an attempt at humor. Some might not find it humorous however.
My favorite soundbite in F911 comes from Condoleezza Rice.
In the movie we hear Condi state:
"Oh, indeed there is a tie between Iraq and what happened on 9/11."
And here is a transcript from the morning show she was appearing on when she made this statement.
"Oh, indeed there is a tie between Iraq and what happened on 9/11. It's not that Saddam Hussein was somehow himself and his regime involved in 9/11, but, if you think about what caused 9/11, it is the rise of ideologies of hatred that lead people to drive airplanes into buildings in New York."
Again, draw your own conclusions about why one might omit the second sentence.
Here I am with the 'haves' [dramatic pause] and the 'have mores'. Some call you the elite [dramatic pause] I call you 'My Base'
This is a perfect example of the benefit of doing a little simple research and thinking, instead of absorbing information served to you. Based on watching the film, you were probably under the impression that Bush delivered this line at some sort of secret fund raising dinner, rallying the his vast right-wing army. In fact, this occured at the Al Smith dinner, which is a charity dinner that traditionally hosts presidental candidates, and of course the candidates are encouraged to make self depricating remarks. You would probably be surprised to know that the other guest of honor that evening was Al Gore, who I believe re-stated his claim that he invented the internet (as well as virtually every invention of the 20th century) as well as some other gems about keeping various types of produce safe in his fridge.
You can find a brief blurb here:
http://www.cbsnews.com/stories/2000/10/18/polit
Feel free to draw your own conclusions about who is telling the "truth". And remember all facts are always true
BMI is a non-profit organization that collects royalties for performances on behalf of artists. ASCAP is a similar organization. The money is obtained from entities like radio stations and then is distributed to artists based on statistical sampling of compiled performance data. Artists (songwriters, composers, publishers) select an organization (BMI, ASCAP) and register their works with them, and in return for a membership fee, the organization sends them a check if their performances show up on the radar.
Current DSP based systems (Pro Tools anyway) use chips from this lineage. Pro Tools MIX systems use many 56301's, while the Pro Tools HD and Accel systems use 56321s?
Oh yeah, I still have a NeXT slab with the external audio interface. It was the premier platform for doing direct synthesis (vis CSound) in it's day
Most DSP based audio systems (Pro Tools, Sonic Solutions, Sony Oxford) use fixed point math to mix audio signals and produce effects.
I submit "www.dictionary.com" as an excellent source for the correct spelling of "assualt".
I agree that low latency is quite important, and anything that furthers that goal is a good
thing. Even the really good native systems still arent quite up to the task of recording lots of live musicians, which is why for now I use Protools HD on OSX.
I was recommending implementing CoreAudio (or heck Direct Sound) instead of something just similar because it would decrease the level of effort for the developers of the applications (and very importantly plugin developers). It would just be a case of recompile-and-pray vs recode-recompile-pray, which might make it feasible to get some of these great high-end apps on linux.
Perhaps Linux developers should take a whack at emulating/copying OSX Core audio. It might provide an incentive for application developers to port their audio apps to Linux.
I agree with you 100% on support costs.
Developers do not have the time to write effects that only work on a limited subset of cards, Especially when driver and feature support is spotty and weak. It generally ends up being more trouble than it is worth.
Also, any of you folks with a Soundblaster card that think you are fronting "Pro" audio gear are completely fooling yourselves.
Practically all high end analog devices (patchbays,mixers) have used these connectors for years, and they don't seem to be suffering. I think you might have been brainwashed by the folks that are trying to sell gold-plated monster optical cables in Best Buy.
Another interesting but pointless exercise. If you want a solid state recording device that is useful, check out Radar24 with the flash disk option http://www.izcorp.com Also be prepared to part with multiple thousands of dollars.
:)
Personally, I won't be selling my Protools HD system for a linux based system just yet
"What I'd like to see is the concept of a "remote object". Imagine standard OOP, except that a particular object doesn't have to exist in the same memory/process space as the parent.
You should check out CORBA, or RMI. There are also these things called Enterprise Java Beans that everyone loves to hate.
"use DBI;"
Apparently your sarcasm detector was not properly calibrated.
"Whatever happened to plain Java?"
We got tired of reinventing the wheel. These API's exist because the solve problems. By not having to deal with these problems, you can focus on your specific business needs.
Have fun writing everything in C++ (no STL mind you) and no linking to external libraries. Let me know how it goes talking to the database, or parsing that XML file some vendor just sent you.
I can't tell you how many times someone has said to me "Gee if we just had our own implementation of platform and vendor neutral database connectivity API it would solve a critical business need!".
Since you asked, my opinon is that your post should be modded (+2, Delusional)
Why would I as a game developer want to target Linux as my main platform? As painful as it is for me to say, it does not offer me any advantages over Windows, Mac in terms of game development. I can use OpenGL on any of these platforms. As far as audio goes, I pretty much need to use OpenAL if I want to have any type of cross platform support.
I'm not really sure how a bootable CD distro really helps either. Most people expect games with at least some sort of persistence (save games, etc). Do you want them to save their games on a compact flash card, or something lame like that? I sure don't want to mount their drive and risk fubaring things. Assuming that my game will not be perfect, should I have them throw away the cd and burn a new one every time I need to release a patch, or for every cool mod that gets released?
I find it hard to think of a good argument for Linux as a choice gaming OS in it's current state.
"Do developers out there voice the need to store binaries? I can imagine this being needed for web developers and such, but I think programmers can just build their binaries from CVS."
Personally, I am working on a game, and there are tons of binary format files (textures, models) While many of these files can be generated from source so to speak, it would not always be practical. In addition, they take up a non-trivial amount of space, and the binary diff feature could help with this.
You can also cover your head with a paper bag and pretend the rest of the world does not exist. In lieu of a paper bag, you could use a force field powered by your own sense of self-satisfaction.
I believe MJ used a Sure SM7 to record thriller. A popular broadcast mic, but quite a different beast. That being said, there are many artists who record their vocals with a SM57/58. Bono is a popular example.
Just as a point of information, studio microphones are not inherently fragile (from a sound reproduction perspective. Large diaphragm condenser microphones (like the Neumann U87) are routinely used to capture VERY loud sources like drums, guitars, etc. While it makes me cringe a little, I have seen a guy use a U47 (old, rare and cranky Neumann/Telefunken) on a bass drum. You could probably set a bomb off next to the more modern transistor based mics like a TLM103. I use it routinely for drums and other harsh sources.
These microphones are hardly fragile in this sense, but we hate you blowing on them because: It sounds like crap, and we dont want you getting your monkey spit on our really expensive mic.
Lots of folks would reach for a modern reproduction of vintage Neumann/Telefunken mics these days, like the ones make by Soundelux. You get the great vintage sound, and modern durability and reliability.
Unlike lets say, an SM57, these types of microphones are generally not suited for live performance (ie. being held by a vocalist) because they are not designed to reject handling noise, and well, generally suck if you touch them. Since this is
You are probably thinking to yourself "All I need is Audacity and a pile of crappy mics and I'm ready to be a rock star". Sorry, but you really cannot cheap out on the mics entirely. Even worse, you cannot cheap out on mic preamps. Don't even get me started about how something like a "lowly" mic preamp can make such a big difference in the sound of a recording, but that is another discussion entirely. At this point, you cannot entirely eliminate the analog domain if you are recording acoustic sources. You can greatly reduce the number of analog compressors/limiters preamps that you need, but you still need them. And if you have crappy ones, the result will be crappy.
Since this discussion is supposed to be about Audacity, I agree that it is great that Linux is getting audio tools. However, if you want to make music right now, don't waste your time with this. Bite the bullet and use your Wintel or Mac and use one of the many very reasonably priced apps (Heck, use garageband). There are a few "core" plugins (Waves for example) that truly make digital recording feasable, and Audacity would at the bare minimum need to support these to be a contender. In addition, the latency appears to be absolutely dreadful under Linux. Personally I understand that I am spoiled as I use a Protools HD system (which has extremely low, or effectively no latency), but there are many host based systems that can acheive fairly low latency. You simply cannot record musicians in some sort of multi-track setting if they cannot monitor properly.