Where to discuss songs?

No comments:
I often seem to wonder about the meaning of songs, and would like to talk about them with others. Consider the track "Dragon Queen" from the latest album from Yeah Yeah Yeahs, It's Blitz! It's a catchy track, but there are some indecipherable lyrics in there, and it sounds very much like another popular song which I can't quite identify. I think it would be fun to argue about the lyrics and identify the funk track that Karen O and friends are lifting.

Allmusic has the data on this track - how long it is, who made it, etc - but offers no forum for discussion.

Where should such a form exist? Should it be a feature of an existing service (like allmusic), or should it be it's own thing? Should songs have a canonical URL?

Some songs are important enough to warrant a wikipedia article, but Dragon Queen is really not one of them, I think. And besides, wikipedia is not appropriate for critical discussion. So for existing services, I think Wikipedia is out.

A great place for online music discussion would be Allmusic - they already have all the facts handy, all that's needed is a new discussion feature. I'm not sure what their revenue model is, but traffic is always good. Last.fm would be a nice place for this kind of musical discussion, too. Of course, if Google could somehow collect all the blog posts, tweets, and comments about the song from all corners of the web, that would be very impressive! YouTube is another option for music mecca, but the song has to have a video associated, and frankly the quality of youtube comments is so bad I wonder if this would be worth the cost.

There are so many options for musical discussion, it's surprising it hasn't really happened yet.

