Results tagged “google”

A friend of mine recently expressed their confusion over the GPL and how it all relates to the recent bruhaha happening in WordPress land. A quick search on Google will reveal a number of people attempting to answer the same question. Here is my own attempt to answer this question, paying special attention to how this may relate to WordPress themes and plugins.


In an effort to further everyone's understanding of the GPL, let me see if I can shed some light on what the GPL is and how it works.

  1. The GPL governs ones rights to redistribute software using the GPL as a license.

  2. The GPL gives me the right to take GPL code and redistribute it as is (provided that I also respect any related trademarks). For example, I can't take Firefox and redistribute it under the name "Firefox" since the name is a trademark owned by Mozilla and only they have the right to convey its name on software.

  3. Believe it or not, the GPL also allows people to sell copies of GPL software. Most people don't understand this for one simple reason, "why buy the cow when I can get the milk for free." Selling GPL software just doesn't make sense in that regard. But it has been done very successfully. People used to sell Linux on CD - but the value of doing so was clear: at the time to download Linux could take days, so for many shelling out $29.95 for the 5 of so CDs was a huge convenience.

  4. The GPL also says that you can take GPL software, and modify it and redistribute it as well. For example, Microsoft could take the OpenOffice suite, make tons of changes (under auspices of making it better) and then turn right around and sell it. --- There is a catch though, any change you make to GPL software AND also redistribute you must also make available under the same license. In other words, Microsoft would need to make any changes they made to Open Office freely available to others.

    Note: the key here is "redistribution." Because the GPL governs distribution only, it means that I could, as an individual, take OpenOffice, make changes of my own that are TOTALLY AWESOME (naturally) and, provided that I never give a copy of that software to a friend or anyone else, I would never have to share my modifications.

    Another Note: the above note is important because this is why it is reasonable and acceptable for someone to download a copy of WordPress, modify it, pay a consultant to modify it, add features to it, redesign it, etc, etc, etc. and never be compelled to share the mods they have made, or be compelled to open source anything else in their organization.

  5. The GPL also says I can take a portion of code from a GPL program and include it in my own. For example, say I want to write a blogging platform in Perl. I have written most of the code myself, but I deem Movable Type's commenting system to be perfect. So I cut and paste large portions of it into my software. Under the GPL, this is equivalent to forming a derived work, and my new blogging platform is compelled to be GPL as well.

Now let's look at what makes the WordPress theme debate special:

  • The GPL defines something called a "derivative work." When I take Firefox, edit the source, recompile and redistribute it, that forms an obvious derivative work. All derivative works are bound by the terms of the GPL.

  • The GPL also defines a derivative work as a piece of software that runs in the same shared memory space as a GPL program. In layman's terms this means that if a piece of software, say a theme or plugin (even it is distributed separately from the another piece of GPL software), is designed to run in conjunction with GPL software, then the two of them, by virtue of sharing the same memory/process when they run form a derivative work, and thus, the theme/plugin is bound by the GPL.

Ok, why the debate?

Well, their is some ambiguity over what forms a derivative work. I believe this stems from the fact that most people don't understand technically the concept of "shared memory space." But I believe this FAQ answer from the FSF makes clear the intent of the licensor:

If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in?

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed. (emphasis mine)

So, although the Free Software foundation states their belief that this forms a derivative work, their own language admits that it does not conclusively do so.

But Byrne, I still don't understand all this techno-mumbo-jumbo. Just tell me, why is there a debate?

Let's clarify one more thing that I have seen many people get confused about. The GPL is NOT law. It is just a contract between two parties. If those two parties have a dispute over the terms, or their interpretation of the contract, then it is up to a judge to resolve the dispute and assess damages.

What makes the GPL special with regards to contracts is that is a standardized one. Meaning tons of people have accepted and/or conveyed the license to others. So if a judge rendered a judgement that helped to resolve the ambiguity of what constitutes a derivative work, then just like that, we would have legal precedence to reinforce anyone else's claims contingent upon this definition.

Finally, let's suppose Matt does sue Chris Pearson, what could he actually get from Chris?

I do not personally think Matt can claim that he has suffered any damages (e.g. lost revenue) from Chris' distribution of a proprietary theme, so I don't think a law suit would result in any money changing hands. But Matt can ask a judge to compel him to comply with the license and force him, by way of a court order, to distribute his themes according to the terms of the GPL. That's it.


And that is my take on the GPL, especially with regards to themes. I have my opinion as to whether Chris should open source his themes, but at the end of the day it doesn't matter what I think because in my mind this amounts to nothing more than a contract dispute between Chris and Matt. So, have at it guys. Wait, let me get some popcorn.

Ok, now have at it.

Epic Chalk Art

Kurt Wenner is a specialist in 3D Anamorphic Chalk Art. "Anamorphism is usually considered a form of Illusion or Trompe loeil, but is really the logical mathematical continuation of Perspective." My son, also a renown chalk artist (at least in our neighborhood), would flip if he saw this:

Gears of War Chalk Art

Check out some of his other works easily found on Google.

(via io9)

The coolest thing I know about right now is jQTouch, a jQuery framework for implementing mobile web apps. I first saw this at SXSW when its creator showed it off to a crowd that had just finished watching a demo of how to build iPhone apps in Objective-C. Which each step of his demo, the crowd in the room literally cheered as they saw how jaw-droppingly simple building slick iPhone apps just became.

Here is a recently released demo of some of the amazing things the relatively young jQTouch is capable of, which in this case is a fully HTML, CSS and Javascript powered version of the iPhone's iCal application.

So what makes this so smooth and seamless? Mainly that CSS3 is hardware accelerated on the iPhone making CSS and Javascript powered transitions and animations super smooth - just as smooth as any native application in fact.

So while you perhaps marvel at how amazing jQTouch is, let me bring this back to something that makes this framework so relevant in light of the recent hullabaloo associated with Apple's changes to its SDK Agreement which essentially forbids the use of flash enabled apps on the iPhone and iPad.

Flash is a Shim

I would prefer to say "Flash is a hack," but I think Flash is too elegant to risk maligning it with such a word. Make no mistake though, as ubiquitous and well implemented that Flash is, it is just a shim, which evolved to address a major short coming on the web, mainly that the underlying specifications and browser creators could not adopt or drive adoption fast enough the technology to make animation and richer application development possible.

Amazingly, Apple is poised to unwedge this shim that we have all become so unwittingly dependent upon. By refusing to put Flash on the iPhone and iPad they are going to force the market and technology developers who want to play in that market to learn and embrace the bleeding edge in web standards. They are going to do in just a few short years, what even the largest and most well intentioned companies like Google, in all of their open-sourcey-goodness, could never do: force market adoption of the technologies that will render Flash obsolete.

And thank god. The web has too many crutches like Flash, which solve a problem just well enough that they stifle developer communities from addressing problems at a lower level.

So while some express their ire at Apple for not supporting Flash, like my wife who just wants to play a damn Flash-powered movie on Hulu on her iPad, I applaud Apple for the courage it took to make what it must have known would be the unpopular decision it did. Because in just a few short years, when the gap Flash helped bridge is finally closed by well implemented and broadly adopted web standards, and the world of application development is expanded to include not just Objective-C and Flash programmers, but the entire world of HTML/CSS and Javascript programmers, hopefully a number of us will look back at this moment and say, "I can't believe I cared so much about this."

This weekend I was pleasantly surprised by an email from Aaron Stone, the lead engineer of modperlite -- a project the two of us had started while we were both at Six Apart focused on addressing ways to dramatically improve performance for Movable Type. Aaron had done a lot of the initial groundwork for the project technically, but eventually got consumed by other projects in need of his expertise; a trend that did not stop when he moved on to Google.

I had in fact began recruiting for engineering talent to contract with to complete the project. But then this weekend, I got an email from Aaron out of the blue informing me that he finished the work on mod_perlite and tested it with Movable Type... and it worked!

This is a tremendous milestone for the project and puts us in a position for the first time to see if the original hypothesis for the project holds water: that we could make Perl applications as brain-numbingly easy to install as PHP-based ones, and that we could also help make all CGI faster and more memory efficient in the process.

I implore everyone to watch Obama's speech. His entire speech is profound. It is moving in how it acknowledges and embraces our past, but does not use it as anchor, but rather as a fulcrum to propel us forward.

Here are my favorite quotes:

So long as our relationship is defined by our differences, we will empower those who sow hatred rather than peace.
I am convinced that in order to move forward, we must say openly to each other the things we hold in our hearts and that too often are said only behind closed doors. There must be a sustained effort to listen to each other, to learn from each other, to respect one another, and to seek common ground.
When violent extremists operate in one stretch of mountains, people are endangered across an ocean. When innocents in Bosnia and Darfur are slaughtered, that is a stain on our collective conscience. That is what it means to share this world in the 21st Century. That is the responsibility we have to one another as human beings. This is a difficult responsibility to embrace, for human history has often been a record of nations and tribes, and, yes, religions subjugating one another in pursuit of their own interests.
Despite the costs involved, America's commitment [in/to Afghanistan and Pakistan] will not weaken. Indeed, none of us should tolerate these extremists. They have killed in many countries. They have killed people of different faiths but, more than any other, they have killed Muslims. Their actions are irreconcilable with the rights of human beings, the progress of nations, and with Islam.
So America will defend itself, respectful of the sovereignty of nations and the rule of law. And we will do so in partnership with Muslim communities, which are also threatened. The sooner the extremists are isolated and unwelcome in Muslim communities, the sooner we will all be safer.
If we see [the conflict between Palestinians and Israelis] only from one side or the other, then we will be blind to the truth. The only resolution is for the aspirations of both sides to be met through two states, where Israelis and Palestinians each live in peace and security.
Palestinians must abandon violence. Resistance through violence and killing is wrong and it does not succeed. For centuries, black people in America suffered the lash of the whip as slaves and the humiliation of segregation. But it was not violence that won full and equal rights. It was a peaceful and determined insistence upon the ideals at the center of America's founding. This same story can be told by people from South Africa to South Asia, to Eastern Europe to Indonesia. It's a story with a simple truth: violence is a dead end. It is a sign neither of courage nor power to shoot rockets at sleeping children or to blow up old women on a bus. That's not how moral authority is claimed, that's how it is surrendered.
America does not presume to know what is best for everyone, just as we would not presume to pick the outcome of a peaceful election. But I do have an unyielding belief that all people yearn for certain things: the ability to speak your mind and have a say in how you are governed, confidence in the rule of law and the equal administration of justice, government that is transparent and doesn't steal from the people, the freedom to live as you choose. These are not just American ideas. They are human rights. And that is why we will support them everywhere.
We can't disguise hostility towards any religion behind the pretense of liberalism. In fact, faith should bring us together.
There is so much fear, so much mistrust that has built up over the years. But if we choose to be bound by the past, we will never move forward. All of us share this world for but a brief moment in time. The question is whether we spend that time focused on what pushes us apart or whether we commit ourselves to an effort, a sustained effort to find common ground, to focus on the future we seek for our children and to respect the dignity of all human beings.

