Weblog

Various musings on different ideas

Blog Spam

I used WordPress as the blog engine for the previous version of this site. Unfortunately, the spam being posted to the site in the form of comments became too great a burden just to skim through and delete. So, I switched back to Sandvox, my web site editing tool of choice, since the site was going to be essentially static. What you are reading was developed with Sandvox. Just FYI.


Volcanos for Hire

I’ve setup sites for publishing my music under the name Volcanos for Hire. There’s a blog dedicated to just VfH activities, a MySpace page, and an online store (using Bandcamp) that really simplifies selling and distributing my music.

Here’s an example of what the store provides:

New Year's Evolutions

I’ve been reviewing the past year and it looks like a little reorganization is due. So I’ve made some changes in how I will approach the projects and meta-projects of the past year.

First, EMR7, Inc. will be retargeted towards developing software ideas I’ve been having. I’ve had some ideas about ad hoc collaboration using Bonjour, an archive compacting scheme, and some audio units. Hence, I’ll need to adjust my schedule to put some more time into software development.

Second, I’ll be putting my musical energy into Volcanos for Hire as I have a backlog of material that doesn’t rightly belong in the Scurvy Ottto & The Rickets camp. There are tunes that didn’t make the Austin To Abbey Road CD and I’ve got some new ones in the works. Also, I’m planning on doing two versions of each song - a stripped down acoustic version and a full blown George Martin style production. I’m looking forward to diving back into music production and songwriting.

Finally, I’ll start collecting all my blog posts into this site. That will simplify things immensely and, hopefully, have a little more up-to-date output.

Arsenal Thinking

I don’t want a silver bullet, I want an arsenal. –Ed

I’ve observed a common mind set in my consulting gigs - “silver bullet thinking” - where the community clutches a new paradigm and forcibly applies it to every problem they encounter. This has happened over and over with object oriented computing, service oriented architectures, message passing architectures, remote procedure calls, the Web, and others. Paradigms that are suitable to one class of problems rarely perform well on other classes.

Examples of misapplied paradigms include:

  • Distributed computing, RPC, enterprise objects, or web services used as the fine grained internal architecture of an application

  • Uniform memory access applied to strongly non-uniform memory access (NUMA) architectures.

  • Enterprise architecture principles applied to systems built for a small number of users.

All of these have easy counter examples where the inappropriate paradigm can work. Those that promote these arguments are committing a kind of fraud. They are representing exceptional cases as suitable for common application. Extrapolation from a single case is a slippery slope that is readily embraced by the lazy and counter-example justifications for best practices begins a steady path to gross inefficiency.

The only problem is that most people are already faced with overwhelming complexity and being given solutions that have complex rules about where they work drags the adoption process and introduces huge overheads. This is the problem with searching for silver bullets.

    “As simple as possible but no simpler” — Einstein

An alternative practices is to view paradigms and frameworks as weapons in an arsenal. The key to an arsenal is having enough weapons of enough different kinds for anticipated challenges while keeping the number of weapons to a manageable level. Another critical skill is knowing when to apply which tool.

A good computer scientist should have an understanding of the established paradigms to anticipate their suitability to addressing problems. The computer scientist should also know their own depth of skill well enough to know when to reach to an expert instead applying the paradigm on his or her own.

Opportunity Lost

SOA has become the new silver bullet solution to the old problem of data integration and access. Unfortunately this shift in emphasis is closing the door on the truly significant opportunity that SOA presents to the distributed enterprise - encapsulation of behavior with improved coordination across large distributed teams. This obsession with data will lead to an explosion in complexity as we attempt to build the “one true schema” for all of the enterprise.

SOA has the ability to encapsulate behavior, to make the need for cross domain knowledge to simply vanish. This is possible because SOA provides access to processes that act on data as well as the data itself. This is an old paradigm for those familiar with object oriented design. By asking an object to do the job for you, you are spared the problem of understanding the fine grained details of processes that are not directly relevant to your problem.

As illustration, consider the Google map service. The Google service does more than provide map data, it also composes, renders, and binds hyperlink information to points on the map. The consumer of the service needs know only the minimum types of information such geographic coordinates, hyperlink format, and selecting map layers. The fine grained detailed knowledge of rendering map data, creating images, providing AJAX web controls, etc. are provided by the service. A purely data centric approach would have each consumer of map data, develop the entire stack of knowledge needed to manipulate that data.

As further illustration, consider aircraft simulation data. Do you really want to understand flight dynamics in order use the data about an F-22 or rather invoke an F-22 simulation as a service and cherry-pick information from the running simulation? The data centric approach to enterprise architecture promotes heavy replication of business logic across the enterprise, SOA gives us an alternative.

South Texas Stomp

I have this idea for a virtual world based on the musical experiences I had in Kingsville Texas around 1984. It’s called South Texas Stomp. Bands like Scurvy Ottto and the Rickets, Special Ed and the School Bored, Low Country, and Electra Glide created an unusual dynamic. The isolated nature of Kingsville created an incubator and produced some engaging music out of these bands.

The entertainment premise of STS is a cross between Second Life, Machinima style movie making, and live performance. A small team of people would create the compositions, basic dialog and story lines, and “palette” for performers. Performers would take these building blocks and design choreography, cinematography, DJ mixing, etc. to create performances that can be capture as audio and video. The final ingredient is the audience including some paying patrons.

The financial aspects of this game have yet to be determined but I don’t believe there is much promise in taxing each viewing or even tracking what is done with performances. Instead, I see micropayments, branding, advertising, and other methods of financing the creative input into the virtual world.

Of course, exactly what is South Texas has to be defined. I decided to split Texas halfway from the top to the bottom. That gives me all of my favorite places: Austin, Houston, San Antonio, and of course South Texas proper. I even get Big Bend and Fort Davis : )


south_texas_stomp_line_textmedium

South Texas Stomped

Follow Up:

As it was, I ended up using South Texas Stomp as the title for some music production. Check out http://www.southtexasstomp.com


Wii Remote Genetic Jams

I am thinking about an application that would combine the Wii remote with a genetic algorithms approach to music performance and creation. The motion of the Wii remote would guide the selection of fittest candidates from loops such as drum beats and musical montages.

I’ve been playing around with the Wiimote and Nunchuck trying to understand the ergonomic possibilities.

Places For Stuff

My impression of the key to GTD is that there are places for stuff and process that doesn’t require 100% of all possible places to be created before performing actions. So what kind of spaces are needed?

  • Paper – mail, files, folders, processes
  • Email – inbox, folders, processes
  • Electronic documents – pictures, movies, PDF, word, excel, etc.
  • Physical stuff – keyboards, guitars, house, dishes, cables, books, etc.

So break it down by rooms where things are not organized, the stuff in them, and places for the stuff to be put where they can be considered organized.

Group IMAP Service

IMAP folders would be more powerful if they could serve collaboration as well as personal storage. For example, it would be nice to be able to setup an IMAP folder for planning a company picnic and whenever I drop a message to that folder it would be shared out to the rest of the planning team.

One way to accomplish this would be to follow a dropbox approach. A separate web service is configured to read your IMAP folders and poll them for new messages. Once a message (or multiple messages) is found it is copied to your collaboration tool. For example, it could be copied into a BaseCamp or activeCollab message. When the copy is complete the toll could then move the file into an archive folder indicating that the message has been transferred.

Another approach would be to hack the Twisted Server IMAP framework and provide dynamic folder subscriptions along with user group permissions. This would be preferred but there are issues with port numbers and client configuration.