[Update: it turns out that Last.fm is the place. It has all of allmusics info, and you can edit entries for artists, albums, and tracks, and forum discussions. For example, here is the page for Dragon Queen. Last.fm calls comments "shouts", and their OSX thick-client doesn't support them, which is why I missed them on my first look at Last.fm.]

Sending the wrong message about torture

No comments:
Obama Rules Out Charging C.I.A. Agents in Interrogations - NYTimes.com
The interrogation methods were among the Bush administration’s most closely guarded secrets, and what was released on Thursday afternoon marked the most comprehensive public accounting to date of a program that some senior Obama administration officials have said included illegal torture.

And Obama won't prosecute. This sends the wrong message to soldiers and operatives: that you don't need to use your judgment when carrying out orders. As long as you're just doing your job, you won't be held accountable. This is the wrong message, and I'm disappointed in Obama.

Hi-Tech organization tips?

No comments:
I've been working assiduously through a wonderful book called "The Complete Idiot's Guide to Organizing your Life". It offers some wonderful advice and specific techniques to help define your goals, and then unclutter and streamline your stuff, your time, and your relationships to support those goals.

The techniques, though, are not very high tech, and I think it's a worthy goal to adapt the book's advice to a modern suite of tools. For example, in building a "Life Management Center" (or the "helm of your ship", the author talks about filing systems primarily geared toward paperwork, and also focuses on using paper-based planners (in particular using the alphabetical section as an all-purpose database).

Instead of a paper planner I want to use my iPhone. With one exception, the todo list, the iPhone is a great tool.

I think there is a great deal of opportunity to write a book (or perhaps a series of posts) that applies these lo-tech concepts to hi-tech tools.

LiveScribe vs. Windows Journal

2 comments:
Bought a LiveScribe pen yesterday. Here's what I wrote about it when I first discovered it:

ARM 9, 2G Flash RAM, IR sensor in the tip, stereo microphone, OLED display - and a ball-point pen! $200. Position and velocity data apparently via coded dots on special paper (a mildly unfortunate requirement), can digitize notes associating audio with them for later playback. Desktop software does hand-writing recognition making notes searchable (this last feature is similar to Windows Journal). You actually draw the pen's interface if you need to interact with it; there are no buttons on the thing. Interestingly the company is going to ship a (Java) SDK for the device. Very interesting indeed - with a little custom software I'm thinking this could be an amazing tool for client consultations, or for marking up any printed material. Neat but probably useless demos include a piano you can draw and then play, and a foreign language dictionary that will pronounce a word you write in english in several different languages. Tablets are still better for illustration, though.


My tablet's battery has been flaky, it's WiFi hasn't been working right, and I gave my (very nice) voice recorder to my ex-girlfriend, so I decided to buy it for use as a note-taking tool. I've been using it pretty heavily for the last two days, and here are my first thoughts.

This pen is perfect for taking notes in a meeting. The ability to record audio along with your notes is very powerful. I'm still getting the hang of this style of note-taking. Being able to store your notes and audio on a PC for backup, search and review is potentially useful, but I fear data-duplication. Luckily the desktop tools are read only so it's easy to treat the PC as a viewable backup, and the notebook/pen as the actual data.

The pen is okay for creating and sharing simple expository videos. Unfortunately you can only share these with the Windows version of Livescribe desktop.

The tablet still wins for illustration and expository videos (just draw and talk, capture with Jing). It is not quite as convenient as you would think, though - you have to have some "dot paper" for the thing to work, so you need to have a notebook and a pen. Indeed, you can't use the pen as a simple voice recorder on it's own, because you have to have dot paper to make it start recording! I'm also concerned that eventually the paper buttons will become obscured and unusable.

A more serious issue with Livescribe is integrating the data into the rest of my tool set. The data is not file-oriented. One is forced to use yet another tool to search and access proprietary data. (Windows Journal is slightly more file oriented). You can export PDF and AAC files from the Mac client, but this is a) inconvenient, b) duplicates data, and c) loses information about the capture (you couldn't recreate the video, for example). The closest thing to a "true backup" is, ironically, the SWF files used on the community site.

An interesting tool, but in no way revolutionary.

Exploring the Blogosphere

No comments:
I am finding so many interesting people! It's quite exciting!

Via Case I discovered Buster McLeod's Enjoymentland - one man's exploration of happiness and satisfaction (with handy tips on loosening your brain with three random words, theories like "it is enjoyable to take your own advice", and an interest in fresh produce). From there I learned about Jane McGonigal's Avantgame - one woman's exploration of why gaming makes us happy (via a post on "game-ifying" her attempt to write a book). In addition she is a very accomplished, attractive person living an apparently wonderful life. (And she has an identical twin sister Kelly who is an accomplished yoga teacher and writer (and also a PhD)).

Frankly it feels good is to know that these people exist, that they are thinking, creating, and sharing themselves in all their quirky esoteric glory. I get the sense that anything is possible, that if I take the time to accurately describe my dream, patiently work toward it every day (while keeping my workspace neat!), that I really can achieve it. And meanwhile I should feel free to unabashedly blog about my own preoccupations no matter how odd they may be.


These are the tools of our lives.

No comments:
Tool proliferation (and contraction) is a part of my life. I am an early adopter, partly because of my job, and partly because of my personality. I enjoy the new, and sometimes the new can be quite valuable.

The distinction between software, hardware, website, and locally installed tools is not very important in the long run. From the mind's perspective, they are all equivalent: tools focus behavior, sacrificing generality for effectiveness. (This definition is as true for a screwdriver as for a word processor.)

Here are some tools I've been using for some time, in no particular order:
Evernote Basecamp Freshbooks Goodreads BetterWorld Dropbox Gmail Livescribe Namecheap Linode GCalendar GNews GReader Hulu Mail.app Adium Visio MSProject MSWord Photoshop Flash Flex Eclipse Netbeans Ant Maven Ivy EnterpriseArchitect JavaScript Firefox Safari ScribeFire Zotero Zing Gaim Skype Ubiquity TreeTabs Growl Terminal Bash Last.Fm Delicious Facebook Yelp YouTube MySpace Amazon NewEgg Meetup Q10 Costco VMWare Mercurial Git CVS SVN iPhone iTunes Twitter FriendFeed Firebug Blogger YahooMovies Kongregate CounterStrikeSource TurboTax NikonD90 Xcode WindowsXP OSX Wireshark Ableton Mbox2.

There are many tools I haven't listed, but these are the ones off the top of my head. Some of these tools overlap each other. For example, I have more than one mail application, browser, IDE, programming language, note-taking and build tool. Some of these tools are relatively new to me, and I'm still using them. Some of them I hardly use at all, others I use daily. Some I used to use a lot more, but now hardly at all. Some are for business, some for pleasure.

Some of these tools are platforms for other tools - but that is not really important. Indeed with Firefox, the nesting can go deeper: Greasemonkey and Ubiquity are Firefox plugins which can themselves be extended further.

I think that tools say a lot about a person, but not everything. For example, I like good beer, good coffee, occasional yoga and a daily swim. There are few tools that would indicate these preferences (although a fancy tea set, a yoga mat and goggles/speedo would be a good hint!) But interestingly, tools give you an excellent idea of what that person likes to make. And what someone likes to make is more important than what they like to consume, in my opinion.

You could infer a lot of (correct) things about my professional life from my tool list. For example, that I do a fair bit of programming, in Java (and you might probably guess HTML CSS and JavaScript). The writing tools may give a hint that I'm experienced enough to get asked to write specifications. You could also tell I'm a blogger and a journaler. Although you may miss the fact that I'm an amatuer writer of fiction (Q10 is the hint there), you would probably get that I'm a fairly serious amatuer photographer (D90, Photoshop), and musician (Ableton, MBox2). But you probably wouldn't be tricked into thinking I'm a pro photographer or musician.

But of course I may omit certain things. For example, I didn't list my pool cue, bow, soccer cleats or my huge WoW TCG collection. Admittedly these are relics of past activities, but it points out the risk of self-selecting a tool list. Perhaps a separate "tools in storage" could help one create an activity history for someone.

The "tools of our lives" tend to cluster around particular activities, and this seems to be the most natural way to organize the tools. Activity drives tool usage, but occasionally the reverse happens. If I want to ride a motorcycle, I need to buy a motorcycle - the tool supports the activity. But sometimes a tool falls into my lap and I start using it. For example, Facebook is a great tool for staying in touch with friends, and so I may do more of that activity. Last.fm is a great tool for discovering new music, and I might spend more time listening to obscure tracks. I might be tempted to call these promotional tools in that they promote certain activities by making them easier to do. Hulu/TV Watching is another promotional pair. These are tools which actually shape the time-budget of your life, and so you must be careful of these. These tools can open your eyes to new possibilities, but they can also distract you from the activities that matter to you.

Many tools are geared toward eaking out productivity enhancements. These tools assume you already have a way to do something, and offer an alternative method which is faster, cheaper, or produces results of higher quality (or all three). I would consider e-tailers to be in this class of tool: they often make things easier to find, to order, and to pay for than traditional retailers. Most software-making tools are in this class. I would call these productivity tools. Essentially all software libraries and frameworks fall into this category. A physical example would be an electric drill.

There is another class of tools which offers insight into the world. They tend to be passive tools, that let the user look at things from a new angle, or provide information that would ordinarily be inaccessible. A newspaper is a classic example, or Google News. But also more technical tools like Wireshark or Firebug or LambdaProbe. IDEs like Eclipse or XCode also have many features of this sort, providing summaries of information. Insight tools help you understand the world in a way that is useful to you. A physical example would be a flashlight.

Tools can sometimes be hard to distinguish. Is TreeTabs (an excellent Firefox plugin) an insight, productivity, or even promotional tool? There is a case to be made for all three: insight because it lets you see which tabs are related to each other, productivity because it uses screen real-estate better and is more readable, and promotional because it tempts you to use far more tabs than before (with the unintended side-effect of making Firefox a lot less stable - but that's another story).

The same sort of question can be asked of certain IDE and framework features. IDEs make physical artifacts relatively easy to manage (via search) and create (via refactoring tools) and so they unintentionally promote needless artifact creation. Many frameworks also promote the use of many very specialized physical artifacts to accomplish a single task, which has many undesirable side-effects.

Splitting the Atomic User Interface

No comments:
There is a war waging in the technosphere between those who favor thick clients (or rich clients as they are now called), and those who favor thin clients. Thin clients, and the server-mediated UI frameworks which support them, meet a singularly important requirement - to be understood by other programs, especially search engines. A large part of the utility of the internet is search, and search is only possible because web spiders can understand the simple structure of HTML and those internal relationships expressed as hyperlinks. These spiders cannot understand rich clients. Another increasingly useful part of the internet are mashups, where one application is used to decorate another with useful information. This, too, is rendered impossible by indivisible, atomic rich clients.

Indivisability, or atomicity, is what you get with a binary image, or a Flash SWF, aJava applet, a Canvas element, or a big hunk of generative JavaScript (like GWT). These elements are basically inscrutable by other programs. The DOM comes to an abrupt stop, and so does all ability to index, manipulate, or extend. When one of these elements expands to consume the entire page, the utility of the internet goes down a little bit because now there is information locked away, inaccessible. The entire page becomes an atom, and completely inscrutible.

And yet, these atomic technologies enable some truly beautiful interfaces, and in some cases are a joy to program with, so we don't want to give them up. Most applications should just use them and be happy, because 80% of searches are informational (as opposed to navigational or transactional - see http://live.psu.edu/story/29879), and most of these programs are transactional (that is, getting the user to fill out a form).

For informational rich clients, it's more complex. The bottom line is that you have to expose the information in the traditional way, too. This is less "cloaking" and more "exposing" internal state to the programs that need the info. Tacking on a trivial, non-beautiful HTML exposure of your data should be pretty easy, especially if your app is done in the SOFEA style. You have each page redirect to your rich client internal anchor. This is a valid use of a server-side framework.

This approach makes (almost) everyone happy. The data and it's relationship to external sites is exposed to search engines and mashups. The only person who is unhappy is the one who wants to use your UI in a mashup, along with the the data. But in the end, this is a minor impact. The importance of UI reuse is much less than the importance of information reuse.

Another approach is for the atom to finally be divided - for the web spiders to break the UI atom and release it's power. Unfortunately, this demands a great deal of computational effort on the part of the spiders, and is not scalable. If Google uses 20 megawatts today, expect this to increase an order of magnitude to break all the UI atoms out there, repeatedly. And then expect some information to be lost or misrepresented. From the mashup side it's a better picture - it is possible to analyze a running Java Swing program, for example, and expose a containment hierarchy as a DOM structure. No doubt a similar possibility exists for Flash, etc. Of course, JavaScript already exposes itself as a DOM structure, so it's a bit ahead of the game.


Two disturbing comments from Obama and a ramble about Afghanistan

No comments:
Obama made a comment about the economy today that tough times are a "great opportunity". I agree, but I think that's a message that requires a subtle discussion or it risks sounding like an empty platitude. A platitude coming from someone as smart as Obama is chilling news indeed - it sounds like a last resort when all other options have been exhausted.

The second comment about the Taliban is more serious: Obama is considering opening dialogue with moderate Taliban. I feel that to do so would be a critical error. The Taliban is a sworn enemy of the US, had harbored al queda, and needs to be eliminated. Granted, this is an emotional response, and I don't know the actual situation in Afghanistan. I know for certain my reaction is colored by a recent reading of The Kite Runner which depicts a Taliban which is wholly evil, a force of thuggish brutality and chaos, and which contains no moderate elements. Of course, that was a work of fiction and I may be mislead. But still, that is my instinct.

This is different than having dialogue with Iran, which by all accounts is run by Islamic militants no less brutal than the Taliban regime (both are Shi'a, BTW), but hasn't yet attacked US soil. To be sure things are as tense as they could be - Iran is constantly threatening Isreal, a close ally, and threatening the US as well. Iran has a history of attacking Americans in incredibly cowardly ways. But - and this is a huge but - Iran didn't bring down the twin towers, or directly harbor those that did. So sure, send a diplomat to talk to Iran. But send a soldier to 'talk' with the Taliban.

I am no expert on Afghanistan, but it seems that the problem is a real lack of focus. Armys are best at beating other armies in relatively short conflicts. It seems that the people of Afghanistan have been badly beaten down by first the Russians, then the Taliban, and the survivors are bound to be scarred, fearful, and unwilling to trust. And interpersonal trust is the key to a stable system. Nothing can get done when everyone is scheming to cheat their neighbor. And such people may not have the sophistication to understand the old "the tide raises all boats" sort of argument.

It seems to be that the West would be well served by introducing a new sort of business, the nation building business. Given a set of resources, a certain culture, a tricky security situation, can you build a nation? Obviously the business would be well served by expatriots of the country in question, and success is measured in how quickly and completely stability is achieved. Incentives should be in place for employees to move to the target country, and integrate into the society. Nothing motivates someone to achieve peace than the prospect of living in a warzone. Competition could occur as different companies take responsibility for rebuilding different nations. As they would be directing vast sums of government treasure, they would need to submit detailed plans, and to detailed audits of their activities. They would need to be very high tech to remain high-functioning despite the scrutiny.

One possible solution is the Genghis Khan solution. In his day, Temudjin's homeland of Mongolia was ruled by many small khans, or tribal cheiftans. Temudgin gradually won the loyalty of ever-larger groups of warriors by essentially offering them better working conditions (staying alive) and better compensation (a bigger cut of the spoils). Other clans would join him because they saw that their odds of winning battles and feeding their families would improve if they joined rather than fought.

Rebuild-afghanistan.com could offer the Afghans the same choice Temudjin offered his fellow Mongols: join us, or your odds of surving and feeding your family go down. Let us tell you of the prospect of long term prosperity, a time when the fighting will end, and the land will flow with milk and honey. Our culture is your culture. We are muslims. We have families. We speak Farsi and eat kabob and fly kites in the winter. We are fierce warriors, and we are used to winning. So either join us and live a life of plenty, or run to the hills and take your chances against our military. It's your choice.

The problem of course is that the west is viewed as evil. Demonstrating goodness is bound to be met with skepticism or violence. It is easy to imagine building a hospital, for example, and having it bombed. The irony is that you must build the 'good stuff' close by to be appreciated. And yet when it is close it is vulnerable, and it only takes a small group of people to decide to destroy it. There are always small minded khans who have only enough cleverness to manipulate their friends to maintain their power and authority. It is tribalism of the meanest kind, and those khans won't give up their power willingly, and they are happy to believe (and support) any story that helps them maintain their positions. I'm not sure if there is any solution other than to replace such people with leaders loyal to the overtaking regime.

Finding such leaders is the tricky part. The irony is that such replacement leaders must be selfless - they are giving up a lot to take up the mantle of tribal power. Those with leadership ability are rewarded extremely well in the west, and yet don't have to face the prospect of murder - the job pays better and is less challenging. To give up the rewards and assume the risks of tribal leadership can only come out of selflessness. (of course some people might be drawn to the raw brutality of that sort of existance, but I imagine they would be in the minority.)

Psychologically the opponent must be given something to think about rather than opposition. If opposition to authority is all they ever known, then it will be a difficult habit to break, even if the authority is demonstrably not evil. After all, if you get up every day and are driven by an abiding hatred of something, rather than say, ambition or even laziness, it's a different lifestyle. It's an easier life because you have a singular purpose: to destroy something. And too your own well-being and even that of your family can be ignored, and any discomfort blamed on the opposition. When you are faced with the prospect of building something, it's much harder. What to build? is a hard question because, by definition, the thing doesn't exist yet. It requires imagination and courage to build. But destruction only requires the basest literal thinking, and a gun. I think this was the point Goerge Orwell was trying to make in 1984. It may be that the tribes of Afghanistan (and to a lesser extent the Iraqis) are stuck in this sort of viscious cycle.


Book Review: The Kite Runner

No comments:
The Kite Runner The Kite Runner by Khaled Hosseini


My review


rating: 5 of 5 stars
I cried 4 or 5 times reading this book. It is an incredibly heart-wrenching tale of cowardice, remorse, loss, good, evil, and ambiguous redemption. There are heroes in this book, but they do not succeed in the traditional way. Against violent opposition, saintly people die. It's enough to make you really want to believe in heaven.



This book is also a badly needed humanization of Afghanistan, a reminder that there was a strong community living there before the Russians and then the Taliban destroyed what was there.


View all my reviews.

Photo processing service needed

No comments:
Basically I need a service where I can mail in my film, have negatives developed, scanned, and then uploaded to Flickr into my account. A 5MB scan or higher would be good, with no correction. I don't care about getting the physical negatives back. Does a service like that exist?

Book Review: The Brief Wondrous Life of Oscar Wao

No comments:
The Brief Wondrous Life of Oscar Wao The Brief Wondrous Life of Oscar Wao by Junot Díaz


My review


rating: 5 of 5 stars
What an amazing book. I don't normally go for Pullitzer Prize winners, Oprah Book club stuff, but this book was amazing. The book is not fantasy or science fiction (although you could argue there's a dollop of urban fantasy) but there are quite subtle inside references throughout to LOTR, Dune, the Watchmen, and Akira. This was just the icing on a vibrant, multi-lingual narrative that was so juicy Jonot could have kept me interested describing how grass grows, in real time.

Of course, the actual story was much more intense than the growing of grass. The central character, Oscar, is perhaps the ultimate nerd, the ultimate ne'er do well outsider, and Junot goes to great lengths to put him in his time and his circumstance, and manages to pull in 3 generations of his family and the terrible history of Trujillo and the Domincan Republic, and the life of DR immigrants in New Jersey.

The narrative begins and ends with Oscar, but Junot does something only the best authors can - he interrupts his narrative, sometimes quite abruptly, introducing new characters who manage to hold one's interest even more than the last characters. What makes this even better is that the new characters are often younger versions of supporting characters in previous pages, and this time seen in a very different (always more sympathetic) light. It's as if he's explaining "how they got that way". This is particulary true of the mother, Beli, who is first presented as a terrible force in Oscar's life, hard and relentless, and later painted as a little girl, conceived at the tail end of her great families fall, taken in by monsters, saved by distant family, and destroyed by her powerful ability to love.

I feel like I should say "This book changed my life" but really, it hasn't. I am relieved to report that this book does not have any life lessons, except perhaps for the oldy but goody that you should be grateful for what you have, especially something we take for granted, political freedom. Bush may have been bad, but let's face it, he was no Trujillo. I think that our own complaints sound very tinny and small next to the brutality in this book.

Live your life, speak your mind, and maybe you can write a book like this someday, my love.


View all my reviews.

An exciting time for Books

2 comments:

I think this is an exciting time for books - to be a reader, an author, a publisher, or a retailer. There is a new focus on learning, which means reading. Brick and mortar retailers have wisely made the bookstore a "destination" rather than a place to convert greenbacks into stacks of bound paper: bookstores are way more comfortable and fun than in my childhood. Online retailers have made any book accessible, and has given new life to the used-book market.

And it turns out that books, and the people who love them, are a grand opportunity to network with books. It's like the days of Usenet rec.arts.sf.written, but much better. In particular, I get a great tool that helps me describe what I read, and what I thought, and based on that description can connect me to others. Usenet never did that.

And internet retailing didn't stop with Amazon. People with great heart, skill, and determination are giving Amazon's book business a run for it's money.

Spreading out, focusing in

No comments:

It seems that the internet has recently exploded with new services. Some of them are very compelling. Using them seems simple enough: sign up, start using it. Goodreads is my new favorite tool of this sort.

However if you repeat this often enough, a few serious weaknesses arise. Most glaring is the need to remember usernames and passwords for each service. These are a hassle to remember. Each service has it's own interface, which is a double-edged sword - on one hand different data requires a different interface, but on the other it's a lot to learn. Also, each service has it's own data - your own content, and social graph data. This doesn't become an issue until you want to switch services or, ironically worst case, using two services side-by-side.

Data-duplication in a Web 2.0 world is a nightmare.

That's why Web 3.0 is going to be about focusing in. Aggregation is the first step. And indeed, perhaps that's the way to go - aggregate and integrate until your happy.

Idea: Movie age disparity finder

No comments:
It's weird how the movies pair really old guys with super young girls. I want to do a survey to see if the gap is trending up or down (I think it's trending up, big time). Inspired by Liam Neeson and Famke Jenson in Taken (12 years difference).

Some of the information is out there: character name, actor name is on imdb. Actor birth date is also on IMDB, wikipedia, or other sources. What's harder is to know who is romantically linked to whom. I might have to ask the world for input on that one.

To make it more fun, you can tell the site which characters you wished would have hooked up (but who didn't). It's a nice, fun, drag and drop exercise. A quick poll of teens at the coffee shop seemed to like the idea.

The rise of internet bartering

No comments:
That was odd. I wanted to install Stuffit 9 Premium (which has some nice features like segmentation) which is ordinarily $50 (but which somehow comes with the Mac?) and Smithmicro said it was free. But I had to accept an offer. This offer was brokered by a company called Trialpay - and I could select anything from a credit card sign up, a subscription to the Economist magazine, or a trial of "Blockbuster Total Access".

Actually, I think this was extremely well done. Early attempts at this sort of thing were incredibly crude and offputting, often forcing the user to go through many pages of worthless offers. In this case they only had 6 pretty good offers.

The rise of great expository videos

No comments:
I've been seing more and more really great exposition on the internet, especially through videos. Speed drawing is perhaps my favorite (and it's a very interesting and informative exercise to consider what it would take to create a "Speed coding" video!), but I've seen some very effective teaching videos (this one about recycling, the enviroment, and ecology from Japan).


History of the Internet from PICOL on Vimeo.

Now here is an interesting video. I really like this style of exposition - iconic, abstract, always in motion, with cool spacey music in the background. And of course a nice British accent doesn't hurt. The subject is rather interesting, too - the very early technical development of the Internet. But what is most interesting is the attempt to standardize the iconography with "PICOL icons". What's not clear is if this is just the author, Milah Bilgil, to "standardize" something, or if this attempt is real. Of course, standardizing the iconography isn't enough - would be authors also need good, inexpensive tools to play around with this stuff. It's not clear to me if Flash is overkill for this sort of thing, or if its "just right".

A really neat thing

No comments:
Sometimes it is hard to transform non-linear thoughts into linear text. This is one of those times. I've been struggling with the concept of "smoother" transitions from concept to implementation in software, such that information is not lost in the transition. Take, for example, the use of unusual typefaces in a web page. If you create a raster, you've lost information - the original text.

The other day I ran across SIFR, which does in-place rasterization of type. This is consistent with smooth software development along ever decreasing entropy. Interestingly one of my favorite sites, hulu, uses it.


Drag and drop of page elements - the ubiquitous use of absolute positioning!
http://www.roxer.com/
http://javajosh.roxer.com/ocjug (with domain support!)

Oh, and here's one that uses sifr, called doodlekit. (really great site design, but requires a native plugin to work, which I am loathe to install. See the techcrunch review that puts it side-by-side with some other tools, including Google Pages). What's shocking is that they charge so much for their service. $14/mo is really too much for a one-time use of a tool, and occasional other uses. The free version sucks because it plops ads on your page. I basically think this is not a viable thing).

