apple
Geek: Application to analyze word frequencies in your iTunes library
Submitted by smartperson on Sun, 06/06/2010 - 00:48
You all know I enjoy music a lot. I tend to go through phases with particular genres, but love music of all types. Recently I found myself wondering: what words occur the most frequently in the music that I listen to? I had some guesses, but wanted to do a proper in-depth analysis.
I call this little app "LyricsHistogram." It does the following:
- Uses ScriptingBridge technology from Apple to get the list of tracks you have in iTunes
- Uses LyrDb to fetch a set of lyrics for each song
- Breaks out all of the words in each song and keeps track of the frequency of each one
- Optionally weights the lyrics of each song based on how many times it has been played in iTunes
- I added this weighting ability after I realized I listed to some songs very frequently and never listened to some of the music in my library
- Outputs word-frequency pairs in comma-separated (CSV) format for detailed analysis using programs like Microsoft Excel
This application is available via my shared Subversion repository here. If you don't know what that means, then this application is not ready for you to use yet - sorry. Usage help is available on the command-line.
With my machine's speed and network performance I run through my library of ~5400 songs in about 10 minutes. Since this will hit the LyrDb database every time you run it (I haven't added lyrics caching yet) try not to run it frivolously. Please enjoy and experiment with this code. If you want write-access to the repository to contribute, let me know. One day we might be able to make this a really interesting and useful application.
It was really fun to use ScriptingBridge and simple web services to write this app. I've run both weighted and unweighted on my library and the results were very interesting. I'll have another blog post to share what I've seen with my own music library another day.
Musings: Some differences between Apple and Microsoft, part 2
Submitted by smartperson on Tue, 12/29/2009 - 19:50Every Tuesday at Apple we would get deliveries of fresh fruit to each of the breakout/lounge areas. Every day at the cafeteria there were free apples for people to grab with their lunch. Every Tuesday and Friday morning (I think) after Steve got cancer there was delicious organic vegan broth you could pour into a cup and sip. The only thing we had to drink was Allhambra water from huge water coolers. The division I worked in usually had doughnuts once a week.
All of Microsoft has water-filtering coolers and free soda (pretty much all the major cans). My old Microsoft team would have doughnuts or muffins every Friday morning. My new Microsoft team has bagels or hot breakfast/pancakes/bacon every Wednesday. Someone also brings in doughnuts once a week on average.
Please see my previous post for a full list of disclaimers. The emphasis with this one is that I'm not making a judgement on which one is better.
Musings: Some differences between Apple and Microsoft
Submitted by smartperson on Sun, 11/22/2009 - 15:10Having worked at and read extensively on these two fine corporations, a few differences come to mind, that over time I hope to commit to writing. Here are some disclaimers:
- There is no confidential information contained in anything I write
- The thoughts expressed represent solely my opinions
- Nothing I write is designed to present either of these companies in a particularly positive or negative light. I've played for both teams - I don't play favorites.
On to today's thoughts: relationships with Independent Software Vendors (ISVs).
Perhaps it is Steve Jobs' ego, or simply the Apple corporate philosophy, but the "whole widget" thing can indeed be taken to an extreme at the company a little too easily. Too many times, now, we've seen software from Apple that closely resembles functionality offered by third-party shareware developers for the platform. To old Mac users all of these examples are familiar, but I'll spell them out for the others:
Back in the days of yore, users wanted a way to more easily search for things online. Web browsers were not the panacea that they are today, and people still preferred the desktop application experience over the clunky AJAX-free web application. Enter Watson, which did awesome things like search movie listings, eBay auctions (back when people used eBay), the phone book, and other useful sources of information. It was not long after Watson was released that Apple introduced Sherlock 3. Sherlock offered much of the same functionality that users had clamored for, but came free with Mac OS X.
Apple introduced Dashboard and its widgets with Mac OS X 10.4, providing users with an easy way to access tiny bits of information quickly. Konfabulator had been available for about 2 years before OS X Tiger's release, or about 1 year before any information had been made public by Apple about Tiger's feature set.
Even today many user's love the easy access interface of Quicksilver on their Mac. While it does many, many things, I couldn't help but feel like Apple making application matches the first result in a Spotlight search wasn't meant to take some users of Quicksilver who use it solely to quickly launch an app and bring them back into the Apple fold. All of these incidents stirred up some level of outcry from developers, but people are always willing to forgive Apple with time. I don't find any of these incidents bad, per se, but they speak more to Apple's perceived desire to keep users running an all-Apple system as much as possible.
I feel like Microsoft lives on the other side of the fence in ISV-land. You can see how every decision they make is designed to keep ISVs happy, so that their platform will continue to thrive with diversity. Microsoft is a company with a lot of brilliant, capable people - but why is it that Windows Mobile tends to suffer so much in public opinion? I think a lot of it stems from the relationship with ISVs and OEMs. I have no doubt Microsoft could have produced much of the same experience that software like Pocket Informant used to offer, or the slick, custom experience that HTC, Sony, et al. have been able to produce on their Windows Mobile (or Windows Phone, excuse me) handsets. By keeping the Windows Phone experience relatively vanilla an ecosystem of software development is able to grow and diversify.
Microsoft is, first-and-foremost a platform company. Whether you look at their enterprise or consumer offerings, everything makes more sense when examined in this light (except the Zune, sorta). The rationale with which many business decisions are made definitely seems to center, "What's best for the platform?"