Quotes he took from the Holy Quran:

The Quran was a touchstone in his speech which he wisely referenced and quoted frequently:

As the Holy Quran tells us, "Be conscious of God and speak always the truth."
"The Holy Quran teaches that whoever kills an innocent is as -- it is as it if has killed all mankind."
"And the Holy Quran also says whoever saves a person, it is as if he has saved all mankind."
We have the power to make the world we seek, but only if we have the courage to make a new beginning, keeping in mind what has been written. The holy Quran tells us: "Mankind, we have created you male and a female. And we have made you into nations and tribes so that you may know one another."

Quotes from and Ties to our Founding Fathers:

I also know that Islam has always been a part of America's story. The first nation to recognize my country was Morocco. In signing the Treaty of Tripoli in 1796, our second president, John Adams, wrote, "The United States has in itself no character of enmity against the laws, religion or tranquility of Muslims."
When the first Muslim American was recently elected to Congress, he took the oath to defend our Constitution using the same holy Quran that one of our founding fathers, Thomas Jefferson, kept in his personal library.
We can recall the words of Thomas Jefferson, who said, "I hope that our wisdom will grow with our power and teach us that the less we use our power, the greater it will be."

Read the entire speech.

Hats off the WordPress community and Matt Mullenweg's insistence to promote open source design. Thanks to his philosophy and the courage of designers from the WordPress community, I am able to bring the Hybrid News Theme to Movable Type.

The Hybrid News Theme is the first newspaper theme for the Movable Type platform and enabled users to easily create a newspaper style web site:

Hybrid News Theme for Movable Type

If you are looking for the Hybrid News theme for WordPress, please visit their website.

Live Demo

View the live demo.

Download the Beta

This theme requires Movable Type Pro at is relies on custom fields for many of its advanced features.

Bug Reports

This is beta software and is constantly being improved. Please submit bug reports at the following web site:

Installation

This plugin requires Movable Type Pro. It does not yet work with Movable Type Open Source. It is certainly my intent to support MTOS and Melody, just not at this time.

This plugin is installed just like any other Movable Type Plugin.

You will also need to install the following plugins:

Features

  • SEO enhanced:
    • Alternate HTML tags</li> <li>Google Web Sitemaps</li> <li>Google News Sitemaps</li> <li>Associate content with official Google News categories</li> </ul></li> <li>Front door slideshow of new and interesting content.</li> <li>Easily feature content on the front door.</li> <li>Easily designate content to your Hybrid News blog.</li> <li>Display summaries from each of your site's categories on the front door.</li> <li>Pull-down menus for easy site navigation.</li> <li>Customizable page navigation.</li> <li>Category, Comment and Entry feeds.</li> <li>Photo Gallery Support</li> <li>Create custom cropped images for placement on the front door, within the slideshow and else. </li> <li>Much, much more. </li> </ul> <h2>About the Designer</h2> <p>See the <a href="http://themehybrid.com/about">Hybrid Theme Community About page</a>.</p> <h2>License</h2> <p>This theme is licensed under the GPLv2.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/projects/movable-type/hybrid-news/#comments">57 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Wednesday, June 3, 2009 at 9:13 AM</p> <p>Filed in <a href="http://www.majordojo.com/projects/movable-type/hybrid-news/" rel="tag">Hybrid News</a> </p> </div> </div></div> </div> <div id="entry-14170" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2009/03/visualizing-rising-sea-levels.php" rel="bookmark">Visualizing Rising Sea Levels</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2009-03-12T14:10:36-08:00"><span class='day'>12</span> Mar 2009</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p>Yesterday I read a story in which is was reported that sea levels were expected <a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2009/03/11/MNTK16DEBF.DTL&type=green&tsp=1">to rise at least 5 feet within the next 100 years</a>. A scary thought, but it is still really hard to conceptualize what that actually means, until of course, I stumbled upon a Google Maps mash-up which allows users to <a href="http://flood.firetree.net/?ll=43.3251,-101.6015&z=13&m=7">visualize what would happen if sea levels rose</a> anywhere between one and fifteen meters.</p> <p>I live in Oakland, so naturally the first thing I did was check out my city to see what it would look like. Luckily sea levels would have to rise considerably for my house to become beach-front property. But the <a href="http://flood.firetree.net/?ll=37.8194,-122.2956&z=2&m=2&t=1">rest of Oakland is not so lucky</a>. </p> <p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><div style="text-align: center"><a rel="lightbox" href="http://www.majordojo.com/assets_c/2009/03/Picture 1-thumb-640xauto-3038.png" title="Port of Oakland Underwater"><img alt="Port of Oakland Underwater" src="http://www.majordojo.com/assets_c/2009/03/Picture 1-thumb-525x205-3038.png" width="525" height="205" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></a></div></span></p> <p>The Bay Area would be pretty devastated. In fact it makes\ me wonder we would have to begin building levees as New Orleans has had to do - being a city that would live below sea level and all.</p> <p>Here is what a couple of other cities in the United States might look like if sea levels rose just 5 feet (2 meters):</p> <ul> <li><a href="http://flood.firetree.net/?ll=29.9645,-90.0783&z=5&m=2">New Orleans</a></li> <li><a href="http://flood.firetree.net/?ll=40.7655,-73.9840&z=4&m=2">Manhattan</a> </li> </ul> <p><em>Update: MSNBC has a post covering <a href="http://www.msnbc.msn.com/id/29656274/">the costs California will face</a> if sea levels rise 5 feet.</em></p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2009/03/visualizing-rising-sea-levels.php#comments">0 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Thursday, March 12, 2009 at 2:10 PM</p> <p>Filed in <a href="http://www.majordojo.com/current-events/" rel="tag">Current Events</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=bay%20area&limit=20" rel="tag">bay area</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=climate%20change&limit=20" rel="tag">climate change</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=global%20warming&limit=20" rel="tag">global warming</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google%20maps&limit=20" rel="tag">google maps</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=mashup&limit=20" rel="tag">mashup</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=oakland&limit=20" rel="tag">oakland</a> </p> </div> </div></div> </div> <div id="entry-10727" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/services/movable-type/upgrade-and-install.php" rel="bookmark">Tune-Ups, Upgrades and Installations</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2009-02-03T00:50:36-08:00"><span class='day'> 3</span> Feb 2009</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p>Let me help you make the most of Movable Type.</p> <h2>Performance Optimization</h2> <p>Movable Type is without a doubt one of the most powerful tools that helps people build robust, scalable and secure web sites. When it is working, you rarely have to worry about your site going down, whether your ads are being served, software upgrades to patch a security vulnerability, or publishing times. But when things are not configured optimally, then your experience and your readers' experience can be impacted.</p> <p>If you are having problems with Movable Type, if your content is publishing slowly, or if the application appears sluggish then I can help. I have been helping the largest Movable Type sites on the planet scale to meet remarkable demands for years.</p> <h2>Premium Upgrades</h2> <p>Upgrading from Movable Type 3.x? Migrating from Drupal, WordPress, Expression Engine or even TypePad? Worried your migration will result in lost content, or that your Google Rank will suffer? Need to carry over your design from your existing platform to Movable Type? Then I can help.</p> <p>My premium upgrade packages can be tailored to your needs and range from a simple software upgrade all the way to a full service migration program where I make sure your site, not matter how small or large, is upgraded to Movable Type 4 as painlessly as possible with minimal impact on your editors, authors and readers. </p> <h2>Installation</h2> <p>Need help with installing Movable Type? I can get you up and running just about anywhere with no hassle or trouble. Just $150.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Tuesday, February 3, 2009 at 12:50 AM</p> <p>Filed in <a href="http://www.majordojo.com/services/movable-type/" rel="tag">Movable Type</a> </p> </div> </div></div> </div> <div id="entry-10722" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/services/software-development.php" rel="bookmark">Software Development</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2009-02-02T23:54:13-08:00"><span class='day'> 2</span> Feb 2009</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <h3>Javascript</h3> <p>Byrne is an experienced Javascript developer and has developed large scale applications that depend entirely upon either YUI or jQuery. See also:</p> <ul> <li><p><a href="http://www.majordojo.com/javascript/tag-widget.php">Tag Control for YUI</a> - A simple widget to make the addition and removal of tags simple and intuitive.