But I love the idea of drag-n-drop through-the-web design.


How to design this code?

No comments:
I want to write a JavaScript function that effectively "widgetizes" a section of the DOM that contains other widgets. For the most part these widgets represent some sort of input from the user. In particular, text boxes, selects, and other Widgets. I've kind of done it, but there are a few niggles, some of which are rather philosophical. In the spirit of the interwebs, I'd like some input.

Here is the code so far. Still needs onchange support, and...
  1. How should the application programmer select the composite node? Passing an ID as a string is easy, but not very flexible. I'd rather accept an arbitrary DOM elt. A jQuery programmer is going to want a plugin, which means using an arbitrary selector. [Update: Resig recently posted a bit of code that had to deal with this exact issue. He accepts both. It remains to be seen what this means to make this into a plugin.]
  2. How should I determine if focus is trapped "inside" the composite? Currently I'm tagging all descendant elts with a unique tagging class, but I find this modification of the DOM distasteful. Am I being too picky - does it really matter if elements have an extra class? Is there a way, with jQuery or with basic JavaScript, to ask if a particular elt is an ancestor of another elt? One interesting possibility is to use the "offsetParent" property - apparently divs become offsetParent by default, although this approach might fail under certain layout circumstances.
Thanks.

The truth behind medical paperwork

