<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-7225698277211840079</atom:id><lastBuildDate>Mon, 30 Aug 2010 16:27:16 +0000</lastBuildDate><title>bjorg</title><description></description><link>http://blog.bjornroche.com/</link><managingEditor>noreply@blogger.com (Bjorn Roche)</managingEditor><generator>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-3262445662011218071</guid><pubDate>Thu, 15 Jul 2010 16:10:00 +0000</pubDate><atom:updated>2010-07-15T09:23:22.328-07:00</atom:updated><title>I signed a deal with the devil and now he wants my soul! Tales of Record Industry Woe...</title><description>Yesterday I visited &lt;a href="http://lizphair.com/"&gt;Liz Phair's web site&lt;/a&gt; hoping to hear this new song where she raps. Instead I was subjected to 90's quality web-design and a short note about how rebellious her new songs are because they cost her her management and record label. "You weren't supposed to hear them," it read. It reminded me of one of those conspiracy theory web sites.&lt;br /&gt;&lt;br /&gt;Today I read &lt;a href="http://www.techdirt.com/articles/20100712/23482610186.shtml"&gt;an article about business practices at major label&lt;/a&gt; (Mis-titled "RIAA Accounting" as if RIAA does the accounting at major labels).&lt;br /&gt;&lt;br /&gt;Every few weeks or so, I hear a story about how evil record labels are for not paying musicians or not understanding them, or something along those lines. Search the internet and you will find lots of stories about how record labels do the accounting in order to avoid paying bands what they rightfully "deserve" or would have made under different conditions, like with a smaller label, or if they had done it themselves, or if the label had done the accounting "fairly" or something like that.&lt;br /&gt;&lt;br /&gt;Well, most of it's true, more or less. Record labels are out to make money. Plain and simple. The record business is, er, a business (newsflash!). What's most surprising to me about this is how surprising it seems to be to so many people.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; float: right; text-align: center; width: 250px;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_-pZI7Bl38cw/TD8xu_tMxFI/AAAAAAAAABs/fM-PoyLa8w0/s320/robot-devil.png" title="robot devil" /&gt;&lt;br /&gt;Let me see if I understand correctly. You say a deal with the &lt;em&gt;devil&lt;/em&gt; didn't work out the way you expected?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Musicians have many goals, one of which, like the labels, may be to make money. Many of the goals of musicians are at odds with the goals of the labels. When it comes to signing the contract, though, the labels have the upper hand: musicians are &lt;i&gt;desperate&lt;/i&gt; to get signed, and the labels have been doing this for years and they know how to make bands sign a contract that works better for them than for the band.&lt;br /&gt;&lt;br /&gt;But let's get something straight:&amp;nbsp;Investing in bands is hard. Seriously, you may think you can pick the next hit band when you hear them at the bar, but there's a lot more to it than writing a catchy song or two. Can the band deal with management? Can they work in the studio? How do&amp;nbsp;test audiences respond to them&amp;nbsp;(this is more important than how real audiences respond to them)? Have they sought legal council? There's a million questions many of which have nothing to do with the quality of their music and it's still a crap-shoot.&lt;br /&gt;&lt;br /&gt;And yet, record labels are doing it: they are investing in bands. In order for it to work at all, some really ugly stuff needs to happen. Crappy pop bands need to get signed. Lousy deals need to be made, and, here comes the horrible truth you don't want to hear, most bands fail by &lt;b&gt;any&lt;/b&gt; measure. In my opinion, major labels could probably make some more money off smaller artists if they invested more, but instead they focus on the artists they think are going to be huge, because they are big organizations structured for big payoffs. The mid-sized or potentially mid-sized artist is best served by signing to a smaller label or hiring a private publicist, and either paying out of pocket, or getting money for that in record contract. Of course, no one thinks about being a mid-sized artist when they sign a record contract.&lt;br /&gt;&lt;br /&gt;It's not pretty, but that's music industry sausage. But, contrary to the complaining, the label doesn't want the band it's invested in to starve, either: a savvy band with good management has plenty of opportunities besides record sales to make money, and the record label has no interest in cutting into that. Usually, these sorts of proceeds are not included in these "record labels are evil" calculations, but that's probably fair, because the point of those calculations is usually to show that labels aren't paying musicians, which, by and large, they aren't. A savvy band should realize that album sales are promotion for they other items, and the label knows that other items such as touring (which, as I understand it, is increasingly becoming part of the label income, too) are promotion for the records.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A smart band will negotiate their record contract rather than just signing it. As I mentioned earlier, it's still pretty one-side, but small things can be huge wins for the band. To use an old example I happen to remember, Primus kept the rights to their demos and made a lot of money off the sales of them when their album sold well. The fact is, contracts wouldn't suck so bad for bands if bands didn't want to be signed so badly. But bands are desperate. They want contracts, so they sign them. Bands can and sometimes do walk away from the table, but that's rare, and the record contract is the only deal on the planet where someone is going to &lt;b&gt;give you significant amounts of money&lt;/b&gt; to record and play your music. Plus, it's cool to bitch about record labels being "evil" after you are signed. Like you had nothing to do with it. "I made a deal with the devil and now he wants my soul! Can you believe how evil he is?"&lt;br /&gt;&lt;br /&gt;Maybe that's unfair of me, but it's worth emphasizing the flip-side of the argument, when the internet is full of "record labels are evil and screw artists over" talk. I just read one article where the author compares a record deal to a loan. It's not a loan. Loans come with a promissory note, which is a promise to pay the money back. Banks only give you a loan when they think they are going to get the money back, and if they can't get you to pay, they take your collateral, which is usually something like your house. The record label knows that there's a good chance that they are not going to get the money back. Would a bank give a band a loan to make a CD? Maybe before the housing market collapse, but even then you'd need some collateral. Like the afore mentioned house. But the label isn't taking collateral. While there are many crappy things about all this, we have to appreciate that one fact. It's kinda magical.&lt;br /&gt;&lt;br /&gt;So if it's not a loan, what is it? It's an investment contract, like venture capital. And as with venture capital, when the original investment goes big, the venture capitalist, ie the record label, gets a big cut. They also want a fair bit of control, ownership, and so on. And yea, that sucks. Talk to anybody who's started a small company with venture capital about how their investors "don't get it". The best position to be in is to have a good contract from the get-go, and to do that you need as much negotiating power as you can get. That might mean turning down the first record contract that comes along, or spending some cash on a real shark to read and help you understand the contract, or maybe you need shop your demos to the labels who are a better match for your needs, rather than just every label in town. At the end of the day it means research, hard work and compromises.&lt;br /&gt;&lt;br /&gt;But if that still seems unfair -- and I'm not arguing it's totally fair -- I ask again where else are you going to get money to make music and tour with your band? The fact is that labels are not signing the contract to be nice to you because they think your music is awesome and they believe in awesome music. They are signing you because they want to make money. As much money as possible. I wonder why bands forget they are making a business deal when sign these contracts and that the other party wants something, too. It's not like it's free money: it's an investment in them as a business, and if they can't think of it that way, they shouldn't sign the contract.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-3262445662011218071?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2010/07/i-signed-deal-with-devil-and-now-he.html</link><author>noreply@blogger.com (Bjorn Roche)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_-pZI7Bl38cw/TD8xu_tMxFI/AAAAAAAAABs/fM-PoyLa8w0/s72-c/robot-devil.png' height='72' width='72'/><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-7587704518934604559</guid><pubDate>Wed, 14 Jul 2010 14:26:00 +0000</pubDate><atom:updated>2010-07-14T07:26:51.919-07:00</atom:updated><title>Drupal multisite backups</title><description>I run a few sites from a single &lt;a href="http://drupal.org/"&gt;drupal&lt;/a&gt; install. The drupal website has a &lt;a href="http://drupal.org/node/59370"&gt;nice bash script for backing up a single site&lt;/a&gt;, and a &lt;a href="http://drupal.org/node/310948"&gt;multisite backup script written in perl&lt;/a&gt;. Instead of using the perl script, I decided to modify the single-site backup script. Their perl script looks like it's a bit more flexible, but this more than does the job for most setups. Maybe others will find this useful. I just wrote it and did some cursory testing, but it seems like it checks out, and it's pretty simple:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# Bjorn's multisite backup V1.0&lt;br /&gt;#&lt;br /&gt;# Full backup of website of a drupal multisite install.&lt;br /&gt;#&lt;br /&gt;# Most multisite drupal installs have one directory tree and multiple&lt;br /&gt;# sql databases. Using this script, you can back them all up.&lt;br /&gt;# This is useful for a handful of site. If you have hundreds of sites&lt;br /&gt;# or something crazy like that, you will need another solution.&lt;br /&gt;#&lt;br /&gt;# This script is loosly based on the fullsite backup script&lt;br /&gt;# drom drupal.org, and suffers from some of the same disadvantages,&lt;br /&gt;# such as no database/site locking, but it basically works.&lt;br /&gt;#&lt;br /&gt;# To use, modify the variables as required in the configuration section&lt;br /&gt;# and stick this in a cron job. run it in the directory where you want&lt;br /&gt;# your backups created. Please note if this file has been modified from&lt;br /&gt;# the original.&lt;br /&gt;&lt;br /&gt;# by Bjorn Roche&lt;br /&gt;&lt;br /&gt;# copyright:&lt;br /&gt;# There was no copyright notice on the original fullsite backup script,&lt;br /&gt;# so I don't know what to say about this. However, I make no claims to&lt;br /&gt;# this version.&lt;br /&gt;&lt;br /&gt;# However, I do appreciate if you could leave my name on it, so that&lt;br /&gt;# people know where to send corrections and enhancements to.&lt;br /&gt;&lt;br /&gt;# Warranty:&lt;br /&gt;# This script comes with absolutely no warranty, express or implied,&lt;br /&gt;# including fitness for any purpose.&lt;br /&gt;# It is solely your responsibility to read the code, understand it,&lt;br /&gt;# and make sure the executable portion is correct and applicable to&lt;br /&gt;# your application. It is provided as is, and could not and would&lt;br /&gt;# not be provided at all with a waranty of any kind.&lt;br /&gt;# Use it at your own risk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# ------ start of configuration ---- #&lt;br /&gt;&lt;br /&gt;# backup prefix&lt;br /&gt;  prefix=multisite-backup&lt;br /&gt;&lt;br /&gt;# Website Files&lt;br /&gt;  webrootdir=/home/xodrupal/drupal-sites  # (e.g.: webrootdir=/home/user/public_html)&lt;br /&gt;&lt;br /&gt;# site list&lt;br /&gt;# List each site you want to backup in parentheses.&lt;br /&gt;  sites=(site1.com site2.com site3.org)&lt;br /&gt;&lt;br /&gt;# database info lists&lt;br /&gt;# for each item, specify the required info in a list.&lt;br /&gt;# the list items must be in the same order as the list of sites&lt;br /&gt;# so that everything corresponds.&lt;br /&gt;  dbname=(db1 db2 db3)&lt;br /&gt;  dbhost=(db.site1.com db.site2.com db.site3.org)&lt;br /&gt;  dbuser=(user1 user2 user3)&lt;br /&gt;  dbpass=(pass1 pass2 pass3)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# ------ end of configuration ------ #&lt;br /&gt;&lt;br /&gt;# setup some constants:&lt;br /&gt;  datestamp=`date +'%Y-%m-%d'`&lt;br /&gt;  numsites=${#sites[*]}&lt;br /&gt;  startdir=`pwd`&lt;br /&gt;  tempdir=tmpbckdir-$datestamp&lt;br /&gt;  tarname=$prefix-$datestamp.tgz&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Banner&lt;br /&gt;#&lt;br /&gt;echo ""&lt;br /&gt;echo "bjorn's multisite backup V1.0"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Create temporary working directory&lt;br /&gt;#&lt;br /&gt;echo " .. Setting up temporary working dir"&lt;br /&gt;mkdir $tempdir&lt;br /&gt;mkdir $tempdir/$prefix-$datestamp&lt;br /&gt;echo "    done"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# TAR website files&lt;br /&gt;#&lt;br /&gt;echo " .. TARing website files in $webrootdir"&lt;br /&gt;cd $webrootdir&lt;br /&gt;tar cf $startdir/$tempdir/$prefix-$datestamp/filecontent.tar .&lt;br /&gt;echo "    done"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# dump each database&lt;br /&gt;#&lt;br /&gt;i=0&lt;br /&gt;echo " .. sqldump'ing $numsites databases:"&lt;br /&gt;while [ $i -lt $numsites ]; do&lt;br /&gt; echo "dumping    user: ${dbuser[$i]}; database: ${dbname[$i]}; host: ${dbhost[$i]}..."&lt;br /&gt; cd $startdir/$tempdir/$prefix-$datestamp&lt;br /&gt; mysqldump -p${dbpass[$i]} --user=${dbuser[$i]} --host=${dbhost[$i]} --add-drop-table ${dbname[$i]} &amp;gt; ${sites[$i]}-dbcontent.sql&lt;br /&gt; echo "    done"&lt;br /&gt;&lt;br /&gt; let i++&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Create final backup file&lt;br /&gt;#&lt;br /&gt;echo " .. Creating final compressed (tgz) TAR file: $tarname"&lt;br /&gt;cd $startdir/$tempdir&lt;br /&gt;tar czf $tarname $prefix-$datestamp&lt;br /&gt;mv $tarname $startdir&lt;br /&gt;echo "    done"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Cleanup&lt;br /&gt;#&lt;br /&gt;echo " .. Clean-up"&lt;br /&gt;cd $startdir&lt;br /&gt;rm -r $tempdir&lt;br /&gt;echo "    done"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Exit banner&lt;br /&gt;#&lt;br /&gt;echo " .. multi-site backup complete"&lt;br /&gt;echo ""&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-7587704518934604559?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2010/07/drupal-multisite-backups.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-3418587471527486971</guid><pubDate>Fri, 09 Apr 2010 15:17:00 +0000</pubDate><atom:updated>2010-04-09T08:17:43.688-07:00</atom:updated><title>Comments on Conversions</title><description>It didn't surprise me how impassioned a response I got to my &lt;a href="http://blog.bjornroche.com/2009/12/linearity-and-dynamic-range-in-int.html"&gt;post about converting audio data from integer to floating point&lt;/a&gt;. I posted a link to it on one mailing list and got some heated responses. Despite the extremely geeky nature of it, the fact is that I've seen this discussion on mailing lists before and it always seems to turn into a flame war. People put a lot of thought into implementing the simple conversion of audio from float to int and back and no matter what choice they make, they are invariably criticized for it, so it's only natural to be on the defensive.&lt;br /&gt;&lt;br /&gt;While I contest that my post represents more thought and analysis (and better thought and analysis) than is available anywhere else publicly (certainly than I know of), I did not intend for it to be the be-all or end-all to the discussion, even if I implied otherwise. Some of the criticisms I received bordered on the absurd (it's true that my &lt;i&gt;blog entry&lt;/i&gt; is not peer reviewed), while other criticisms were face-valid, but irrelevant (whether one solution is more pleasing mathematically is irrelevant if it is going to produce worse sounding results). However, digging though the criticisms it's apparent that some things from my analysis can be improved.&lt;br /&gt;&lt;br /&gt;To that end, I'm going to use this entry to accumulate comments and thoughts that need to be made on the subject as they come up and/or need to be made. So this is a living blog post that will be updated and revised from time to time.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;April 9th 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- I claimed that looking at the no DSP case was a "best case" situation, and that any DSP would only make whatever distortion occurred worse. Therefore, I argued, this was the only case that needed to be considered. Not everyone agrees with this, but it's also hard to generalize DSP. I might be worth analyzing some simple DSP like volume ramping.&lt;br /&gt;&lt;br /&gt;- I contrasted the distortion produced by using the wrong conversion method to the distortion created by not using dither. However, error produced from truncation is most objectionable with low-level signals while only high-level signals were tested, so this is not a fair comparison.&lt;br /&gt;&lt;br /&gt;- It would be worthwhile to test conversions from 24-bit to 16-bit of several different audio source types to determine if the harmonic distortion of the (2^n) model is relevant in that case.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-3418587471527486971?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2010/04/comments-on-conversions.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-8023653607163975970</guid><pubDate>Fri, 26 Mar 2010 21:26:00 +0000</pubDate><atom:updated>2010-03-26T14:26:36.293-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dorkiness</category><title>Java (No)FX - why one project dropped JavaFX for Java</title><description>There's a lot of FUD out there. For some reason, it seems like Java and JavaFX take a hard hit. I've heard nonsense like "no one uses Java anymore," and other such stuff. Unfortunately, some of the JavaFX FUD might be true: I recently completed a project which was little more than replacing a buggy, slow JavaFX UI for a Java applet with a fast, pure Java UI of the same applet. Thank God we did, because the applet is way better now.&lt;br /&gt;&lt;br /&gt;The JavaFX portion was, at one point, the largest JavaFX codebase in existance, and, indeed, the first serious large JavaFX project not funded by Sun. And the company I was working with dropped JavaFX for plain old Java.&lt;br /&gt;&lt;br /&gt;Although I can't say what the project was, I can say that this is a project that most companies would have tried to use Flash for, but, in the end, Java provided features that competitors using Flash simply can not offer. As far as I know, this company is now the only company with these features in a browser because they went with a Java foundation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now keep in mind that a large part of the problem, here, is that this was really the first major JavaFX project, so it was bound to have difficulties. We had support from Sun, but I think Sun did not realize how far they had to go and how many bugs they still had in their runtime. In my opinion, nobody, neither us nor Sun, was aware of the problems of JavaFX. Despite it's version number (1.1 when we started and 1.2 by the time we abandoned), we found it to be buggy. Had the version number been 0.7, I would right now be saying JavaFX is the coolest thing ever, but the truth is that it's still a nascent technology that has yet to prove itself.&lt;br /&gt;&lt;br /&gt;Lack of Competent Developers&lt;br /&gt;&lt;br /&gt;Symptomatic of a new technology, we had a hard time finding quality developers. Sun gave us some leads but these developers were simply not up to the task of building our complex app. JavaFX is not a difficult programming language, so having someone in-house learn it would have been preferable, but at the time we did not have the resources.&lt;br /&gt;&lt;br /&gt;Performance&lt;br /&gt;&lt;br /&gt;The performance of the JavaFX portion of our app was extremely poor. The extremely performance critical portions of the app were written in Java and performed well, but almost all the graphics were written in JavaFX. Basic graphics like buttons were okay, but complex drawing was very slow. I don't know for sure if this was a result of poor design or JavaFX itself, but from the code I perused it looked like a little of both. We know JavaFX was at least partly to blame because we had performance issues even when we commented out the complex calculations.&lt;br /&gt;&lt;br /&gt;Unstable API&lt;br /&gt;&lt;br /&gt;Transitioning from JavaFX 1.1 to JavaFX 1.2 turned out to be very difficult because of backwards compatibility issues. Unfortunately, at a certain point in our project, our app was performing so badly with even rudimentary graphics tasks that Sun and our JavaFX developers insisted on upgrading.&lt;br /&gt;&lt;br /&gt;Lack of Quality Control&lt;br /&gt;&lt;br /&gt;At one point, after we released a baseline product with minimal features, Sun released a new upgrade to JavaFX. Unfortunately, this meant that JavaFX libraries would be updated on all machines that ran our app. Since there was a bug in the library, our app stopped working.&lt;br /&gt;&lt;br /&gt;Poor Developer Communication&lt;br /&gt;&lt;br /&gt;In an effort to work around the bug, we asked Sun for the developer version of the new library. Unfortunately, they were not forthcoming. At that point, the decision was made to stop development on the JavaFX solution and seek an alternative. After I convinced the team that Swing was capable of looking great, we developed a pure-Java alternative and have released the new product. The graphics performance is orders of magnitude better, and the look is similar to Flash. People who have seen it so far have gone out of their way to complement the appearance of the app. The appearance matches the design spec almost perfectly except for a few things we have not yet had a chance to attend to. (I am belaboring this point because Swing has a reputation for being ugly, simply because most of the included Look and Feels are ugly)&lt;br /&gt;&lt;br /&gt;Future Seems to Be Too Business Oriented&lt;br /&gt;&lt;br /&gt;When asking Sun about the future of JavaFX, they said they plan to offer certification levels. It's bad enough that Java skills are based on memorization rather than problem solving abilities now, but I can sort of understand that given the business orientation of Java, and&amp;nbsp;maybe businesses look for that sort of thing.&lt;br /&gt;&lt;br /&gt;If hip kids don't learn Java, that's okay. There's more than enough Java programmers to keep Amazon, ebay, oracle and all those other Java giants going.&amp;nbsp;But JavaFX is not like that. JavaFX is a creative tool. It's not a direct competitor to flash, but it's in the same vein, and those people aren't going to take a certification exam. Sun needs to think about what is going to make people think JavaFX is awesome, and certification is not it. Neither is having Gosling slinging T-Shirts at them. JavaFX really really has the potential to be awesome, and I really really want it to be, so here's what I think you need to do (Sun, I'm talking to you):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Show people that you are serious about making it awesome. Hire some awesome programmers and have them blog and tweet or whatever the cool kids are doing these days about what they are doing. Really. Hire the best. Hire some young folks. Hire some experienced old guns. Mix and match. Make sure you let them be honest on those blogs.&lt;/li&gt;&lt;li&gt;Talk to some cool startups that do mobile stuff like venmo about what they are doing in the mobile sphere and work with them proactively.&lt;/li&gt;&lt;li&gt;Suck it up: work with the android people. Sure they stabbed you in the back, but you need them.&lt;/li&gt;&lt;li&gt;Help out Apple: really, their JVM sucks. It seems like I am filing bug reports every week. Make sure they get it right because cool geeks use Apple.&lt;/li&gt;&lt;li&gt;While you're at it, make sure your JavaFX staff has Macs and other cool toys. Remember, you need to treat those folks as creatives, not code monkeys.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-8023653607163975970?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2010/03/java-nofx-why-one-project-dropped.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-2353609678641931011</guid><pubDate>Wed, 09 Dec 2009 18:59:00 +0000</pubDate><atom:updated>2010-04-09T08:19:18.636-07:00</atom:updated><title>Linearity and dynamic range in Int-&gt;Float-&gt;Int</title><description>&lt;i&gt;Update: &lt;/i&gt;&lt;a href="http://blog.bjornroche.com/2010/04/comments-on-conversions.html"&gt;&lt;i&gt;some comments&lt;/i&gt;&lt;/a&gt;&lt;i&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In my &lt;a href="http://blog.bjornroche.com/2009/12/int-float-int-its-jungle-out-there.html"&gt;last blog post&lt;/a&gt;, I discussed converting audio from integer to floating point back to integer, mostly from a programming perspective. I showed how there are a lot of ways to do the conversion. Most audio folks would say, "huh, I thought there were only two ways to convert floating point numbers to integers." And they'd be right: with and without dither. So what's all the fuss about?&lt;br /&gt;&lt;br /&gt;Indeed, that's a good question. Most audio folks have this expectation:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;When I have dither off and no effects (including volume, etc) I expect to be able to get out exactly what I put in.&lt;/li&gt;&lt;li&gt;When I have dither on, I expect it to sound good.&lt;/li&gt;&lt;/ol&gt;Point 1 is what we referred to as bit transparency in the previous post, and we found lots of ways to do that. Point 2 is a bit more subtle. How do you make something sound good? In this case, we mean transparent, and what's especially critical is that we eliminate truncation and IM distortion which are the hallmarks of &lt;a href="http://www.digido.com/more-bits-please.html"&gt;cold, harsh digital audio&lt;/a&gt;.&lt;br /&gt;&lt;div class="" style="clear: both; float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em; text-align: left; width: 320px;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_-pZI7Bl38cw/Sx_qDM_VnsI/AAAAAAAAABA/ZYN_DBDChlo/s1600-h/matched-v-unmatched.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_-pZI7Bl38cw/Sx_qDM_VnsI/AAAAAAAAABA/ZYN_DBDChlo/s320/matched-v-unmatched.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;small&gt;Figure 1. Comparison of 16-bit conversion using the same scaling factor (matched) vs. different scaling factors (mismatched). Mismatched scaling factors come from Method 3 from previous post and matched are Method 2.&lt;/small&gt;&lt;/div&gt;&lt;br /&gt;What we need when it comes to transparency and avoiding that cold harsh sound is linearity. In this regard, the methods discussed in my last post, transparent or not, don't stack up equally. You might think you could judge them by inspection, but the mathematics are a bit more complex. Let's be clear about what we need to test: what we &lt;i&gt;don't&lt;/i&gt; care about is how accurately a given conversion method responds to a DC signal: we aren't measuring the temperature or the amount of fuel in a tank. Rather, when we talk about linearity in audio we are referring to the ability to accurately translate dynamic information. Think about it: when you buy an analog-to-digital converter, you aren't concerned about its ability to accurately measure a certain input voltage, are you? No, you care about it's frequency response and dynamic range. In the same way, we must ensure maximum signal-to-noise ratio and dynamic range in our conversions. It turns out not all the conversions from my last post have good dynamic performance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Tests&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It is sometimes claimed that the percent error introduced by "mismatched" conversion (ie Method 3 from the previous post) is small, and therefore of little concern, but percent error is not what matters in a dynamic system such as audio, so we will not concern ourselves with that and investigate the dynamic performance instead. In Figure 1 we show the results of "mismatched" conversion.&amp;nbsp;In this case we are converting from a source signal of 2 sine waves in double precision to 16-bit integer (to simulate A/D conversion), then to single-precision floating point and back to 16-integer (to simulate a standard editing workflow), and finally back to double precision (to simulate D/A conversion). This is more or less the minimum error we can expect with the mismatched method if we use audio editing software but do not use DSP, and therefore represents a best-case scenario. In the dynamic analysis, it becomes clear that using different scaling factors produces more noise whether dither is used or not. In fact, the difference made by dither is dwarfed by the difference in techniques. Just as importantly, the quality of the noise is bad: rather than shifting the noise floor up, we see spikes indicating that the noise is likely to be audible even at low levels. These results also suggests that it is important to use the same scaling factors throughout the processing chain.&lt;br /&gt;&lt;br /&gt;&lt;div class="" style="clear: both; float: right; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em; text-align: left; width: 400px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_-pZI7Bl38cw/SxgUOMM4ufI/AAAAAAAAAAw/tH7GqBH7BFw/s1600-h/figure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_-pZI7Bl38cw/SxgUOMM4ufI/AAAAAAAAAAw/tH7GqBH7BFw/s400/figure.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;small&gt;Figure 2. Quantization and dithering from float to int and back to float is tested at 16 bits (a,b) and 24 bits (c,d) using a full-scale sine (a,c) and the sum of two sine (b,c). Notes: the sum of two sines does not clip; clipped signal and raw quantized signal are not shown in a.&lt;/small&gt;&lt;/div&gt;&lt;/div&gt;Figure 2. shows the dynamic performance of conversion using 2^n, (2^n)-1 and "asymmetrical" conversion (ie Method 4 from my previous post). We will discuss below that "asymmetrical" is &amp;nbsp;a misnomer. We also looked at dithered and non-dithered versions.&lt;br /&gt;&lt;br /&gt;Two types of tests were run: first, a full-scale sine wave was generated, converted to int, and back to float for FFT analysis. The second test was the same except that two sines, each at 1/2 full scale were summed together. Each test was run at 16 and 24 bits. Note that the full-scale sine wave cannot be accurately represented in some of these conversion methods, resulting in some clipping.&lt;br /&gt;&lt;br /&gt;As you can see, all dithered converters performed fine at 16-bit as long as nothing was out of scale. At 24-bit, the weakness of the (2^n)-1 converter becomes clear: it actually performs worse than rounding (ie. no dithering). Clearly (2^n)-1 is not an acceptable transformation for 24-bit integers and single precision floating point numbers. The 2^n converter performed admirably on all tests except the 16-bit full-scale test (1a). Those small spikes line up perfectly with the spikes caused by clipping as expected (results not shown) meaning that it is harmonic distortion -- not the worst thing that could happen, but, still, the asymmetric converter does outperform it in this regard.&lt;br /&gt;&lt;br /&gt;As mentioned, I'm calling Method 4 from my previous post the "asymmetric" method, but it is only asymmetric in the sense that you apply different math to positive and negative numbers. As these results show, it &lt;i&gt;is&lt;/i&gt; linear. Moreover, it is symmetric with respect to dither amplitude, which is what ensures its linear behavior.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Conclusions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Clearly the two winners here are the so-called asymmetric method and the (2^n) method. Both methods excel in the critical areas of bit transparency and linearity. Even their un-dithered performance is quite good, and they are obviously superior to other methods.&lt;br /&gt;&lt;br /&gt;The one area in which the asymmetric model outperforms the (2^n) model is in terms of clipping signals that originated from higher resolution. Even with dither, we still see incorrect behavior with the the (2^n) model because dither only finds its way to 1/2 LSB, whereas +1 clips by going 1 LSB over. The question is whether or not this matters. Indeed&amp;nbsp;&lt;a href="http://lists.apple.com/archives/coreaudio-api/2009/Dec/msg00046.html"&gt;there is some debate about the importance of +1&lt;/a&gt;.&amp;nbsp;My opinion? +1 is a value that occurs in the real world and it's not always possible for the code that's producing the +1 to know what the output resolution is going to be. For example, a VST synth plugin has no way of knowing what the output resolution is going to be, so it can't be expected to know what to scale its output to. When converting from 24 bit to 16 bit and using float as an intermediary, there is no simple way to solve this problem.&lt;br /&gt;&lt;br /&gt;On the other hand, non-pro A/D converters frequently clip around -.5 dBFS, which is below +1 - 1 LSB anyway. Conceivably, you could also correct for this by introducing a level shift at the output equal to 1/2 LSB, but that's equivalent to turning your converter into a (2^n)-.5 converter -- it solves one problem, but introduces another. All that said, there is no reason not to develop software, especially libraries, drivers and other software intended for use by multiple type of users including audiophiles and pro audio engineers, that is convenient to use while meeting the highest audio standards: just use the asymmetric converters.&lt;br /&gt;&lt;br /&gt;Given the potential hazards found in mixing and matching conversion methods, I recommend that all libraries (and drivers, if possible) offer options for various conversion settings, both to minimize bit transparency problems and unnecessary quantization noise, until all libraries and drivers can standardize on the asymmetric conversion method. This is the only way to guarantee transparency and maximize linearity. As these results show, this issue may be more important than dither.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-2353609678641931011?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/12/linearity-and-dynamic-range-in-int.html</link><author>noreply@blogger.com (Bjorn Roche)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_-pZI7Bl38cw/Sx_qDM_VnsI/AAAAAAAAABA/ZYN_DBDChlo/s72-c/matched-v-unmatched.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-3054521944957712834</guid><pubDate>Wed, 02 Dec 2009 21:51:00 +0000</pubDate><atom:updated>2009-12-06T20:07:46.486-08:00</atom:updated><title>Int-&gt;Float-&gt;Int: It's a jungle out there!</title><description>It turns out that the simple operation of converting from float to integer and back is not so simple. When it comes to audio, this operation should be done with care, and most programmers do, in fact, put a lot of thought into it. The problem most programmers observe is that audio, when stored (or processed) as an integer, is usually stored in what's called "two's complement" notation, which always gives us 1 more negative number than positive. When we process or store floating point numbers, we use a nominal range of -1 to +1.&lt;br /&gt;&lt;br /&gt;The fact that there are more negative numbers than positive numbers has caused some confusion amongst programers, and a number of different conversion methods have been proposed.&amp;nbsp;Here is my survey of how a number of existing software and hardware packages handle this conversion.&amp;nbsp;In these examples, I show conversions for 16-bit integers, but they all extend in the obvious way to other bit depths. It is important to consider how these methods extend to larger integers, especially how they extend to 24-bit integers, so I've tested bit transparency for these methods up to 24-bit using single precision floating point intermediaries, correcting for the fact that IEEE allows for extended precisions to be used in computations. Endianness is irrelevant here, because everything works for big and little endian systems.&lt;br /&gt;&lt;br /&gt;Transparency is only required or possible when the data has not been created synthetically or altered via DSP (including such simple operations as volume changes, mixing, etc). In cases where transparency is not possible, dither must be applied when converting to integer or reducing the resolution. In many software packages it is up to the end-user to make this determination and manually switch dither on or off. In my next post I will discuss dithering and linearity.&lt;br /&gt;&lt;br /&gt;&lt;table border="0" bordercolor="#000000" cellpadding="2" cellspacing="0" class="" style="width: 100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th style="background-color: #104386; color: white; text-align: left;"&gt;&lt;br /&gt;&lt;/th&gt;&lt;th style="background-color: #104386; color: white; text-align: left;" width="25%"&gt;Int to Float&lt;br /&gt;&lt;/th&gt;&lt;th style="background-color: #104386; color: white; text-align: left;" width="25%"&gt;Float to Int*&lt;br /&gt;&lt;/th&gt;&lt;th style="background-color: #104386; color: white; text-align: left;" width="25%"&gt;Transparency&lt;br /&gt;&lt;/th&gt;&lt;th style="background-color: #104386; color: white; text-align: left;" width="25%"&gt;Used By&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;0)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;((integer + .5)/(0x7FFF+.5)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float*(0x7FFF+.5)-.5&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Up to at least 24-bit&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;DC DAC Modeled&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;(integer / 0x8000)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float * 0x8000&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Up to at least 24-bit&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;Apple (Core Audio)&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;1&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt;, ALSA&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt;,&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;MatLa&lt;/span&gt;&lt;span style="font-size: small;"&gt;b&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt;, sndlib&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;(integer / 0x7FFF)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float * 0x7FFF&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Up to at least 24-bit&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;Pulse Audio&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;3)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;(integer / 0x8000)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float * 0x7FFF&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Non-transparent&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;PortAudio&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;1,&lt;/span&gt;&lt;/sup&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt;, Jack&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt;, libsndfile&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;1,3&lt;/span&gt;&lt;/sup&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;4)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;(integer&amp;gt;0?integer/0x7FFF:integer/0x8000)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float&amp;gt;0?float*0x7FFF:float*0x8000&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Up to at least 24-bit&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;At least one high end DSP and A/D/A manufacturer.&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2,4&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: small;"&gt; XO Wave 1.0.3.&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;5)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Uknown&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;float*(0x7FFF+.49999)&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;Unknown&lt;br /&gt;&lt;/td&gt;&lt;td width="25%"&gt;&lt;span style="font-size: small;"&gt;ASIO&lt;/span&gt;&lt;sup&gt;&lt;span style="font-size: small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="5" style="background-color: #104386; color: white; text-align: left;" width="100%"&gt;&lt;small&gt;*obviously, rounding or dithering may be required here.&lt;/small&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: 13px;"&gt;Note that in the case of IO APIs, drivers are often responsible for conversions. The conversions listed here are provided by the API.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Method 0 is one possible method for preserving the DC accuracy of a DAC, and is included here for reference.&lt;br /&gt;&lt;br /&gt;Edited December 6, 2009: Fixed Method 3. (0x8000 and 0x7FFF were backwards)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Sources:&lt;/span&gt;&lt;br /&gt;&lt;sup&gt;&lt;span style="font-size: x-small;"&gt;1&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: x-small;"&gt; Mailing list&lt;/span&gt;&lt;br /&gt;&lt;sup&gt;&lt;span style="font-size: x-small;"&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: x-small;"&gt; Perusing the source code (this, of course, is subject to mistakes due to following old, conditional or optional code)&lt;/span&gt;&lt;br /&gt;&lt;sup&gt;&lt;span style="font-size: x-small;"&gt;3&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: x-small;"&gt; libsndfile FAQ goes into detail about this.&lt;/span&gt;&lt;br /&gt;&lt;sup&gt;&lt;span style="font-size: x-small;"&gt;4&lt;/span&gt;&lt;/sup&gt;&lt;span style="font-size: x-small;"&gt; Personal communication.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-3054521944957712834?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/12/int-float-int-its-jungle-out-there.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-6720249470488461745</guid><pubDate>Wed, 11 Nov 2009 18:46:00 +0000</pubDate><atom:updated>2009-11-11T18:53:38.778-08:00</atom:updated><title>WAVE64 vs RF64 vs CAF</title><description>Right now I am choosing new a default internal audio file format for XO Wave, and I'd like to choose a format that offers large file sizes and high resolution. I'd like to use an existing popular standard rather than inventing my own or using RAW audio.&amp;nbsp;The pro audio industry is finally moving towards 64-bit file formats, and the three options supported by most pro software are&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wave64, aka Sony Wave64, originally developed by Sonic Foundry before 2003, is an open standard and a true 64-bit format: all 32-bit fields are replaced with 64-bit fields, and all chunks are 8-byte word aligned. Instead of the dreaded FourCC it uses GUID. Other than that, it is pretty much the same as WAV, so the spec is barely 4 pages long, although in my opinion it could stand to be a bit longer, as many aspects of WAV are so poorly devised it really wouldn't hurt for someone to put it all in one place.&amp;nbsp;&lt;a href="http://www.hydrogenaudio.org/forums/lofiversion/index.php/t35550.html%3Cbr%20/t32422-50.html"&gt;Some people have criticized&lt;/a&gt; the use of GUID on the grounds that there will never be that many chunks, but this misses the point: the point of using GUIDs is that anyone can define their own chunk without having to check with Sony or register a chunk ID. It's actually rather clever.&lt;/li&gt;&lt;li&gt;RF64 was proposed in 2005 by the EBU&amp;nbsp;&lt;a href="http://www.sr.se/utveckling/tu/bwf/prog/RF_64v1_4.pdf"&gt;with full knowledge of Wave64&lt;/a&gt;. Although the proposal stated basic requirements that could have easily been met by a few minor extensions to Wave64, and they stated a desire to "join forces" with the developers of Wave64, they made no effort to do so other than to say they hoped they'd be involved. Moreover, the same document proposes RF64 as an alternative, incompatible 64-bit extension to the WAV format. Unlike Wave64, RF64 is not a true 64-bit format. All existing "chunks" remain 32-bit, so, for example, markers, regions and loops will no longer work past a certain number of samples. Even EBU's levl chunk will not work with RF64 because it uses a 32-bit address for pointing to the "peak-of-peaks" in the raw data. RF64 offers the much made-of promise of backwards compatibility via a "junk chunk", but, of course, this is possible with Wave64 as well, as pointed out in the Wave64 spec.&lt;/li&gt;&lt;li&gt;CAF, or Core Audio Format was Apple's entry into the ring. Apple didn't want to be left out of the 64-bit game, after all, and around the same time in 2005 they released CAF.&amp;nbsp;Since they are Apple, they figured people would adopt it (Logic would, if no one else), even if there were competing specs.&amp;nbsp;Their approach, however, was to start from scratch, and it's pretty refreshing. Indeed, the spec addresses practical issues to ensure that important features are implemented, and it even makes that tiny little bit of extra effort required to avoid file corruption by not requiring a header rewrite to finalize a recording of unknown length (Anyone who's ever recorded using software knows that once in a while something goes wrong and a file ends up corrupted. It's so nice that someone finally addressed this in a spec.).&lt;/li&gt;&lt;/ul&gt;The WAVE format is problematic in many, many ways. For example, in some places it uses zero-based indexing, in others it uses one-based indexing. Sometimes it uses signed integers for raw audio data, other times unsigned. That may not seem so bad, but considering how simple the data it's trying to carry is, but when you add to that the fact that Microsoft had to use format extensions just to clear up ambiguous documentation (and they've still got an ambiguously documented "fact" chunk), it's really not good territory. It is a shame that both Sonic Foundry/Sony and the EBU chose WAVE as the format to extend. Moreover, it's annoying that EBU designed their own, incompatible 64-bit extension to WAVE when a superior one already existed.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some people think the whole "backwards compatibility" thing is a bunch of hooey because it puts an undo burden on the people writing the libraries. Erik de Castro Lopo, author of the popular LGPL'ed libsoundfile says:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Quite honestly, its stuff like this that makes me think the people who&amp;nbsp;write these specs smoke crack!&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;If I were to follow the ... insane advice [about retaining backwards compatibility], the test suite would have&amp;nbsp;to write &amp;gt; 4Gig files in order to write a real RF64 file instead of&amp;nbsp;just a normal WAV file.&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;In order to avoid this insanity, libsndfile, when told to write an RF64&amp;nbsp;file does exactly as its told.&lt;br /&gt;&lt;/blockquote&gt;&lt;div&gt;I would add that the backwards compatibility adds another point of failure in the recording process, in the same way that header rewrites are a point of failure in most current formats (except for CAF and "chunkless" formats like RAW and AU).&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All that aside, RF64 is gaining some popularity and support -- probably more than Wave64. As for CAF, it's less popular, but since it's an Apple standard it's probably not going anywhere even if it's not going to be the "next big thing." It could be a fine place to work from, but just scanning the docs everything I looked at brought up a few issues that worried me. For example:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The CAFMarker data-type has three design flaws I noticed. One is that the frame position is a floating point number. I might be missing something here, but in a format where everything else that counts frames and bytes as 64-bit integers, why are we suddenly using floats? Sure that will be integral to pretty big numbers since it's 64-bit, but it's still a float. I didn't use a format like this to get pretty accurate big numbers when I could get completely accurate big numbers! Internally, most apps are going to be converting 64-bit integers to 64-bit floats, which is insane. Another problem is mChannel, which is the channel (starting at 1) that the marker refers to or zero if the marker refers to all channels. Okay, seems reasonable, except that the spec also defined a channel mapping with a 32-bit channel layout bitmask. Why not use that? Granted you might have more than 32-channels, but that's not going to be the most common case, and you could give your users a choice. Consistency is important in APIs. Also, let's face it, the CAFMarker, if not all the basic chunks, should be versioned and extensible. Sure all that takes a few more bits (well, not the float/integer thing), but it's really nothing compared to the sea of data in most audio files.&lt;/li&gt;&lt;li&gt;In the SMTPE timecode types they define&amp;nbsp;&lt;span style="font-family: Monaco, Courier, Consolas, monospace; font-size: 11px; line-height: 14px; white-space: pre;"&gt;kCAF_SMPTE_TimeType30Drop. &lt;span style="font-family: Times; font-size: medium; line-height: normal; white-space: normal;"&gt;Now, the fact is that there's really no such thing as 30 Drop, but I can see an argument for including it out of completeness. However, the documentation states that: "&lt;span style="font-family: 'Lucida Grande', Geneva, Helvetica, Arial, sans-serif; font-size: 12px;"&gt;30 video frames per second, with video-frame-number counts adjusted to ensure that the timecode matches elapsed clock time.&lt;/span&gt;" Which is wrong. If you actually had 30 Drop it would run ahead of elapsed, or "wall-clock" time. "Aha!" you say, "they really mean 29 Drop, which is often just called 30 Drop because &lt;i&gt;everyone&lt;/i&gt; knows there's no such thing as 30 Drop." But, I'm afraid you are wrong, because there's another constant for that,&amp;nbsp;&lt;span style="font-family: Monaco, Courier, Consolas, monospace; font-size: 11px;"&gt;kCAF_SMPTE_TimeType2997Drop&lt;/span&gt;, with pretty much the same documentation, only in this case, it's correct to say that the timecode matches elapsed time. (well, it's very close anyway)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;So CAF might be flawed, but probably no more so than WAVE and anything built on it. The reliability factor is sweet. Really. The fact that many people, especially in broadcast, seem to be wanting RF64 support is a detraction, though.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Of course, I might just be over-engineering it. The AU format has been around forever, is super simple and provides high resolution, uncompressed audio of ANY length (it's not even limited to 64-bit). Of course, it lacks metadata which might be useful for BWF-style info as well as region data, but hey, it's wicked simple.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;An interesting side note is that by choosing an appropriately sized junk/empty chunk in the header, Wave64, RF64 and CAF can actually be converted from one to another in-place.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-6720249470488461745?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/11/wave64-vs-rf64-vs-caf.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-6018120199198072829</guid><pubDate>Thu, 27 Aug 2009 17:10:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.786-08:00</atom:updated><title>High Voltage</title><description>I have heard a lot of folks who do these jobs are retiring soon and the electric companies are scrambling to fill the void. It's a very high paying job at that. I would think just showing videos like this would do the job.&lt;br/&gt;&lt;br/&gt;&lt;script type="text/javascript" language="JavaScript"&gt;var sid=134;var vid=11116;&lt;/script&gt;&lt;script type="text/javascript" src="http://www.networkn3.com/scripts/vplay4-start-paused.js" language="JavaScript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-6018120199198072829?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/08/high-voltage.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-3319560168212602449</guid><pubDate>Mon, 24 Aug 2009 07:22:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.789-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dorkiness</category><title>Projections</title><description>Here's a cool projection designed for a specific building. Even though there's no unifying theme to bring the different bits together, other than the hearts, it's still really fun to watch. I'm sure it was even more amazing in person. I'd love to see something like this with a great soundtrack. Parts of this are funny, parts are beautiful, parts are just mystifying.&lt;br/&gt;&lt;br/&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="src" value="http://www.youtube.com/v/I8-kqovVjss" /&gt;&lt;embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/I8-kqovVjss"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-3319560168212602449?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/08/projections.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-1201799235675013797</guid><pubDate>Sat, 01 Aug 2009 06:41:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.790-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dorkiness</category><category domain='http://www.blogger.com/atom/ns#'>stats/science</category><category domain='http://www.blogger.com/atom/ns#'>pop culture</category><category domain='http://www.blogger.com/atom/ns#'>For Musicians</category><title>Reproducing the THX audio logo in SuperColider</title><description>Here's an interesting &lt;a href="http://www.batuhanbozkurt.com/instruction/recreating-the-thx-deep-note"&gt;article&lt;/a&gt; on Reproducing the THX audio logo in SuperColider. While I definitely find the original a bit more pleasing, maybe it's just because I'm more familiar with it. It's amazing how much simpler it is to do this sort of thing today than back then. The author of the post even includes a 140 character version which doesn't sound half bad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-1201799235675013797?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/07/reproducing-thx-audio-logo-in.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-5029277213005826978</guid><pubDate>Sun, 28 Jun 2009 10:40:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.791-08:00</atom:updated><title>Commodore 64 sound is, apparently, still alive!</title><description>Or was in 2008. Nice. Howtos, trick, tips and so on for using and programming that old commodore 64 you still have lying around. So if you've got time to kill, check it out: &lt;a href="http://c64music.blogspot.com/"&gt;http://c64music.blogspot.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-5029277213005826978?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/06/commodore-64-sound-is-apparently-still.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-2239444296450266506</guid><pubDate>Thu, 19 Mar 2009 06:52:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.793-08:00</atom:updated><title>It's true, he has no idea what musicians go through</title><description>Here's a &lt;a href="http://niemann.blogs.nytimes.com/2009/03/16/my-life-with-cables/"&gt;cute story&lt;/a&gt; about cables. It's no wonder USB mikes and there ilk are so popular -- simplicity really is a virtue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-2239444296450266506?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/03/it-true-he-has-no-idea-what-musicians.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-8423638917165383187</guid><pubDate>Fri, 13 Mar 2009 10:18:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.794-08:00</atom:updated><title>Performance Tempos</title><description>I've recorded and edited a lot of classical music, and the stuff done by pros is a lot easier to splice together: even if recorded weeks apart in different rooms they can match the tempo and pitch exactly, but amateurs can never match that stuff from minute to minute.&lt;br/&gt;&lt;br/&gt;Recently, modern music has started using click tracks so that stuff can always be moved around and edited at whim, and the music tech blog the music machinery wrote an &lt;a href="http://musicmachinery.com/2009/03/02/in-search-of-the-click-track/"&gt;interesting piece&lt;/a&gt; where they actually analyzed the variations in tempo throughout the songs complete with charts and graphs. Of course, theoretically, people could have been using metronomes long ago and tight drummers could be keeping very consistent tempos without a click track today (or preprogramming variable click-tracks), so it's not hard science, but it's an interesting read nevertheless. I know I've heard more than a few tracks where I thought "man that's tight!" and there was probably no click track involved.&lt;br/&gt;&lt;br/&gt;Personally I don't see anything wrong with using the tempo "click" track, even if the implication is that it's a crutch. A lot of great music has been made possible that would never have been possible before because of the ability to drag and drop music in a grid. At the same time, I think the if you don't need it, don't use it philosophy is probably a good one.&lt;br/&gt;&lt;br/&gt;For his next exploration, I hope he looks at tracking the pitch and tempo of a college a-capella group. NIGHT-mare!&lt;br/&gt;&lt;br/&gt;Thanks to &lt;a href="http://www.extrapepperoni.com/"&gt;www.extrapepperoni.com&lt;/a&gt; for this one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-8423638917165383187?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/03/performance-tempos.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-5454488449224424657</guid><pubDate>Mon, 23 Feb 2009 07:57:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.796-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dorkiness</category><category domain='http://www.blogger.com/atom/ns#'>For Musicians</category><title>Email Is Still King -- or Is It?</title><description>[caption id="attachment_225" align="aligncenter" width="501" caption="Sharethis usage data"]&lt;img class="size-full wp-image-225" title="sharechart1" src="http://stuff.bjornroche.com/old-blog-uploads/2009/02/sharechart1.jpg" alt="Sharethis usage data" width="501" height="327" /&gt;[/caption]&lt;br/&gt;&lt;br/&gt;An &lt;a href="http://sharethis.com/blog/2008/08/07/email-is-still-king/"&gt;interesting blog post&lt;/a&gt; at sharethis.com has a pie chart dividing up how users of their service send and share web content with their friends and so on. This is some important data for anyone wanting to promote their website, or anything that has something web associated, like a band. They say, "as you can see, Email dominates sharing activity." However, this may miss an important part of the picture: how many people are reached which each use of their service. For example, if 1.5 people are reached for each email use of sharethis, and six people are reached for each posting to facebook (I made those numbers up, but I think they are reasonable) then actually facebook may be king. Services like digg, which might reach an even larger audience, would do even better, even though they only account for a much smaller percentage of actual use of the sharethis service.&lt;br/&gt;&lt;br/&gt;Of course, if a friend emailed you an article personally, you might be more likely to attend to it, comment on it and then, consequently, become involved in the site, whereas if it was posted on facebook and you read it, you might just skim it casually. This is not unimportant: there is still a personal connection with email (believe it or not) that is missed with just posting something to facebook. Imagine seeing something on a feed on facebook: "Oh, that looks interesting, I'll check it out", is your response. Getting an email from a friend who read something and took the time to look and it and think of you in particular to send it to evokes a different response. More like: "Oh, Chris sent me this, I gotta check it out!" That's a small gesture your friend made, and doesn't take long, but it's powerful.&lt;br/&gt;&lt;br/&gt;Thanks to &lt;a href="http://sharethis.com"&gt;Sharethis.com&lt;/a&gt; for making their data available!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-5454488449224424657?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/02/email-is-still-king-or-is-it.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-8169941601578768186</guid><pubDate>Sun, 08 Feb 2009 09:37:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.797-08:00</atom:updated><title>Auto-Tune as a Creative Tool</title><description>An interesting article in times about the plugin everyone loves to hate: &lt;a href="http://www.time.com/time/magazine/article/0,9171,1877372-2,00.html"&gt;auto-tune&lt;/a&gt;. This article, though, actually explains some of it's creative uses, rather than the tragedy of degrading of singing quality, which is what everyone else talks about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-8169941601578768186?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/02/auto-tune-as-creative-tool.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-4489074891513225788</guid><pubDate>Tue, 20 Jan 2009 09:34:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.799-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nyc</category><category domain='http://www.blogger.com/atom/ns#'>pop culture</category><title>The Power of Music!</title><description>I was at Webster Hall, a club in NYC, the other night, and my friend thought someone was stealing her drinks. Finally, we caught the culprit on tape!&lt;br/&gt;&lt;br/&gt;Note: you might want to turn the volume down for this as it's crazy distorted. &lt;br/&gt;&lt;br/&gt;&lt;object width="425" height="344" data="http://www.youtube.com/v/IavmrB8bXaA&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash"&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="src" value="http://www.youtube.com/v/IavmrB8bXaA&amp;amp;hl=en&amp;amp;fs=1" /&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-4489074891513225788?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/01/power-of-music.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-1104919155085895781</guid><pubDate>Tue, 20 Jan 2009 09:33:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.800-08:00</atom:updated><title>New Projects</title><description>Some friends of mine and I have started &lt;a title="Smart is the new black" href="http://www.chicktellectual.com"&gt;www.chicktellectual.com&lt;/a&gt; and I recently joined a band called &lt;a title="nattahnam" href="http://www.nattahnam.com"&gt;Nattahnam&lt;/a&gt;. Neither one takes up that much time: Nattahnam improvises literally each note of our performances. I feel like a stoned hippie every time I walk on stage ("So, someone want to start us off with, er, a note... or something?"). Fortunately I can intellectualize on Chicktellectual.com to compensate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-1104919155085895781?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2009/01/new-projects.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-1251137925928945505</guid><pubDate>Sun, 14 Dec 2008 15:14:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.801-08:00</atom:updated><title>Remember when "viral" was a bad thing? I do, and now it's on facebook
and it's called "what do your friends say about you?"</title><description>There's a new quiz on facebook called "what do your friends say about you?". I haven't taken it (you'll see why), but as far as I can tell it shows you pictures of your friends (which it gets from your/their profiles) and asks you questions about them, like "Do you think so-and-so is bisexual". Then, when you answer the questions, it posts notifications in those people's profiles. They have to take the quiz to find out what's been said about them. This is viral -- the bad kind. [1] (I stopped taking the quiz at the first question when it asked me if I thought a friend of mine was bi Because I figured out what it was going to do with my response -- annoy my friend with it, by putting a message in his notification box! Then he would have to take the quiz -- and annoy a bunch of his friends -- to find out the completely innocuous thing I said about him.)&lt;br/&gt;&lt;br/&gt;If more apps like this show up on facebook it could mean the end -- at least of my account!&lt;br/&gt;&lt;br/&gt;Anyone have more info?&lt;br/&gt;&lt;br/&gt;[1] I guess the "good" kind of viral is "that's sooooo cool. I'm gonna show 10 friends...."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-1251137925928945505?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/12/remember-when-was-bad-thing-i-do-and.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-9115562102856665522</guid><pubDate>Sat, 13 Dec 2008 10:19:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.803-08:00</atom:updated><title>Using Cutting Edge Technology, Stroke Victim and Guitarist of The Long
Blondes Hopes to Regain Use of Right Arm and Play Guitar Again</title><description>[caption id="attachment_209" align="alignleft" width="300" caption="Not quite bionic, but he may play guitar again"]&lt;a href="http://stuff.bjornroche.com/old-blog-uploads/2008/12/blondes_1123876c.jpg"&gt;&lt;img class="size-medium wp-image-209" title="blondes_1123876c" src="http://stuff.bjornroche.com/old-blog-uploads/2008/12/blondes_1123876c-300x187.jpg" alt="Not Quite Bionic, But he May Play Guitar Again" width="300" height="187" /&gt;&lt;/a&gt;[/caption]&lt;br/&gt;&lt;br/&gt;I don't think it's quite the "bionic hand" of the &lt;a href="http://www.telegraph.co.uk/news/newstopics/howaboutthat/3537352/Long-Blondes-guitarist-uses-bionic-hand-after-stroke.html"&gt;telegraph&lt;/a&gt; headline, but it's an interesting story: The young guitarist of the popular indie rock group The Long Blondes suffered a stroke and can no longer move his right arm. Now, with the help of some new technology he may play guitar again.&lt;br/&gt;&lt;br/&gt;My understanding is that the supposed bionic hand, called the SaeboFlex, provides support for the hand so that less effort is required while the patient is relearning to move their body. A real "bionic hand" would do actual work, and while they do make those, it's not for stoke victims, it for people who loose their hands.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;After a stroke, a portion of the brain is literally dead, and the only treatment currently available is to get other parts of the brain to compensate. This is a slow and often very frustrating process for patients, because it involves being told to move their arm (or whatever is paralyzed). On the first day, they absolutely cannot do this, and they may find the whole thing preposterous, and want to give up right then and there. Day-by-day and week-by-week, however, they learn to move their arm again. Often the therapist has to employ tricks, such as restraining their other arm, because it's so tempting for the patient to just use the other arm when asked to do tasks, because the other arm works. Rarely do they recover full use, but scientists are starting to appreciate the full extent of the brain's "plasticity", that is, it's ability to reconfigure and repurpose itself, and they have ever increasing hope for future techniques.&lt;br/&gt;&lt;br/&gt;New techniques include all sorts of stuff beyond what would seem like therapeutic exercise, although these are improving as well. I worked in a lab that researched the effects of &lt;a href="http://en.wikipedia.org/wiki/Transcranial_magnetic_stimulation"&gt;rTMS&lt;/a&gt; which was a technique that uses powerful electromagnets to induce electric currents inside the brain at repeated intervals. This seems to encourage the brain to be more "plastic" for some reason. Research into TMS (the non-repeated version) and rTMS was originally expected to be revolutionary, but has turned out to just be very useful, although I'm unaware if anyone's actually using it in hospitals.&lt;br/&gt;&lt;br/&gt;Thanks to &lt;a href="http://www.extrapepperoni.com"&gt;extrapepperoni&lt;/a&gt; and &lt;a href="http://rss.slashdot.org/~r/Slashdot/slashdot/~3/es4d4j_s8dE/article.pl"&gt;slashdot&lt;/a&gt; for bringing this to my attention.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-9115562102856665522?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/12/using-cutting-edge-technology-stroke.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-8483169112879122303</guid><pubDate>Tue, 09 Dec 2008 10:44:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.804-08:00</atom:updated><title>How to Stay Alive in a Situation that Will Never Happen</title><description>Jeffrey Goldberg, who stole our hearts when he recently got the TSA to &lt;a href="http://jeffreygoldberg.theatlantic.com/archives/2008/10/new_contest_can_you_outlame_th.php"&gt;admit&lt;/a&gt; that their security efforts &lt;a href="http://jeffreygoldberg.theatlantic.com/archives/2008/10/new_contest_can_you_outlame_th.php"&gt;only target "stupid terrorists"&lt;/a&gt; thanks to his &lt;a href="http://www.theatlantic.com/doc/200811/airport-security"&gt;antics of carrying knives and books entitled Jihad&lt;/a&gt;, wrote an article about &lt;a href="http://jeffreygoldberg.theatlantic.com/archives/2008/11/how_to_stay_alive_in_a_terrori.php"&gt;how to stay alive in a terrorized hotel&lt;/a&gt;. Of course, he also admits that this will never happen. His trusted friend assures him:&lt;br/&gt;&lt;blockquote&gt;It's foolish even to worry about hotel safety, because the chances of something happening on any particular night in any particular hotel are vanishingly small.  The taxi ride to the hotel is invariably more dangerous than the hotel itself.&lt;/blockquote&gt;&lt;br/&gt;Nevertheless he gives advice. For example, how about placing some dental floss over that laptop to find out if someone's been tampering? Sure, that's not in every spy movie. And what have you accomplished? You just found out someone stole your data, and it's too late to do anything about it. Better advice is to secure your data using readily available software or put important data on a thumb drive and bring the thumb drive with you. Okay, says Goldberg, why not block the door with a desk in case you believe that men are roaming the floors with automatic weapons? Sure, that seems... uh... reasonable (in certain parts of the world), but Golberg himself says "This is dangerous, of course, in the event of fire." Yeah, and guess which one is more likely (hint, read the above quote, and keep in mind that a terrorist BOMBING might involve fire). Goldberg's solution of filling the bathtub with water won't help with what is often considered a larger problem in fires: &lt;a href="http://www.bsef.com/fire_safety_benefits/dangers_of_fire/index.php"&gt;smoke&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;Of course, some of his more common-sense ideas are reasonable: know where your stuff is in case you have to leave quickly, while others seem like they're placed there just to sound contrary and intelligent: "Stay in hotels that have already been bombed or otherwise attacked. Mumbai is a fairly safe place for travelers right now."&lt;br/&gt;&lt;br/&gt;A note about the books titled Jihad: I wouldn't stop you either. Most Muslims understand the term quite differently than we understand it here in the west. Jihad means struggle, often interpreted as a struggle to improve ones self or society. It appears frequently in the Qur'an, and, not being a racist I'd be happy to let you through on that one. But, yea, they should take your knives away, not the &lt;a href="http://jeffreygoldberg.theatlantic.com/archives/2008/12/even_colbert_cant_get_me_on_th.php"&gt;crap from Colbert&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-8483169112879122303?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/12/how-to-stay-alive-in-situation-that.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-6970608532241870207</guid><pubDate>Thu, 30 Oct 2008 06:49:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.806-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>stats/science</category><category domain='http://www.blogger.com/atom/ns#'>politics</category><title>2004 v 2008</title><description>&lt;a href="http://electoral-vote.com"&gt;electoral-vote.com&lt;/a&gt; is a cool way to track the wacko way our presidential votes are done in this country. They even let you view the electoral votes from this day in 2004, which is a neat feature, but they don't let you view today and 2004 side-by-side, so I made my own picture:&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;[caption id="attachment_171" align="aligncenter" width="400" caption="Electoral collage map: &amp;#39;04 vs &amp;#39;08"]&lt;a href="http://stuff.bjornroche.com/old-blog-uploads/2008/10/map-400.png"&gt;&lt;img class="size-full wp-image-171" title="Electoral collage map: '04 vs '08" src="http://stuff.bjornroche.com/old-blog-uploads/2008/10/map-400.png" alt="Electoral collage map: '04 vs '08" width="400" height="489" /&gt;&lt;/a&gt;[/caption]&lt;br/&gt;&lt;br/&gt;It's quite a difference! They also have a cool map that resizes the states in proportion with their electoral college votes:&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;[caption id="attachment_172" align="aligncenter" width="300" caption="Map with states resized in proportion to electoral college weight. Click for full size."]&lt;a href="http://stuff.bjornroche.com/old-blog-uploads/2008/10/safariscreensnapz0011.png"&gt;&lt;img class="size-medium wp-image-172 " title="Cartogram" src="http://stuff.bjornroche.com/old-blog-uploads/2008/10/safariscreensnapz0011-300x211.png" alt="Map with states resized in proportion to electoral college weight. Click for full size." width="300" height="211" /&gt;&lt;/a&gt;[/caption]&lt;br/&gt;&lt;br/&gt;Note that this is not an unbiased representation of the American population, since it assumes each state is uniform, but it is a good visual representation of the electoral college vote, and in the election, that's what counts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-6970608532241870207?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/10/2004-v-2008.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-5918878893255849697</guid><pubDate>Sat, 25 Oct 2008 14:01:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.807-08:00</atom:updated><title>Did I Miss National Take Responsibility Day?</title><description>Forgive me for getting political, but it seems like the world is falling apart and for once some of the responsible parties are actually taking responsibility! As angry as I get at those folks, I would like to applaud them for admitting their boo-boos! (also forgive me if I'm writing too fast and not making sense...)&lt;br/&gt;&lt;br/&gt;First, Alan Greenspan sort admitted that &lt;a href="http://www.kansascity.com/449/story/856067.html"&gt;he doesn't understand capitalism&lt;/a&gt;, or at least how and why it might break down saying, "I don't fully understand why [the credit meltdown] happened." The truth is, this bust was exactly like any other bust, but what confused him is that, for so long, he has been able to blame problems on lack of free markets and this one is so clearly a result of free markets gone awry. I'm not saying free markets are necessarily all bad, but, lets face it, maybe the central pillars of our entire economy need a little oversite, no? Just a little. The bad news is that now Alan Greenspan, an intelligent man who's finally said something people really need to hear, has been discredited in most people's eyes in the space of a few sentences. But lets face the facts now, this was a typical boom/bust cycle: everyone went crazy, overvaluing their assets until suddenly they realized their assets weren't worth anything and the bottom fell out. It's more psychology than math and it happens every boom and bust cycle. Every boom there's some justification for why the boom will last forever. In the internet era we were supposedly in some kind of new economy where we didn't actually have to produce anything. Nonsense, but people believed it. This time, Greenspan and other geniuses told us that thanks to his deregulation, the markets were finally free to keep expanding and that people with subprime mortgages could refinance when the values of their houses went up (this was what he called "democratizing credit" as if that had something to do with our voting rights). Nonsense again, to believe that any market, even housing, would always go up, but people believed it. The housing market was already overvalued, when all this started and only became more overvalued because of those subprime mortgages. But since the banking industry was now deregulated thanks to Greenspan, they only had to police themselves, which they weren't interested in doing because they were all living in a fantasy land of ever increasing property values. It's hard to be sensible about this stuff when you're caught up in a culture of people making rationalizations, so a lot of smart people all made the same mistake. That's why there's no such thing as a safe investment, kids: it's all a gamble. Personally, I think an industry that is gambling with other people's money should be regulated, so that risk is minimized. Until recently, Greenspan disagreed, but now he agrees, and I think we should aplaud him.&lt;br/&gt;&lt;br/&gt;Now, we find out that Bill Clinton &lt;a href="http://news.yahoo.com/s/ap/20081023/ap_on_re_af/un_un_food_crisis"&gt;"blew it"&lt;/a&gt;, too! Mr. free-trade-solves-all-problems now admits maybe if it leads to starvation we should do things a bit differently. "Food is not a commodity like others," Clinton said. "We should go back to a policy of maximum food self-sufficiency. It is crazy for us to think we can develop countries around the world without increasing their ability to feed themselves." Actually, Mr. Clinton, you may not realize this, but the "free trade" rules regarding food are quite different from other free trade rules. Let me explain. Lets start with the basics of free trade. First off, so-called free trade agreements have very little to do with making trade free. If they did, as my friend Mike pointed out to me, they could be just a page or two long. Moreover, many economists talk about how, because of the law of comparative advantage, both countries automatically benefit from free trade. Even if we assume that the agreements have anything to do with free trade, the &lt;a href="http://en.wikipedia.org/wiki/Comparative_advantage"&gt;law of comparative advantage&lt;/a&gt;, is about moving &lt;em&gt;goods&lt;/em&gt;, and these agreements have a lot to do with moving &lt;em&gt;c&lt;/em&gt;&lt;em&gt;apitol,&lt;/em&gt; which negates the benefits of the law of comparative advantage.&lt;br/&gt;&lt;br/&gt;But let's get back to food and why it's different from other things: the US has enormous farm subsidies and then wants other countries to engage in "free trade" with us, which essentially floods their economy with cheap food. Food that sells in their country for less than the price it takes to produce. That's not free trade. But it seems like a good thing because it means people of these other countries can get cheaper food. The problem is it's not good because it means these countries must now depend on foreign sources for food and no longer have the infrastructure to produce their own food. When international food prices fluctuate, this can destroy their economy from the bottom up: it starves their poorest people making them either dead or unable to work (never mind the fact that it immediately puts farmers out of work). Why would poor countries agree to this? Well it's true, they could veto the agreement, as they &lt;a href="http://en.wikipedia.org/wiki/Doha_Round"&gt;eventually did&lt;/a&gt; with the new round of trade talks but remember it's not the farmers who make these deals, and in the short run, cheap food sounds good. The other thing is, the poor countries want to have access to foreign capital and investment. In many cases, I think it's true that this aspect of globalization can be helpful to many poor countries, and many of them mistakenly think (or thought) that this would bring their economy up so much that they would become industrialized and not need to produce their own food. As far as I know, though, no major economy exists without the ability to produce it's own food, even if it means it has to subsidize its own crops. (Unfortunately, of course, free trade is often nothing more than an opportunity for rich countries to export their environmental and labor issues to poorer countries who are desperate for an influx of capital, which is bad for the poor and working people of all countries, not to mention the environment.) Clinton did not go so far as to back off from his entire free trade stance, of course, but he did acknowledge that at least some aspects of it are causing people around the world to starve, and I think he should be applauded for admitting this mistake.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-5918878893255849697?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/10/did-i-miss-national-take-responsibility.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-714447528718755343</guid><pubDate>Thu, 23 Oct 2008 07:22:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.810-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>pop culture</category><title>Signs that your cat may have a drug or alcohol problem</title><description>[caption id="attachment_152" align="alignright" width="158" caption="Adorable behavior such as this may be a sign of something more sinister!"]&lt;a href="http://stuff.bjornroche.com/old-blog-uploads/2008/10/photo.jpg"&gt;&lt;img class="size-medium wp-image-152  " title="Warning sign of cat alcohol or drug abuse" src="http://stuff.bjornroche.com/old-blog-uploads/2008/10/photo-225x300.jpg" alt="Adorable behavior such as this may be a sign of something more sinister!" width="158" height="210" /&gt;&lt;/a&gt;[/caption]&lt;br/&gt;&lt;br/&gt;If your cat is using alcohol and drugs, it's a good bet they're doing everything possible to keep that activity hidden. The last thing they want is for their owners to give them a "hassle" about his newly-found "entertainment." But continued alcohol and drug use will affect your cat's behavior, attitudes and even choice of friends.&lt;br/&gt;&lt;br/&gt;Here are some signs to look for, if you think that your cat may be using:&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Mood Swings&lt;/strong&gt;&lt;br/&gt;&lt;ul&gt;Most cats go through normal mood swings. But look for extreme changes -- one minute happy and giddy followed by withdrawal, or fits of clawing at the furniture more than usual. Is your cat both aloof and prone to acting out? These are possible signs of drug and alcohol abuse. &lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;New Friends?&lt;/strong&gt; &lt;br/&gt;&lt;ul&gt;If you cat is using, chances are they will begin hanging out with other cats with similar interests. Has your cat suddenly turned away from their old friends? Are they hanging out with an older (driving age) group or with those that you suspect are using drugs? &lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;Physical Health&lt;/strong&gt; &lt;br/&gt;&lt;ul&gt;Have you noticed a change in appetite? Is your cat extremely finicky about the food they eat? Does your your cat have strange or inexplicable sleeping patterns? &lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;"Evidence"&lt;/strong&gt;&lt;br/&gt;&lt;ul&gt;Have you notice anything missing lately? Alcoholic beverages? Maybe some really neat sounding pill bottles? &lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;Attitude&lt;/strong&gt; &lt;br/&gt;&lt;ul&gt;Has your cat suddenly developed a complete disregard for others? Does your cat get in your way or have a "bad attitude"? Is your cat evasive or troublesome, perhaps hiding when they know they've done something bad?&lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;Little Things&lt;/strong&gt; &lt;br/&gt;&lt;ul&gt;Have you noticed a change in hairstyle or "fashion" choices? Are they suddenly using breath mints consistently? Is your cat suddenly very secretive? &lt;/ul&gt;&lt;br/&gt;&lt;strong&gt;Overt Signals&lt;/strong&gt; &lt;br/&gt;&lt;ul&gt;Has anyone ever told you your cat is drinking or using drugs? Do you know that they have "experimented." Have they suddenly developed the need for additional money, for vague or unexplained reasons? Have you ever seen them stagger? Or have you noticed any slurred speech? Changes in the pupils of their eyes, or redness or bloodshot eyes? &lt;/ul&gt;&lt;br/&gt;Again, many of these changes could be attributed to normal cat behavior. But if you have noticed a pattern of several of these "signals" your cat may be using alcohol or drugs.&lt;br/&gt;&lt;br/&gt; &lt;br/&gt;&lt;br/&gt;thanks to &lt;a href="http://alcoholism.about.com" target="_blank"&gt;alcoholism.about.com&lt;/a&gt; for.... virtually all of this text.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-714447528718755343?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/10/signs-that-your-cat-may-have-drug-or.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-6145734941606683950</guid><pubDate>Fri, 17 Oct 2008 10:57:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.812-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Dorkiness</category><category domain='http://www.blogger.com/atom/ns#'>pop culture</category><title>New Use for an Old Tool</title><description>[caption id="attachment_157" align="alignnone" width="300" caption="That&amp;#39;s what I&amp;#39;ve been trying to tell you!"]&lt;a href="http://stuff.bjornroche.com/old-blog-uploads/2008/10/safariscreensnapz001.png"&gt;&lt;img class="size-medium wp-image-157 " title="Fringe finds a new use for pigions" src="http://stuff.bjornroche.com/old-blog-uploads/2008/10/safariscreensnapz001-300x255.png" alt="That's what I've been trying to tell you!" width="300" height="255" /&gt;&lt;/a&gt;[/caption]&lt;br/&gt;&lt;br/&gt;Oh, yeh, people have been using homing Pigeons to catch people who can control electricity for, like, hundreds of years, now. Isn't that how they caught magneto, too?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-6145734941606683950?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/10/new-use-for-old-tool.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-7225698277211840079.post-6872145199004947641</guid><pubDate>Fri, 03 Oct 2008 13:42:00 +0000</pubDate><atom:updated>2009-11-11T08:27:26.813-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>nyc</category><category domain='http://www.blogger.com/atom/ns#'>pop culture</category><title>My Wikipedia Entry for Gossip Girl</title><description>While everyone else is obsessed with the idea of teens getting it on (OMG! Teenagers having Sex! Can it be?) I couldn't help but notice something else about the show based on a school affiliated my own &lt;a href="http://www.ivygateblog.com/2007/11/according-to-the-wsj-collegiate-school-is-best-ivy-feeder/"&gt;snotty-a#$@ed&lt;/a&gt; childhood alma-matter, so I wrote my own wiki entry...&lt;br/&gt;&lt;h3&gt;Gossip Girl (TV Series)&lt;/h3&gt;&lt;br/&gt;&lt;div style="width: 240px; float: right; border: 1px solid #666; font-size: 80%; text-align: center; margin: 5px; padding: 5px;"&gt;&lt;img title="Jessica Szohr. In the eugenically sterilized world of Gossip Girls, black people have been improved: their new eye color is blue!" src="http://stuff.bjornroche.com/old-blog-uploads/2008/08/220px-jessica_szohr_lf.JPG" alt="Jessica Szohr. In the eugenically sterilized world of Gossip Girls, black people have been improved: their new eye color is blue!" /&gt;In addition to lots of hot white characters, Gossip Girl also features a hot non-white character who plays Dan's BFF. (She even looks less white in other pictures!) If you believe she grew up in a scary part of Brooklyn, I'll sell you a bridge to that borough.&lt;/div&gt;&lt;br/&gt;Gossip Girl is an American television teen drama based on the popular novel series of the same name written by Cecily von Ziegesar. Gossip Girl revolves around the lives of socialite young adults growing up on New York's least exciting neighborhood, the Upper East Side. The characters attend elite academic institutions while dealing with sex, drugs, jealousy, and other issues faced by today's rich white kids (oh, right, and Dan's BFF, what's-her-name&lt;sup&gt;1&lt;/sup&gt;. She has to deal with pretending not to fit in, despite being from scary Brooklyn). Issues not addressed in detail include: depression, college admission, school work, money, medical problems, emotional problems, etc. (fortunately, that TV unfriendly stuff doesn't happen to these kids, even, surprisingly, anorexia).&lt;br/&gt;&lt;br/&gt;Despite the appearance of &lt;del&gt;non-wasp characters&lt;/del&gt; a non-wasp character, the audience is able to fantasize themselves into an all-white world (just like &lt;a href="http://en.wikipedia.org/wiki/Groton_School"&gt;Groton&lt;/a&gt;'s founder &lt;a href="http://en.wikipedia.org/wiki/Endicott_Peabody_(educator)"&gt;Endicott Peabody&lt;/a&gt; dreamed of, too!) because that character at least has blue eyes and is really hot and has a &lt;a href="http://thetvaddict.com/2008/04/28/we-gossip-with-gossip-girl-star-jessica-szohr/"&gt;"normal"&lt;/a&gt; job working in a cafe (off-camera she's a model).&lt;br/&gt;&lt;br/&gt;Apparently, the writers attended New York City private schools either in 1947, or in the South, because several of the episodes depict things like coming out cotillions (I know the characters are too old for bar/bat mitzvahs, but cotillions? WTF? How about the &lt;a href="http://query.nytimes.com/gst/fullpage.html?res=9B0DE0D9163DF931A15751C1A961948260"&gt;Gold and Silver Ball&lt;/a&gt; next season?).&lt;sup&gt;2&lt;/sup&gt;&lt;br/&gt;&lt;br/&gt;Anyway relax, this show is totally race-sanitized: no major Asian characters or Black characters (unless they have blue eyes, exotic sounding names and can pass for children of characters from the '90's hit show &lt;a href="http://en.wikipedia.org/wiki/Aisha_Tyler"&gt;Friends&lt;/a&gt;), and definitely no Jews. Not the Upper East Side I remember from my high school days, but it's definitely the Upper East Side many of my friends' parents probably dreamed about. It's sort of like a eugenics project, only it's not real, so you can feel good about that, too, because some of those schools really are eugenics projects and that's more than a little creepy.&lt;br/&gt;&lt;h4&gt;Criticism&lt;/h4&gt;&lt;br/&gt;The show's critics allege that the show raises some adult themes. What exactly constitutes an adult theme? According to &lt;a href="http://en.wikipedia.org/wiki/Calvin_and_Hobbes"&gt;Bill Waterson&lt;/a&gt;, it's things like doing paperwork, filing, etc. Indeed, the show has that: Nate becomes involved in the family business and so on, so I advise parents caution when allowing their children to watch this show.&lt;br/&gt;&lt;h4&gt;Season 2&lt;/h4&gt;&lt;br/&gt;Rumor has it that more adult themes are in store next season. Perhaps they'll be doing taxes, or learning right from wrong or even drinking &lt;a href="http://en.wikipedia.org/wiki/Sex_and_the_City"&gt;adult drinks&lt;/a&gt; like cosmos? Perhaps the smarter ones will grow up properly and turn into &lt;a title="Hot Intellectual Chicks" href="http://hotintellectualchicks.com" target="_blank"&gt;chicktellectuals&lt;/a&gt;.&lt;br/&gt;&lt;h4&gt;Discussion Questions&lt;/h4&gt;&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;Wasn't there an Asian chick with no lines in the pilot?&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;What's more boring, a blog about a TV show or a TV show about a blog?&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;If you were going to have a bitchy argument synchronized to a song, which song would it be?&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;In what way is Jessica Szohr's character not white?&lt;sup&gt;3&lt;/sup&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;&lt;h4&gt;Notes&lt;/h4&gt;&lt;br/&gt;&lt;sup&gt;1&lt;/sup&gt; It's hard to remember the character's name when &lt;a href="http://en.wikipedia.org/wiki/Gossip_girl_episodes"&gt;she's missing from more episodes than any other character&lt;/a&gt;. I wonder why that is.&lt;br/&gt;&lt;sup&gt;2&lt;/sup&gt; Okay, truth be told, there were a few cotillions, but nobody got excited about them except the young ladies' mothers.&lt;br/&gt;&lt;sup&gt;3&lt;/sup&gt; We're looking for either everyone talks about how great she is in order to feel accepting of her, or she provides advice and, you might say, spiritual guidance the &lt;del&gt;real&lt;/del&gt; other characters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7225698277211840079-6872145199004947641?l=blog.bjornroche.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.bjornroche.com/2008/10/my-wikipedia-entry-for-gossip-girl.html</link><author>noreply@blogger.com (Bjorn Roche)</author><thr:total>2</thr:total></item></channel></rss>