</p></li> <li><p><a href="http://www.majordojo.com/javascript/filter-widget.php">Filter Control for YUI</a> - A widget, or UI control that automates the creation of a progressive filtering mechanism.</p></li> </ul> <h3>PHP</h3> <p>In addition to being an experienced Perl developer, Byrne is also incredibly versed in PHP. He has developed numerous large scale web applications build upon PHP as well as numerous open source libraries in use by sites across the Internet. See also:</p> <ul> <li><p><a href="http://www.runtestrun.com/">Test Run</a> - A large scale test case management solution written entirely in PHP serving thousands of customers.
</p></li> <li><p><a href="http://code.google.com/p/myphpgooglecheckout/">MyPHPGoogleCheckout</a> - An open source library for integrating with Google Checkout.
</p></li> <li><p><a href="http://majordojo.com/projects/php-paginator.php">PHP Paginator</a> - A simple open source library that makes generating links to pages within a result set almost too easy.
</p></li> </ul> <h3>Perl</h3> <p>Byrne is an experienced Perl programmer having served as the lead developer of the popular SOAP::Lite toolkit, and continuing to be one of the Movable Type's leading plugin developers and contributors.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Monday, February 2, 2009 at 11:54 PM</p> <p>Filed in <a href="http://www.majordojo.com/services/" rel="tag">Services</a> </p> </div> </div></div> </div> <div id="entry-10654" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2008/11/air-travel-mourning-the-good-ole-days.php" rel="bookmark">Air Travel: Mourning the Good Ole' Days </a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2008-11-08T14:31:21-08:00"><span class='day'> 8</span> Nov 2008</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p>After the seven years that have elapsed since 9/11, I am finally getting used to all the new ways airports and airlines have found to make air travel suck. And more importantly, I have come to accept that it will never change. It will never go back to the way it used to be.</p> <p><strong>Exhibit #1: Stupid Food and Liquid Limits in Security</strong></p> <p>I won't even bother sharing the multitude of anecdotes and logical fallacies with the draconian policies that keep food and beverages from going through security. A search on Google will no doubt reveal a bevy of pissed off bloggers sharing their horror stories. </p> <p>But even if consumers were able to prove that there was not one reasonable justification for these policies to exist, it will <em>never</em> change. Why? Simple: money.</p> <p>Airports are increasingly businesses first and transportation hubs second. Don't believe me? Just visit the Oakland airport where they are actually dissembling gates and replacing them with food outlets - yet another victim of the mall-nization of airports across America thanks to the TSA, which has helped orchestrate a brilliant scheme to literally trap thousands of consumers who have no other option but to spend their money at shops that collect airport surcharges and taxes. And increasingly, if these people have any desire to eat at all during their transit time, then they have no choice but to buy food at the airport, because airlines have dramatically cut back on the meals they serve in the air as well. </p> <p>In this wonderful new world, everyone wins but the consumer. Airlines cut costs by not serving food, and airports, cities and states garner more taxes and surcharges. Meanwhile, consumers are left with literally no healthy or inexpensive alternatives for food for their flight.</p> <p><strong>Exhibit #2: Baggage Fees</strong></p> <p>When fuel prices began to sky rocket, airlines made a very logical case for charging passengers extra for checking baggage. At the time it seemed reasonable and even mildly democratic because you could still avoid the fees by carrying your baggage on the plane. So consumers accepted it. Then again, what choice did they have? Not fly? Yeah, I don't think so.</p> <p>But don't expect to ever have your bags checked for free ever again, despite fuel prices having dropped below the point they were when airlines first began instituting baggage fees. The increased revenues for airlines have no doubt been enormous, and with a decline in the economy every dollar they earn is, well, another dollar they earn.</p> <p>What I personally object to is how the baggage fees place an unfair burden and tax on families, who end up having to pay more lugging around car seats, extra luggage for kids and so forth. Why can't airlines find a way to discriminate against business travelers, people who won't be paying those fees out of their own pocket, but instead will just expense it to their business? Why not only levy those fees against those who are traveling during the business week that don't include a weekend stay?</p> <p>Oh well and tsk tsk. I miss you 2000.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2008/11/air-travel-mourning-the-good-ole-days.php#comments">1 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Saturday, November 8, 2008 at 2:31 PM</p> <p>Filed in <a href="http://www.majordojo.com/current-events/" rel="tag">Current Events</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=airfare&limit=20" rel="tag">airfare</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=baggage&limit=20" rel="tag">baggage</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=fees&limit=20" rel="tag">fees</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=taxes&limit=20" rel="tag">taxes</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=travel&limit=20" rel="tag">travel</a> </p> </div> </div></div> </div> <div id="entry-10645" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2008/11/making-a-better-php-library-for-google-checkout.php" rel="bookmark">Making a Better PHP Library for Google Checkout</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2008-11-03T11:40:33-08:00"><span class='day'> 3</span> Nov 2008</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Google Checkout Logo" src="http://www.majordojo.com/2008/11/03/google_checkout.gif" width="155" height="60" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>Long before Google had produced their own <a href="http://code.google.com/apis/checkout/samples/Google_Checkout_Sample_Code_PHP.html">PHP example code</a> for <a href="http://checkout.google.com/">Google Checkout</a>, I had the need to create my own. It was a library based upon the idea of keeping e-commerce online simple. My goal was to make it possible to implement a server and to persist transactional and order state information in a database with very little code. I would like to think I have succeeded. Take for example, the following code sample:</p> <pre><code><?php require_once("MySQLGoogleCheckoutServer.php"); require_once("Discount.php"); class ExampleGoogleCheckoutServer extends MySQLGoogleCheckoutServer { function doNewOrderNotification($request,$response) { $code = $request->shoppingCart->privateData['discountCode']; if ($code) { $discount = Discount::findByCode($code); $discount->redeem(); } parent::doNewOrderNotification($request,$response); } function doOrderStateChangeNotification($request,$response) { parent::doOrderStateChangeNotification($request,$response); if ($request->financialState() == "CHARGED") { // do something } } } ?> </code></pre> <p>Then in a separate file, we'll call it <code>server.php</code>, you would need:</p> <pre><code>require_once("lib/checkout.conf"); require_once("lib/MySQLGoogleCheckoutServer.php"); connect_to_db(); $server = new MySQLGoogleCheckoutServer(); print $server->handlePost(); </code></pre> <p>And that's all you have to do to create a simple server capable of recording a new purchase in your system and then keeping the state of that purchase up to date. The library offers a number of other capabilities as well depending upon your unique purchasing workflow and policies. From this server you can also issue commands to Google, to refund, cancel or archive an order for example.</p> <p>I am continuing my work to document the library more completely, and to provide a more robust set of examples. In the meantime, I thought others might find this library useful and might also want to help me in its testing and development. The library is available for <em>free</em> under an open source license (BSD). <a href="http://code.google.com/p/myphpgooglecheckout/downloads/list">Download</a> "My PHP Google Checkout" and learn more by visiting its <a href="http://code.google.com/p/myphpgooglecheckout/w/list">project homepage</a>.</p> <p>If you have questions or need specific <a href="http://code.google.com/p/myphpgooglecheckout/w/list">documentation</a> please let me know. I will use this feedback to help me prioritize what to work on next.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2008/11/making-a-better-php-library-for-google-checkout.php#comments">2 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Monday, November 3, 2008 at 11:40 AM</p> <p>Filed in <a href="http://www.majordojo.com/technology/open-source/" rel="tag">Open Source</a>, <a href="http://www.majordojo.com/personal-projects/" rel="tag">Personal Projects</a>, <a href="http://www.majordojo.com/web-services/" rel="tag">Web Services</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=bsd&limit=20" rel="tag">bsd</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=ecommerce&limit=20" rel="tag">ecommerce</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google&limit=20" rel="tag">google</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google%20checkout&limit=20" rel="tag">google checkout</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=myphpgooglecheckout&limit=20" rel="tag">myphpgooglecheckout</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=open%20source&limit=20" rel="tag">open source</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=personal%20project&limit=20" rel="tag">personal project</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=php&limit=20" rel="tag">php</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=testrun&limit=20" rel="tag">testrun</a> </p> </div> </div></div> </div> <div id="entry-4102" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2008/10/meet-joe.php" rel="bookmark">Meet Joe</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2008-10-16T15:23:13-08:00"><span class='day'>16</span> Oct 2008</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Joe" src="http://www.majordojo.com/2008/10/16/42921942.jpg" width="308" height="239" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" /></span>The world can't get enough of Joe, a guy John McCain met on the campaign trail who was thrust into celebrity status when McCain and Obama mentioned him by name over twenty times in <a href="http://www.youtube.com/watch?v=DvdfO0lq4rQ&eurl=http://video.google.com/videosearch?hl=en&client=firefox-a&rls=org.mozilla:en-US:official&hs=Hbw&resnumiurl=http://i1.ytimg.com/vi/DvdfO0lq4rQ/default.jpg">last night's debate</a>. Joe was concerned that if he purchased his boss' business which he said grosses between $250,000 and $280,000 annually that he would be forced into a higher tax bracket. A reasonable concern for anyone considering a purchase of that magnitude at a time like this.</p> <p>So in an effort to keep things straight, let's get to know Joe and understand more precisely this new poster child for the Republicans would be affected by Obama's tax plan. You might be surprised.</p> <ol> <li><p>Let's assume for a moment that Joe purchased his boss' company and in 2009 made over $280,000. Under Obama's plan, all income under $200,000 would be taxed at a lower rate than individuals are currently paying, income between $200,000 and $250,000 would not be taxed differently and income over $250,000 would be taxed at a higher rate. Under the current progressive tax law that means that only $30,000 (the amount over $250,000) would be taxed at a higher rate, and <strong>the bulk of Joe's income ($200,000) would be taxed at a lower rate</strong>. Here is how it would shake out in the books:</p> <blockquote> <p>Analysts calculated that the extra tax would amount to $900, which would likely be more than offset by separate provisions of Obama's plan: a 50 percent tax credit for health care and elimination of the capital gains tax for small businesses. -- source: <a href="http://www.msnbc.msn.com/id/27221645/">MSNBC</a></p> </blockquote></li> <li><p>However, Joe's <em>gross</em> income is different than Joe's <em>taxable</em> income. Once you actually deducted from the $280,000 any business expenses, wages, and other deductibles, Joe's <em>taxable</em> income would certainly fall below $250,000 meaning that <strong>Joe's taxes would actually <em>go down</em></strong>.</p></li> </ol> <p>But the above is based upon the assumption that Joe's boss' business makes that much, which it doesn't. As it turns out, the business' annual <em>revenue</em> is about $100,000, further cementing that Joe would <strong>not be adversely affected by Obama's tax plan <em>at all</em></strong>. Other failed assumptions about Joe that John McCain has made:</p> <ul> <li>Joe could get a loan in the first place. He can't right now as credit markets are frozen.</li> <li>Joe is a plumber. He is in fact not licensed and thanks to this recent publicity he may actually be sanctioned by the city as a result (oops).</li> </ul> <p>Sorry for the politics, but I can't help myself. If there is one thing I hope people hear is what Obama has been saying over and over and over again, and after every time John McCain insists that under Obama's plan, people's taxes would go up:</p> <div style="font-family: Georgia; text-align: center; font-size: 2em;">95% of American individuals and small business' taxes will go DOWN.</div> <p>That includes mine. But you know what? If Obama asked me to pay more than I do today, I would. Why? For starters, while I could certainly use the extra income, there are others out there who could use it more. Plus, I want to live in world where neighbors and citizens extend to each other a helping hand when times are tough, and not turn our backs on them based on a procrustean "every man for himself" ideology. God forbid that one day, due to forces outside of my control I find myself in need -- only to find that there is no one there to help, and no safety net to fall back on.</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2008/10/meet-joe.php#comments">4 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Thursday, October 16, 2008 at 3:23 PM</p> <p>Filed in <a href="http://www.majordojo.com/current-events/" rel="tag">Current Events</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=death%20and%20taxes&limit=20" rel="tag">death and taxes</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=election%202008&limit=20" rel="tag">election 2008</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=joe&limit=20" rel="tag">joe</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=living%20in%20a%20society&limit=20" rel="tag">living in a society</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=mccain&limit=20" rel="tag">mccain</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=obama&limit=20" rel="tag">obama</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=politics&limit=20" rel="tag">politics</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=taxes&limit=20" rel="tag">taxes</a> </p> </div> </div></div> </div> <div id="entry-3547" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2008/07/matt-the-quintessential-blogger.php" rel="bookmark">The #1 Matt: The Quintessential Blogger</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2008-07-15T09:57:30-08:00"><span class='day'>15</span> Jul 2008</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> It must be <a href="http://en.wikipedia.org/wiki/Egosurfing">a great source of pride</a> to have your web site surface as the number one search result on Google when you search for just your singular first name. Even with a relatively unique name like "<a href="http://www.google.com/search?q=byrne&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a">Byrne</a>" I have no hope in hell of appearing above the likes of David Byrne or Gabriel Byrne. Alas my relative obscurity.<br /><br />Of course what must be even more impressive is when your name is as common as Bill, John or Matt and your website still comes up as the number on search result. I mean <i>come on</i>, how many Matts must there be in the world? <br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="TypePad Logo" src="http://www.majordojo.com/2008/07/15/tp-logo-white.png" class="mt-image-right" style="margin: 0pt 0pt 20px 20px; float: right;" height="50" width="226" /></span>For example, if you <a href="http://www.google.com/search?q=matt&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a">search for "Matt"</a> today, guess who comes up? A <a href="http://www.wherethehellismatt.typepad.com/blog/">TypePad blogger</a> who in 2006, chronicled a 6 month adventure that took him through 39 countries on all 7 continents to do one simple thing: <a href="http://www.youtube.com/watch?v=bNF_P281Uu4&eurl=http://www.wherethehellismatt.com/videos.shtml?fbid=mK_3-">video tape himself dancing</a>. Then one year later after gaining a little bit of notoriety he was approached again to go on another round-the-world trip; but this time to video tape himself dancing with other people.<br /><br /><span class="mt-enclosure mt-enclosure-youtube" style="display: inline;"><object height="355" width="425"><param name="movie" value="http://www.youtube.com/v/zlfKdbWwruY&rel=1" /><param name="wmode" value="transparent" /><embed src="http://www.youtube.com/v/zlfKdbWwruY&rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"></object></span> <br /><br />The pride I feel is that it is the <a href="http://www.sixapart.com/">company I work for</a> is the one that helps Matt tell his story and millions more like him. Not all them come up as the number one search result in Google for their name, but thanks to TypePad and other blogging systems, their blog and web site does come up as their stories unfold.<br /> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2008/07/matt-the-quintessential-blogger.php#comments">2 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Tuesday, July 15, 2008 at 9:57 AM</p> <p>Filed in <a href="http://www.majordojo.com/blogging/" rel="tag">Blogging</a>, <a href="http://www.majordojo.com/its-funny-laugh/" rel="tag">It's Funny, Laugh</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=around%20the%20world&limit=20" rel="tag">around the world</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=dancing&limit=20" rel="tag">dancing</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=matt&limit=20" rel="tag">matt</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=movable%20type&limit=20" rel="tag">movable type</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=travel&limit=20" rel="tag">travel</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=typepad&limit=20" rel="tag">typepad</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=video&limit=20" rel="tag">video</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=youtube&limit=20" rel="tag">youtube</a> </p> </div> </div></div> </div> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.majordojo.com/2008/05/automagic-url-redirection-and-seo-maximization-in-movable-ty.php" trackback:ping="http://www.majordojo.com/cgi-bin/mt/mt-trackback.cgi/1279" dc:title="Automagic URL redirection and SEO maximization in Movable Type" dc:identifier="http://www.majordojo.com/2008/05/automagic-url-redirection-and-seo-maximization-in-movable-ty.php" dc:subject="Movable Type" dc:description="Clean Sweep now allows me to change my URL structure without worrying about how Google might penalize me. Clean Sweep is a plugin I released in conjunction with Movable Type 4.0 to help users keep URLs and permalinks valid on..." dc:creator="Byrne" dc:date="2008-05-07T10:17:56-08:00" /> </rdf:RDF> --> <div id="entry-3526" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2008/05/automagic-url-redirection-and-seo-maximization-in-movable-ty.php" rel="bookmark">Automagic URL redirection and SEO maximization in Movable Type</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2008-05-07T10:17:56-08:00"><span class='day'> 7</span> May 2008</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <div style="float:right; font-size: 18px; font-family: serif; width: 250px; padding: 5px 0 5px 20px; ">Clean Sweep now allows me to change my URL structure without worrying about how Google might penalize me.</div> <p><a href="http://www.majordojo.com/projects/clean-sweep.php">Clean Sweep</a> is a plugin I <a href="http://www.majordojo.com/2007/09/clean-sweep-for-movable-type-4.php">released</a> in conjunction with Movable Type 4.0 to help users keep URLs and permalinks valid on their web site even after a major change to your URL structure. The plugin worked by tracking broken links on your web site and allowing you to create rewrite rules within Movable Type for those broken links. So, how did this help me?</p> <ol> <li><p><strong>It increased my site traffic!</strong> I am not SEO obsessed. I probably should be, but I am not. So over the years as I have changed my URL structure numerous times and unwittingly broke a lot of inbound links to me. As someone who does not monitor my web server access log for 404s, this went largely unnoticed. Then when I installed Clean Sweep I discovered hundreds of URLs people were attempting to access that resulted in a dead end. As soon as I fixed them people entered my site as opposed to leaving, and many of them stuck around to look for more content. Traffic went up <em>immediately</em>.</p></li> <li><p><strong>Ad revenue went up!</strong> This is naturally the result of #1 above as there is always a correlation between ad revenue and site traffic. I will add though that many of the links coming into me were simple a cut and paste error somewhere on the Interweb. These are broken links I could never anticipate. Clean Sweep allowed me to catch all possible ways someone could attempt to come into my site and correct them before they hit a 404 page.</p></li> <li><p><strong>I fixed broken images!</strong> Web pages were not the only thing people were trying to find but couldn't. I also found a number of images and screenshots that had managed to break over the years. As a result my content actually got better and looked as professional as the day I published it.</p></li> </ol> <p><strong>Today I released a new version of Clean Sweep that is smarter than ever before.</strong></p> <p>This new version (1.1) will look at the URL being requested that could not be found and attempt to auto correct it for any common causes for broken links. This new simple rule set will automatically correct the following mistakes:</p> <ul> <li><strong>Change underscores to hyphens</strong> - many users like hyphenated URLs not only for their aesthetics but for their purported SEO benefits. Users wishing to switch to using hyphens can now do so without affecting their page rank and without losing traffic.</li> <li><strong>Map legacy Movable Type URL formats</strong> - old, old, old versions of Movable Type created file names that used an entry id as opposed to a basename. Clean Sweep will automatically detect this and redirect a user to the proper destination.</li> <li><strong>Look for entries with a common basename</strong> - users who have switched from a category-based permalink to a date-based permalink will now have Clean Sweep redirect users accordingly.</li> </ul> <p>These changes have added one last benefit for Clean Sweep:</p> <p>Clean Sweep now allows me to clean up a lot of cruft that had built up on my blog and to safely change my URL structure without worrying about how Google might penalize me or how it might impact my users.</p> <p>Want to test it out? Check out these URLs and see how majordojo redirects them accordingly:</p> <ul> <li><a rel="nofollow" href="http://www.majordojo.com/archives/000675.php">http://www.majordojo.com/archives/000675.php</a></li> <li><a rel="nofollow" href="http://www.majordojo.com/2005/07/goodbye_bookque.php">http://www.majordojo.com/2005/07/goodbye_bookque.php</a></li> <li><a rel="nofollow" href="http://www.majordojo.com/personal-projects/goodbye_bookque.php">http://www.majordojo.com/personal-projects/goodbye_bookque.php</a></li> </ul> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2008/05/automagic-url-redirection-and-seo-maximization-in-movable-ty.php#comments">6 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Wednesday, May 7, 2008 at 10:17 AM<span class="entry-meta-trackbackcount"> | <a href="http://www.majordojo.com/2008/05/automagic-url-redirection-and-seo-maximization-in-movable-ty.php#trackback" class="trackback-count">0 <span>TrackBacks</span></a></span></p> <p>Filed in <a href="http://www.majordojo.com/blogging/" rel="tag">Blogging</a>, <a href="http://www.majordojo.com/blogging/movable-type/" rel="tag">Movable Type</a>, <a href="http://www.majordojo.com/technology/open-source/" rel="tag">Open Source</a>, <a href="http://www.majordojo.com/personal-projects/" rel="tag">Personal Projects</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=broken%20links&limit=20" rel="tag">broken links</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=clean%20sweep&limit=20" rel="tag">clean sweep</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=movable%20type&limit=20" rel="tag">movable type</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=mtos&limit=20" rel="tag">mtos</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=open%20source&limit=20" rel="tag">open source</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=personal%20project&limit=20" rel="tag">personal project</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=rewrite%20rules&limit=20" rel="tag">rewrite rules</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=seo&limit=20" rel="tag">seo</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=URL%20redirection&limit=20" rel="tag">URL redirection</a> </p> </div> </div></div> </div> <div id="entry-2607" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/11/google-maps-no-longer-suck.php" rel="bookmark">Google Maps no longer "suck"</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-11-23T21:45:07-08:00"><span class='day'>23</span> Nov 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p><span class="mt-enclosure mt-enclosure-image"><img alt="Google gets it wrong" src="http://www.majordojo.com/uploads/google_sm.jpg" width="215" height="116" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;"/></span> Over two years ago when <a href="http://maps.google.com/">Google Maps</a> released their satellite maps feature and the rest of the world was ooooh'ing and aaaaaah'ing, I <a href="http://www.majordojo.com/2005/04/google-maps-suc.php">wrote a post saying Google Maps sucked</a> because when I typed in my address, they couldn't pinpoint my exact location. Pshaw.</p> <p>I was being facetious. I am a Google Maps fan-boy like everyone else - except of course when you ask for directions and its sends you to the wrong city. But that is a whole other blog post.</p> <p>Today I found out that <a href="http://www.901am.com/2007/google-maps-allows-online-user-to-edit-locations.html">Google now lets users edit maps</a>. The first thing I did was adjust where Google things my home is. Now when you type in my address - you get the exact point on the map.</p> <p>I may be the only person in the world that cares that Google gets this right, but I must admit, it is a cool feature nonetheless.</p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/Picture%202.png"><img alt="Google Maps circa 2007" src="http://www.majordojo.com/images/Picture 2-thumb-450x302.png" width="450" height="302" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;"/></a></span></p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/11/google-maps-no-longer-suck.php#comments">2 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Friday, November 23, 2007 at 9:45 PM</p> <p>Filed in <a href="http://www.majordojo.com/aint-it-cool/" rel="tag">Ain't it Cool</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=cool&limit=20" rel="tag">cool</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google&limit=20" rel="tag">google</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=maps&limit=20" rel="tag">maps</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=web%202.0&limit=20" rel="tag">web 2.0</a> </p> </div> </div></div> </div> <div id="entry-2591" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/11/links-for-saturday-november-10.php" rel="bookmark">links for Saturday, November 10</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-11-10T22:35:38-08:00"><span class='day'>10</span> Nov 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <div class="magnolia_post xfolkentry"><h4><a class="taggedlink" href="http://www.americanheritage.com/articles/magazine/ah/1963/6/1963_6_48.shtml">NIIHAU a shoal of time</a></h4><div class="description">Arin and I have been fascinated by the island of Niihau - or the "Forbidden Island." The island is privately owned, hence the reason for it being forbidden. Well, that and the fact the owners are devoted to keeping the island to "preserve intact the Hawaiian cultural pattern."</div><p class="tags">Tags: <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/hawaii">hawaii</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/travelogue">travelogue</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/research">research</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/niihau">niihau</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/history">history</a></p><h4><a class="taggedlink" href="http://photos.igougo.com/pictures-photos-l766-c1-s1-p255031-Spiderweb_outside_Punaluu_Bake_Shop.html">Hawaiian Spider that I am seeing *everywhere*</a></h4><div class="description">Our garden is full of these spiders right now. I have scoured wikipedia, google, and every resource I can think of. But for the life of me, I cannot find the name of the spider or any other info except this photo. Help!</div><p class="tags">Tags: <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/spiders">spiders</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/hawaii">hawaii</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/travelogue">travelogue</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/garden">garden</a></p><a href="http://ma.gnolia.com/people/byrnereese/bookmarks">View all my bookmarks on Ma.gnolia</a></div> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/11/links-for-saturday-november-10.php#comments">2 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Saturday, November 10, 2007 at 10:35 PM</p> <p>Filed in <a href="http://www.majordojo.com/links/" rel="tag">Links</a> </p> </div> </div></div> </div> <div id="entry-2581" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/11/links-for-friday-november-02.php" rel="bookmark">links for Friday, November 02</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-11-01T21:36:20-08:00"><span class='day'> 1</span> Nov 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <div class="magnolia_post xfolkentry"><h4><a class="taggedlink" href="http://mt-hacks.com/20071029-mt4-podcasting-templates.html">MT4 Podcasting Templates (MT Hacks)</a></h4><div class="description">Mark Carey has been kind enough to package up these podcasting feed templates for use with his Template Installer plugin. Thanks Mark!</div><p class="tags">Tags: <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/movabletype">movabletype</a></p><h4><a class="taggedlink" href="http://www.suck.uk.com/product.php?rangeID=50">Sun Jar</a></h4><div class="description">Oooh - good gift idea</div><p class="tags">Tags: <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/gift ideas">gift ideas</a></p><h4><a class="taggedlink" href="http://www.sixapart.com/about/news/2007/11/opensocial_kill.html">OpenSocial, Killer Apps and Regular People</a></h4><div class="description">There is a lot of hoopla in the tech industry around Google's latest project called "OpenSocial" - a platform and set of developer APIs/tools that would allow people to write and deploy web based applications on top of <em>any social network</em>. Many want to make this story almost exclusively about "Facebook vs. MySpace vs. Google," but that <em>not was is important</em>. Freedom of choice is important. Privacy is important. Open standards are important. Patent-free, license-free technology is important. That is what I, and my colleagues at Six Apart are focusing on.</div><p class="tags">Tags: <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/six apart">six apart</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/open standards">open standards</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/social graph">social graph</a>, <a rel="tag" href="http://ma.gnolia.com/people/byrnereese/tags/open social">open social</a></p><a href="http://ma.gnolia.com/people/byrnereese/bookmarks">View all my bookmarks on Ma.gnolia</a></div> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/11/links-for-friday-november-02.php#comments">0 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Thursday, November 1, 2007 at 9:36 PM</p> <p>Filed in <a href="http://www.majordojo.com/links/" rel="tag">Links</a> </p> </div> </div></div> </div> <div id="entry-2549" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/10/feed-readers-kill-design.php" rel="bookmark">Feed Readers Kill Design</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-10-04T13:44:15-08:00"><span class='day'> 4</span> Oct 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p>In <a href="http://www.jasonsantamaria.com/">Jason Santa Maria</a>'s talk today at <a href="http://www.aneventapart.com/">An Event Apart</a> he outlined the latest thinking in design fundamentals for expressing your brand and identity through web design. However when his slide came up entitled "Sweat the Small Stuff" and he explained simply that <strong>the details really do matter</strong>, I couldn't help but think about how increasingly more and more people are experiencing websites through someone's lens like a feed reader, aggregator or even Facebook, in which a designer's carefully crafted details, which collectively go not only to supporting your brand, but also the usability of your content, gets completely lost, or in some cases even perverted.</p> <p>Curious to see how majordojo is experienced by most people, I did a quick survey of how <a href="http://www.majordojo.com/2007/10/attending-an-event-apart.php">my very simple design</a> is seen via today's most popular feed readers:</p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/bloglines.png"><img alt="Majordojo through Bloglines" src="http://www.majordojo.com/images/bloglines-thumb-450x238.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="238" width="450" /></a><br />majordojo as seen in Bloglines</span></p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/google-reader.png"><img alt="Majordojo through Google" src="http://www.majordojo.com/images/google-reader-thumb-450x243.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="243" width="450" /></a><br />majordojo as seen in Google Reader</span></p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/sage.png"><img alt="Majordojo through Sage" src="http://www.majordojo.com/images/sage-thumb-450x418.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="418" width="450" /></a><br />majordojo as seen through Sage</span></p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/newsgator.png"><img alt="Majordojo through Newsgator" src="http://www.majordojo.com/images/newsgator-thumb-450x122.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="122" width="450" /></a><br />majordojo as seen in Newsgator</span></p> <p>So if design matters, which it does of course, then why can't these readers respect the design I choose from my content. Granted, from a pure usability point of view I think I could make a pretty compelling argument that it is in the user's best interest to make <em>all</em> content, regardless of its source, completely uniform. But what if you look at this from a less myopic point of view? How can we appease the need for usability, but also respect the designer's intent from the source web site?</p> <p>And can this possibly be solved by technology?</p> <p>Well, maybe. We already have a mechanism to define how a site should appear when printed via a web browser, or when accessed via a mobile device... why not use the same mechanism to help instruct readers in rendering my content within the context of their application?</p> <p>Granted, the reader should be allowed to apply constraints to my content for aesthetic, usability and security reasons... but why can't some of a designer's carefully chosen fonts, colors, imagery, and detail bleed through? Why can't there be a middle ground that respects usability and design intent equally? Or is that even possible?</p> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/10/feed-readers-kill-design.php#comments">3 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Thursday, October 4, 2007 at 1:44 PM</p> <p>Filed in <a href="http://www.majordojo.com/design/" rel="tag">Design</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=an%20event%20apart&limit=20" rel="tag">an event apart</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=bloglines&limit=20" rel="tag">bloglines</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=conferences&limit=20" rel="tag">conferences</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=design&limit=20" rel="tag">design</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google%20reader&limit=20" rel="tag">google reader</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=newsgator&limit=20" rel="tag">newsgator</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=sage&limit=20" rel="tag">sage</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=stylesheets&limit=20" rel="tag">stylesheets</a> </p> </div> </div></div> </div> <div id="entry-2536" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/09/mint.php" rel="bookmark">Mint: a review</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-09-25T22:26:58-08:00"><span class='day'>25</span> Sep 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.mint.com/"><img alt="Mint Logo" src="http://www.majordojo.com/assets_c/2007/09/mint_white-thumb-225x168.png" width="225" height="168" class="mt-image-right" style="float: right; margin: 0 0 20px 20px;"/></a></span></p> <p>About five years ago I abandoned the last of my brick-and-mortar financial institutions so that I could manage my money exclusively online. I left Bank of America in favor of <a href="http://www.etradebank.com">eTrade</a> because I believed that as a modern Internet company eTrade stood a much better chance of developing the kind of banking application I would not only value, but also have a modern and savvy user interface. So I switched everything over and bought Quicken, with a rare enthusiasm and excitement for I believed that this would be the new dawn of a new me, a <em>me</em> that actually had his finances ordered and up to date at all times. </p> <p>Imagine my surprise when I booted up Quicken only to find that it was incompatible with eTrade <em>Bank</em>. Believe it or not, that was in 2003. Three years later when my wife and I began to contemplate buying a new home and I had a renewed interest in trying to gain greater insight into how my wife and I spend money. So I decided to check back with Quicken and see if they had yet added support for eTrade Bank. They had not. </p> <p>"Shock" does not even begin to describe the feeling I had. I had chosen eTrade because I believed that a company that existed almost exclusively online would work best with products like Quicken that wished to synchronize users' data with financial institutions over the Internet. Seems like a reasonable conclusion to reach, right? Um, yeah.</p> <p>So in an effort to get a handle on my family's finances I turned to the oldest personal financial application around: Excel. I imported what I could from eTrade and then began the process of <em>manually</em> categorizing all of my income and expenditures over the past three months. It was excruciating and. mind-numbing. But it was also very error prone because my categorization scheme kept adapting and changing as I began to understand my own expenses more and more. During the whole process I kept asking myself, "can't Quicken do this for me? Don't they have enough people's data to know how people generally categorize a payment to Amazon or Grand Lake Theater?"</p> <p>In the end I toiled over that spreadsheet for about 3-4 hours knowing full well that if I ever needed to update my finances I would need to do it all over again. Talk about poking yourself in the eye with a stick.</p> <p>I had resigned myself to never finding a tool that would work for me. But just the other day, I <a href="http://www.techcrunch.com/2007/09/18/techcrunch40-session-5-productivity-web-apps/">stumbled upon a newly released product</a> that in an almost clairvoyant fashion did <em>exactly</em> what I was trying to achieve in Excel in a little under 5 minutes. Plus it gave me the simple, easy to understand personal finance analytics I wanted out of Quicken, and it did it all for <em>free</em>.</p> <p>So, yes, I am a fan of <a href="http://www.mint.com/">Mint</a>. I will admit. But it is not perfect. It does a lot of things right, which I talk about below, but there are many things I would like to see it do differently.</p> <h2>Turning Personal Finance into a Game</h2> <p><span class="mt-enclosure mt-enclosure-image"><img alt="debt-equity.png" src="http://www.majordojo.com/images/screenshots/debt-equity.png" width="295" height="111" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;"/></span></p> <p>A number of notable <a href="http://socialarchitect.typepad.com/">product design folk</a> talk about the use of <a href="http://www.oreillynet.com/conferences/blog/2006/03/how_game_mechanics_can_make_yo.html">game mechanics</a> within the tools we use to help fuel our use of and addiction to them. These same game mechanics can also be used to turn otherwise mundane or even anxiety-ridden tasks into ones that are actually and quite possibly fun. The "game" Mint offers lies in encouraging the user to take actions in their personal life in order to manipulate Mint in respondiing in a favorable and desired way. One very simple example of how Mint does this already is with the widget that shows a user's ratio of equity to debt. This is an incredibly reductionist view of your finances, granted, but that is the beauty because it is easy for me to understand how to move the bar left and right. Another good example is the "how do you compare" feature which actually pits me against others users in the system. This I <em>love</em> because it taps into my competitive nature. I hate know for example that I pay more then most others for gas, especially consider how little my wife and I drive. </p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/screenshots/compare.png"><img alt="compare.png" src="http://www.majordojo.com/images/screenshots/compare-thumb-500x77.png" width="500" height="77" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;"/></a></span></p> <p>Mint is only scratching the surface here. The truth is that Mint has lots of fertile ground to help provide additional feedback to the user to help encourage them to develop discipline around their finances, and I hope that Mint begins to define its more of its features with game mechanics specifically in mind. I just love the idea of an application I use enticing me to be better about finances - either overtly or subconsciously. I don't care, because the end result is a real value to me no matter what.</p> <h2>The Brilliance Behind the Product</h2> <p><a href="http://www.omniture.com/">Omniture</a> and then <a href="https://www.google.com/adsense">Google</a> showed the world that advertising can be actually be perceived as valuable by users when that advertising is actually relevant to the content of the page and provides some kind of value to the user. It is my belief that search remains the only context for advertising where the ad serves a purpose and value relatively equal to the content itself. Sure, content targeted advertising on blogs can be relevant, but they are still widely recognized as "ads" in the most pejorative sense of the word, and not immediately perceived as a value. </p> <p><span class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/screenshots/save-money.png"><img alt="save-money.png" src="http://www.majordojo.com/images/screenshots/save-money-thumb-500x262.png" width="500" height="262" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;"/></a></span></p> <p>Mint may very well have discovered the next form of ad unit that provides what consumers will widely perceive as truly valuable. Just click on the "Ways to Save" and you are immediately taken to a page that shows me products and services that will potentially save me money. For example, Mint knows what credit cards I have and their interest rate, so it can present me with credit cards to transfer my balance that will save me on interest payments. Mint also knows who my cell phone provider and can present me with alternative cell phone providers that can save me money on my monthly payment. I honestly hope that one day Mint will also:</p> <ul> <li><strong>Help me find a better longer term mortgage</strong>. What I hope Mint does <em>not</em> do is help me lower my monthly payment. That is a crock. I want Mint to help me build equity in my home, not help others leach equity from it.</li> <li><strong>Offer vacation packages for me based upon the cities it sees me spend money</strong>. For example, Mint should know that I visit Los Angeles from time to time, and should be able to offer ways to save on my next trip there.</li> <li><strong>Help me find a better place to save my money</strong> by recommending CDs or Mutual Funds based upon how much of my equity is liquid on average.</li> </ul> <h2>A Few Recommendations for Mint</h2> <ul> <li><p><strong>Make Community More Apparent</strong> - The "How do you Compare" feature is awesome, but I think there is greater potential to inform how users can more actively contribute to the system and one another. It would be great to actually show information about each transaction on how others have categorized an item. I am certain their must be something at work on the backend taking into account how others are training the system, but surfacing that information I think will help encourage that behavior in users even more.</p></li> <li><p><strong>Allow for Category <em>Suggestions</em></strong> - I actually like the constraints you place around categories. While I think a compelling argument can be made to allow people to create their own ontology, I think it is wiser to constrain users, lest they over complicate something that Mint is trying to keep simple. But man, I sure would like a few changes made... perhaps you could let users suggest categories? For example, I would love a category for Home Business (both income and expense). Oh, and I want a "Delivery" option under Food because one thing I am dying to know about myself is how often I "order out."</p></li> <li><p><strong>Encourage me to Categorize</strong> - I think categorization is one of the most important activities a user can engage in. There should be some kind of statistic on the dashboard widget that shows how many uncategorized items I may have. When I click it I should be taken to a "to do list" of sorts that shows all of the uncategorized transactions in my account. As I assign each to a category, my to do list gets smaller and smaller. Ultimately I should categorize very infrequently because over time I should be training the system to do it for me.</p></li> <li><p><strong>"Labels?" Come on, they're tags.</strong> - I wish a more conventional method for applying labels, or let's be honest with one another, <em>tags</em> to my transactions. I would be more diligent about tagging my transactions if the process was more fluid and less cumbersome. Go for a tagging interaction model like Flickr or Vox.</p></li> <li><p><strong>Spending Trends Improvements</strong> - The pie chart is nice, but it is not 66%-of-the-screen-nice. Some of the stats I am really interested in are the less prominent stats, like who are my "favorite" merchants, especially over time. I also want to gain a better understanding of income as well and the ebb and flow of income to expense. Let me blow up spending charts... I want to see more than the top 3 places I spend money within any given category. </p></li> </ul> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/09/mint.php#comments">5 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Tuesday, September 25, 2007 at 10:26 PM</p> <p>Filed in <a href="http://www.majordojo.com/geeky-goodness/" rel="tag">Geeky Goodness</a>, <a href="http://www.majordojo.com/technology/" rel="tag">Technology</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=analytics&limit=20" rel="tag">analytics</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=finance&limit=20" rel="tag">finance</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=mint&limit=20" rel="tag">mint</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=product%20review&limit=20" rel="tag">product review</a> </p> </div> </div></div> </div> <div id="entry-2525" class="entry-asset asset hentry"> <div class="asset-header"> <h2 class="asset-name entry-title"><a href="http://www.majordojo.com/2007/09/the-story-behind-typepad-and-mt4s-iphone-apps.php" rel="bookmark">The Story Behind TypePad and MT4's iPhone Apps</a></h2> <div class="asset-meta "> <div class="entry-meta-date"><abbr class="published" title="2007-09-10T19:53:38-08:00"><span class='day'>10</span> Sep 2007</abbr></div> </div> </div> <div class="asset-content entry-content pkg"> <div class="asset-body pkg"> <span class="mt-enclosure mt-enclosure-image"><form contenteditable="false" mt:asset-id="786" class="mt-enclosure mt-enclosure-image"><a href="http://www.majordojo.com/images/imt-screen.png"><img alt="iMT Screenshot" src="http://www.majordojo.com/assets_c/2007/09/imt-screen-thumb-200x300.png" class="mt-image-left" style="margin: 0pt 20px 20px 0pt; float: left;" height="300" width="200" /></a></span></form> Today we (<a href="http://www.sixapart.com/">Six Apart</a>) announced support for specially crafted versions of <a href="http://everything.typepad.com/blog/2007/09/introducing-typ.html">TypePad</a> and <a href="http://www.movabletype.org/2007/09/one_more_reason_to_buy_an_ipho.html">Movable Type</a> for iPhone users. It will be easy for commentators and critics to get wrapped up in the design and features of these applications, and rightly so I suppose. But for me, the more interesting story to be told will be in how they were made.<br /><br />You see, no one ever sat down and scheduled for <a href="http://www.iwalt.com/">Walt</a> to build the TypePad iPhone application, or for <a href="http://www.bradchoate.com/">Brad</a> to adapt it for Movable Type. Yet both were the result of several weeks of work made possible through an initiative started by <a href="http://btrott.vox.com/">Ben Trott</a>: Hackathon Wednesdays.<br /><br />We at Six Apart <a href="http://bradchoate.com/weblog/2007/08/24/mt-hackathon-day-at-six-apart-japan">have</a> <a href="http://www.sixapart.com/pronet/weblog/2007/04/the_movable_typ.html">always</a> <a href="http://bulknews.typepad.com/blog/2006/03/hackathon_1.html">been</a> a fan of "<a href="http://en.wikipedia.org/wiki/Hackathon">Hackathons</a>" ever since they were popularized in the Valley several years ago by <a href="http://bnoopy.typepad.com/bnoopy/2005/05/keeping_innovat.html">Joe Krauss</a>, of the then unacquired <a href="http://www.jot.com/">Jot Spot</a>. But as a Product Manager, I was always a little disappointed by them. Why? Because while developer morale is improved by allowing engineers to innovate freely, there is only so much you can accomplish in a day. And rarely, rarely do the small apps that developers build ever reach the light of day because rarely do developers have enough time to put the polish on their creations or work with others to help launch them.<br /><br />This is why I have so much respect for Google's famous "<a href="http://googleblog.blogspot.com/2006/05/googles-20-percent-time-in-action.html">20% time</a>," a program that allows every engineer to work on "whatever they are passionate about" for 20% of any given work week. This program has produced some of Google's biggest money makers: including Google AdSense for Content. What makes a success like that possible is the fact that developers are given so much time to work on and perfect an idea they have. They have the opportunity to build support in the company for the idea and to ultimately launch it.<br /><br />And like AdSense for Content, the proof is in the pudding. If it wasn't for the fact that Walt could devote five weekly Hackathon Wednesdays, the iPhone App he built would have been a great proof of concept produced in one day but then would likely have stopped there.<br /> <br />It takes incredible courage for a company to devote so much of its engineers' time to unscheduled, unprioritized, unmanaged work. But what I think Six Apart's "20% time" policy has shown is that such programs are not just for companies like Google with virtually unlimited resources, they can work any where. All it takes is a little faith in the talent you have hired and a corporate philosophy that truly values innovation above all else. Jot Spot got that right, and Google got that right. And I think Six Apart is getting it right as well. <br /> </div> <div class="asset-more-link"> <a href="http://www.majordojo.com/2007/09/the-story-behind-typepad-and-mt4s-iphone-apps.php#more" rel="bookmark nofollow">Continue reading</a> </div> </div> <div class="asset-footer"><div class="asset-footer-inner"> <div class="entry-commentcount"><a href="http://www.majordojo.com/2007/09/the-story-behind-typepad-and-mt4s-iphone-apps.php#comments">0 <span>Comments</span></a></div> <div class="asset-footer-meta"> <p>Posted by <a href="http://www.majordojo.com/cgi-bin/mt/mt-cp.cgi?__mode=view&id=1&blog_id=3" class="fn url">Byrne</a> on Monday, September 10, 2007 at 7:53 PM</p> <p>Filed in <a href="http://www.majordojo.com/geeky-goodness/" rel="tag">Geeky Goodness</a>, <a href="http://www.majordojo.com/blogging/movable-type/" rel="tag">Movable Type</a>, <a href="http://www.majordojo.com/technology/programming/" rel="tag">Programming</a> and tagged <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=20%25%20time&limit=20" rel="tag">20% time</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=brad%20choate&limit=20" rel="tag">brad choate</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google&limit=20" rel="tag">google</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=hackathon&limit=20" rel="tag">hackathon</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=innovation&limit=20" rel="tag">innovation</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=iphone&limit=20" rel="tag">iphone</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=ipod%20touch&limit=20" rel="tag">ipod touch</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=joe%20krauss&limit=20" rel="tag">joe krauss</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=jot%20spot&limit=20" rel="tag">jot spot</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=six%20apart&limit=20" rel="tag">six apart</a>, <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=walt%20dickinson&limit=20" rel="tag">walt dickinson</a> </p> </div> </div></div> </div> </div><div class="autopagerize_insert_before"></div> <div class="content-nav"> 1 <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?search=google&__mode=tag&IncludeBlogs=3&limit=20&offset=20">2</a>  <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?search=google&__mode=tag&IncludeBlogs=3&limit=20&offset=20" rel="next" onclick="return swapContent();">Next ></a> </div> </div> <script type="text/javascript"> <!-- var div = document.getElementById('search-results'); var results = { '1': { 'content': div.innerHTML, 'next_url': 'http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?search=google&__mode=tag&IncludeBlogs=3&limit=20&offset=20' } }; var timer = window.setTimeout("getResults(" + 1 + ")", 1*1000); //--> </script> </div> </div> <div id="beta"> <div id="beta-inner"> <div class="widget-gallery widget"> <div class="inner"> <h3 class="widget-header">Reading and Watching</h3> <div class="gallery-item-nav"> <a href="javascript:galleryPrev();" id="showcase-prev" class="inactive">Prev</a> <a href="javascript:galleryNext();" id="showcase-next" class="inactive">Next</a> </div> <div class="widget-content"><div class="widget-content-inner"> <div id="gallery-item-1" class="gallery-item" style="display: block;"> <a class="asset-image" href="http://www.amazon.com/Glee-Vol-One-Road-Sectionals/dp/B002AMVEF6%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB002AMVEF6"><img src="http://images.amazon.com/images/P/B002AMVEF6.01._SCLZZZZZZZ_SX120_.jpg" class="asset-img-thumb" alt="Glee, Vol. One: Road to Sectionals" title="Glee, Vol. One: Road to Sectionals" /></a> <h3><a href="http://www.amazon.com/Glee-Vol-One-Road-Sectionals/dp/B002AMVEF6%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dws%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB002AMVEF6">Glee, Vol. One: Road to Sectionals</a></h3> <div class="asset-description">Best new show on television. Period.</div> </div> <div id="gallery-item-2" class="gallery-item" > <a class="asset-image" href="http://www.amazon.com/Kings-Season-One-Ian-McShane/dp/B0024FAD88%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0024FAD88"><img src="http://images.amazon.com/images/P/B0024FAD88.01._SCLZZZZZZZ_SX120_.jpg" class="asset-img-thumb" alt="Kings - Season One" title="Kings - Season One" /></a> <h3><a href="http://www.amazon.com/Kings-Season-One-Ian-McShane/dp/B0024FAD88%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB0024FAD88">Kings - Season One</a></h3> <div class="asset-description">What in the first 3-4 episodes made me think this could be the next great TV show, the last 6 episodes made me sad for how quickly it turned sour.</div> </div> <div id="gallery-item-3" class="gallery-item" > <a class="asset-image" href="http://www.amazon.com/Weeds-Season-4-Hunter-Parrish/dp/B001AQBGM4%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001AQBGM4"><img src="http://images.amazon.com/images/P/B001AQBGM4.01._SCLZZZZZZZ_SX120_.jpg" class="asset-img-thumb" alt="Weeds - Season 4" title="Weeds - Season 4" /></a> <h3><a href="http://www.amazon.com/Weeds-Season-4-Hunter-Parrish/dp/B001AQBGM4%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001AQBGM4">Weeds - Season 4</a></h3> <div class="asset-description">After another season in the 'burbs I was losing interest. Weeds was just getting too dried out and stale. But Season Four really turned the season around for me.</div> </div> <div id="gallery-item-4" class="gallery-item" > <a class="asset-image" href="http://www.amazon.com/Caprica-Eric-Stoltz/dp/B001RTCP1U%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001RTCP1U"><img src="http://images.amazon.com/images/P/B001RTCP1U.01._SCLZZZZZZZ_SX120_.jpg" class="asset-img-thumb" alt="Caprica" title="Caprica" /></a> <h3><a href="http://www.amazon.com/Caprica-Eric-Stoltz/dp/B001RTCP1U%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001RTCP1U">Caprica</a></h3> <div class="asset-description">There are things I like, things I don't. The production is excellent though - which is why I will tune in this Fal.</div> </div> <div id="gallery-item-5" class="gallery-item" > <a class="asset-image" href="http://www.amazon.com/Religulous-Bill-Maher/dp/B001MFNB5I%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001MFNB5I"><img src="http://images.amazon.com/images/P/B001MFNB5I.01._SCLZZZZZZZ_SX120_.jpg" class="asset-img-thumb" alt="Religulous" title="Religulous" /></a> <h3><a href="http://www.amazon.com/Religulous-Bill-Maher/dp/B001MFNB5I%3FSubscriptionId%3D1FNQS2WS91241WGETX82%26tag%3Dmajordojo-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB001MFNB5I">Religulous</a></h3> <div class="asset-description">Yet another documentarian, like Mike Moore, whose ideas I 100% agree with, but whose delivery hurts the message. Everyone should watch this film.</div> </div> </div></div> </div> </div> <script type="text/javascript" charset="utf-8"> // set starting point and ending point -- will show max of 10 images var currentItem = 1; var lastItem = $('.widget-gallery .gallery-item').size(); </script><script type="text/javascript"><!-- google_ad_client = "pub-3972496675721577"; /* 300x250, created 10/4/08 */ google_ad_slot = "3689093583"; google_ad_width = 300; google_ad_height = 250; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> <br /><br /> <div id="beta-columns-left"> <div class="widget-archive widget-archive-category widget"> <h3 class="widget-header">Categories</h3> <div class="widget-content"> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/aint-it-cool/">Ain't it Cool (65)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/announcements/">Announcements (53)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/">Blogging (108)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/movable-type/">Movable Type (100)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/podcasting/">Podcasting (11)</a> </li> </ul> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/books/">Books (7)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/current-events/">Current Events (65)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/design/">Design (40)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/family/">Family (30)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/food/">Food (1)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/geeky-goodness/">Geeky Goodness (33)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/hodge-podge/" title="Just a bucket for random topics... if a topic keeps reoccuring, I will give it a category, if not, then it will go here.">Hodge Podge (48)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/its-funny-laugh/">It's Funny, Laugh (41)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/links/">Links (31)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/personal-projects/">Personal Projects (54)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/product-management/">Product Management (3)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/science-fiction/">Science Fiction (20)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/">Technology (46)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/open-source/">Open Source (55)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/programming/">Programming (29)</a> </li> </ul> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/television/">Television (23)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/travelogue/">Travelogue (19)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/vegetarian-bbq/">Vegetarian BBQ (3)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/">Web Services (14)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/atom/">Atom (12)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/soapmime/">SOAP-MIME (2)</a> </li> </ul> </li> </ul> </div> </div> <div class="widget-archive-monthly widget-archive widget"> <h3 class="widget-header">Monthly <a href="http://www.majordojo.com/archives.php">Archives</a></h3> <div class="widget-content"> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/09/">September 2010 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/08/">August 2010 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/07/">July 2010 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/06/">June 2010 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/05/">May 2010 (13)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/04/">April 2010 (9)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/03/">March 2010 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/02/">February 2010 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2010/01/">January 2010 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/12/">December 2009 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/11/">November 2009 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/10/">October 2009 (6)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/09/">September 2009 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/08/">August 2009 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/06/">June 2009 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/05/">May 2009 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/04/">April 2009 (9)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/03/">March 2009 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/02/">February 2009 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2009/01/">January 2009 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/12/">December 2008 (6)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/11/">November 2008 (9)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/10/">October 2008 (12)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/09/">September 2008 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/08/">August 2008 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/07/">July 2008 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/06/">June 2008 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/05/">May 2008 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/04/">April 2008 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/03/">March 2008 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/02/">February 2008 (13)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2008/01/">January 2008 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/12/">December 2007 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/11/">November 2007 (29)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/10/">October 2007 (27)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/09/">September 2007 (14)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/08/">August 2007 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/06/">June 2007 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/05/">May 2007 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/04/">April 2007 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/03/">March 2007 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/02/">February 2007 (14)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2007/01/">January 2007 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/12/">December 2006 (13)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/11/">November 2006 (24)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/10/">October 2006 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/08/">August 2006 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/07/">July 2006 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/06/">June 2006 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/05/">May 2006 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/04/">April 2006 (13)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/03/">March 2006 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/02/">February 2006 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2006/01/">January 2006 (13)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/12/">December 2005 (32)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/11/">November 2005 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/10/">October 2005 (10)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/09/">September 2005 (6)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/07/">July 2005 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/06/">June 2005 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/05/">May 2005 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/04/">April 2005 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/03/">March 2005 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/02/">February 2005 (1)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2005/01/">January 2005 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/12/">December 2004 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/11/">November 2004 (10)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/10/">October 2004 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/09/">September 2004 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/08/">August 2004 (6)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/07/">July 2004 (10)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/06/">June 2004 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/05/">May 2004 (8)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/04/">April 2004 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/03/">March 2004 (3)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/02/">February 2004 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2004/01/">January 2004 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/12/">December 2003 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/11/">November 2003 (5)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/10/">October 2003 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/09/">September 2003 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/08/">August 2003 (10)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/07/">July 2003 (7)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/06/">June 2003 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/05/">May 2003 (2)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2003/04/">April 2003 (4)</a></li> <li class="widget-list-item"><a href="http://www.majordojo.com/2000/01/">January 2000 (3)</a></li> </ul> </div> </div> </div><!-- end #beta-columns-left --> <div id="beta-columns-right"> </div><!-- end #beta-columns-right --> </div><!-- end #beta-inner --> </div><!-- end #beta --> </div> </div> <div id="footer"> <div id="footer-inner"> <div id="footer-content"> <div class="widget-archive widget-archive-category widget"> <h3 class="widget-header">Categories</h3> <div class="widget-content"> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/aint-it-cool/">Ain't it Cool (65)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/announcements/">Announcements (53)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/">Blogging (108)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/movable-type/">Movable Type (100)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/blogging/podcasting/">Podcasting (11)</a> </li> </ul> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/books/">Books (7)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/current-events/">Current Events (65)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/design/">Design (40)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/family/">Family (30)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/food/">Food (1)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/geeky-goodness/">Geeky Goodness (33)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/hodge-podge/" title="Just a bucket for random topics... if a topic keeps reoccuring, I will give it a category, if not, then it will go here.">Hodge Podge (48)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/its-funny-laugh/">It's Funny, Laugh (41)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/links/">Links (31)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/personal-projects/">Personal Projects (54)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/product-management/">Product Management (3)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/science-fiction/">Science Fiction (20)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/">Technology (46)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/open-source/">Open Source (55)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/technology/programming/">Programming (29)</a> </li> </ul> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/television/">Television (23)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/travelogue/">Travelogue (19)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/vegetarian-bbq/">Vegetarian BBQ (3)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/">Web Services (14)</a> <ul class="widget-list"> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/atom/">Atom (12)</a> </li> <li class="widget-list-item"><a href="http://www.majordojo.com/web-services/soapmime/">SOAP-MIME (2)</a> </li> </ul> </li> </ul> </div> </div> <div class="widget-tag-cloud widget"> <h3 class="widget-header">Tags</h3> <div class="widget-content"> <ul class="widget-list"> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=amazon&limit=20">amazon</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=arin&limit=20">arin</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=authentication&limit=20">authentication</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=awesome&limit=20">awesome</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=barak%20obama&limit=20">barak obama</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=battlestar%20galactica&limit=20">battlestar galactica</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=blogging&limit=20">blogging</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=books&limit=20">books</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=bsg&limit=20">bsg</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=byrne&limit=20">byrne</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=community&limit=20">community</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=cool&limit=20">cool</a> </li> <li class="rank-3 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=design&limit=20">design</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=doug%20bowman&limit=20">doug bowman</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=election%202008&limit=20">election 2008</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=family&limit=20">family</a> </li> <li class="rank-4 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=funny&limit=20">funny</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=google&limit=20">google</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=hackathon&limit=20">hackathon</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=hacks&limit=20">hacks</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=harper&limit=20">harper</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=javascript&limit=20">javascript</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=jquery&limit=20">jquery</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=livejournal&limit=20">livejournal</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=media%20manager&limit=20">media manager</a> </li> <li class="rank-1 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=movable%20type&limit=20">movable type</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=mtos&limit=20">mtos</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=music&limit=20">music</a> </li> <li class="rank-5 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=obama&limit=20">obama</a> </li> <li class="rank-3 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=open%20source&limit=20">open source</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=openid&limit=20">openid</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=performance&limit=20">performance</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=perl&limit=20">perl</a> </li> <li class="rank-5 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=personal%20project&limit=20">personal project</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=photo%20gallery&limit=20">photo gallery</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=photography&limit=20">photography</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=php&limit=20">php</a> </li> <li class="rank-3 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=plugins&limit=20">plugins</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=podcast&limit=20">podcast</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=politics&limit=20">politics</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=programming&limit=20">programming</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=protocols&limit=20">protocols</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=six%20apart&limit=20">six apart</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=star%20wars&limit=20">star wars</a> </li> <li class="rank-5 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=television&limit=20">television</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=themes&limit=20">themes</a> </li> <li class="rank-7 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=travel&limit=20">travel</a> </li> <li class="rank-3 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=video&limit=20">video</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=wordpress&limit=20">wordpress</a> </li> <li class="rank-6 widget-list-item"> <a href="http://www.majordojo.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&tag=youtube&limit=20">youtube</a> </li> </ul> </div> </div> <div class="widget-about widget"> <h3 class="widget-header">About Me</h3> <div class="widget-content"> Welcome to majordojo, powered by Mid-Century 2.0, a theme developed exclusively for Movable Type and Melody. </div> </div> <div class="widget-pages widget-archive widget"> <div class="widget-content"> <ul class="widget-list pkg"> <li class="widget-list-item first"><a href="http://www.majordojo.com/about.php">About</a></li> <li class="widget-list-item last"><a href="http://www.majordojo.com/projects/">Projects</a></li> </ul> </div> </div> <div class="widget-powered widget"> <div class="widget-content"> Powered by <a href="http://www.movabletype.com/" rel="generator">Movable Type Pro</a> </div> </div> <div class="widget-creative-commons widget"> <div class="widget-content"> <p><a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png" /></a><br />This <span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/Text" rel="dc:type">work</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License</a>.</p> </div> </div> </div> </div> </div> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-2619105-1"); pageTracker._initData(); pageTracker._trackPageview(<?php if ($_SERVER['SCRIPT_NAME'] == "/404.php") { echo "'/404.php?page=' + document.location.pathname+document.location.search"; }?>); </script> </div> </div> <div id="overlay"></div> <div id="dialog"><div id="dialog-inner"> <div id="dialog-content"></div> <a href="javascript:dialogClose();" id="dialog-close">Close</a> </div></div> </body> </html>