No comments:
Someone I know asked me to join her at her therapy session today, primarily to discuss communication styles. I agreed. The councilor greeted me kindly, said how much good stuff she had heard, and then handed me a (rather thick) sheaf of papers to fill out. Needless to say, I was nonplussed. I smiled and asked her why it was necessary for me to fill out this paperwork, explaining that I have an aversion to such things, and after all this was a one time thing. She said it was for her "integrity" because this paperwork is required by her various associations. She also said that her lawyer said she must have it filled out. She questioned me about past experiences with paperwork - playing the 'why' game with me. At one point I asked her what she would do with the paperwork when I filled it out, and she said "Oh, I'll file it away for 8 years and then throw it away."

So she wants me to do work that she'll then throw away. How respectful of my time and efforts!

The truth is that paperwork serves only two purposes: to get the service provider paid, and to limit their liability. And because the payment often comes from a 3rd party (the insurance company), an inordinate amount of paperwork is required. Another, more egregious purpose behind paperwork is to limit the service providers liability. It is more egregious because lawyers have to guess how lawsuites might play out, and because they can go in many different directions, there's a lot of paperwork generated. Actually the more general way to put it is that paperwork should limit the eventual harm suffered by either party (although in some cases it increases harm, such as imposing punitive late fees).

Repetative, unnecessary paperwork one of the worst symptoms of our medical system.

One should justify paperwork, rather than justify not having paperwork. It's not easy to fill out a complicated form, especially if it's packed with technical jargon. The requested information is often not at hand, and even if it is, one has to painstakingly write it neatly in the boxes. Also, the action is asymmetrical, meaning that the service provider doesn't have to fill anything out for you, but you have to fill stuff out for them. It is demeaning because, as in my case, you are asked to do work that will eventually be thrown away. Paperwork is the worst kind of work - it's just rehashing known information into new blocks, and agreements that can't be fully understood.

In this case there are privacy concerns which are substantial - what if I apply for medical insurance and the councelers billing department submitted my "claim" for pscyhological treatement such that my premiums got adjusted?  Or what if the billing department decides to bill me for the visit by accident?

It makes me very sad that otherwise rational people let bearucratic habits trump their common sense. The fact is that I should have been able to sit in with my friend that one time without filling out any paperwork whatsoever, because the only potential harm was to my privacy, and I felt sufficiently covered by confidentiality priviledge.

Why it isn't so surprising that "furniture" is the keynote speech at the Java Symposium

No comments:
At first when I saw it on the schedule I thought it was a joke. Sure, the Java Symposium isn't exactly the biggest or best conference, but keynote speech about furniture? Really? But after thinking about it for a while, I realize that the issue is actually important enough for a keynote, even though I disagree with Neal's thesis. So why is furniture is the subject of Neal Ford's keynote at this year's Java Symposium? He will talk about "the frustrations of modern knowledge workers in their quest to actually
get some work done, and solutions for how to guard yourself against all
those distractions." He's going to rant against cubicles, save the everyday Joe Programmer from his frustrations, and I think that's great.

But I'm not sure if I agree that a shared workspace is causing Joe Programmer's troubles. Sometimes I like being in a shared space. Sure, if I am hot on the trail of a great idea, and thick in the implementation, then yes, by all means, I want an office and a closed door. But alas, the opportunities for such development are relatively sporadic. The reason is that, once the code is done, working, and checked in, you get to describe it, support it, test it, explain it, defend it, tweak it, deploy it, demo it, profile it, document it, and discuss it. These other activities require communication and an office actually gets in the way of those tasks.

Communication is the core benefit of being in a shared workspace. But sharing energy is another. The energy of the place can keep you going in the middle of the day when you might be sagging and loosing focus. It's kind of like working out in a room of people vs doing it yourself. Working in an office means you get some good peer pressure to at least pretend to work when you're sitting at your desk. This is why I, and many people I know, enjoy working in a coffee shop. In fact, I'll even dub this "The Coffee Shop Effect".  (Of course, it works the other way around, too: if everyone is depressed about something, like a bad quarter, it's easy to get pulled down with everyone else. Luckily in a coffee shop people are usually jacked up on caffiene, and there is no shared earnings report, so that's nice.).

I also want to point out that being in an office doesn't necessarily reduce distractions: IM and email have a way of ignoring physical barriers. I've yet to meet a product or project manager that shied away from opening the door at any time. Of course, it's possible to close the digital doors too, and coworkers no matter their title need to respect one's space, but an office alone doesn't solve these issues. E.g. it takes more than changing around furniture to cultivate a nice atmosphere.

So basically I think that companies should provide both types of environments. There's a huge economic pressure to keep expensive programmers focused and productive for more hours in the day, but there is a certain maximum (for myself it's only possible to be in "the zone" for a max of 4 hours per day - when I go past that and look at my work, I have to admit it's not great). And for semi-focused work, a shared space is actually better and more fun.

The rise of expository videos

No comments:
I've been seing more and more really great exposition on the internet, especially through videos. Speed drawing is perhaps my favorite (and it's a very interesting and informative exercise to consider what it would take to create a "Speed coding" video!), but I've seen some very effective teaching videos (this one about recycling, the enviroment, and ecology from Japan).


History of the Internet from PICOL on Vimeo.

Now here is an interesting video. I really like this style of exposition - iconic, abstract, always in motion, with cool spacey music in the background. And of course a nice British accent doesn't hurt. The subject is rather interesting, too - the very early technical development of the Internet. But what is most interesting is the attempt to standardize the iconography with "PICOL icons". What's not clear is if this is just the author, Milah Bilgil, to "standardize" something, or if this attempt is real. Of course, standardizing the iconography isn't enough - would be authors also need good, inexpensive tools to play around with this stuff. It's not clear to me if Flash is overkill for this sort of thing, or if its "just right".