<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-1537762229529997465</atom:id><lastBuildDate>Fri, 13 Sep 2024 11:59:40 +0000</lastBuildDate><category>DARPA Urban Challenge</category><category>ODF</category><category>OpenOffice</category><category>Office 2007</category><category>Word 2007 Tip</category><category>machine learning</category><category>Networks</category><category>Novell OpenOffice</category><category>OOXML</category><category>Social</category><category>Twitter</category><category>XQuery</category><category>a.i.</category><category>Artificial Intelligence</category><category>DARPA</category><category>Office Open XML</category><category>Open XML</category><category>Search</category><category>Social Networks</category><category>Social Search</category><category>Sun ODF Converter</category><category>XML</category><category>change constant news</category><category>computer science</category><category>facebook</category><category>goodreads books</category><category>hci</category><category>nlp</category><category>stream</category><category>twitter google advertising money</category><category>ui design</category><title>Know It When I See It</title><description>looking at a web of people through a web of documents</description><link>http://kiwisi.blogspot.com/</link><managingEditor>noreply@blogger.com (Pete Aven)</managingEditor><generator>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-6524432943246972445</guid><pubDate>Sat, 18 Apr 2009 15:37:00 +0000</pubDate><atom:updated>2009-04-20T15:52:32.796-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">twitter google advertising money</category><title>Twitter could be better for advertisers than Google.</title><description>I&#39;ve read a ton of stuff over the last few weeks on &lt;a href=&quot;http://www.blogger.com/www.twitter.com&quot;&gt;Twitter&lt;/a&gt; and a lot of the articles seem to be in the category of &quot;How can Twitter make money?&quot; And there&#39;s been a lot of interesting ideas thrown about. I&#39;m a huge fan of Twitter and I think they actually have multiple money making opportunities available to them, but here I thought I&#39;d explore one in particular, Network Based Marketing.&lt;br /&gt;&lt;br /&gt;Now, if you know me, you know I tend not to be a fan of online companies that use advertising (or being acquired) as their sole means of generating cash. But companies pay, and get paid, billions for advertising online. I really think there&#39;s an opportunity for Twitter here, so I thought I&#39;d throw in my two-cents since I haven&#39;t read it anywhere else.&lt;br /&gt;&lt;br /&gt;Let&#39;s take a quick look at advertising. From a high-level, there&#39;s a few distinct ways for a company to advertise its products/services. A company can:&lt;br /&gt;&lt;br /&gt;1) blindly carpet-bomb a region with flyers and see who that brings in to the store/site&lt;br /&gt;2) target distinct groups within a region, send them flyers, and let those customers targeted get the word out to others for them (demographics)&lt;br /&gt;3) target social networks, send flyers to groups based on connections, let those customers targeted get the word out to others in the network for them&lt;br /&gt;&lt;br /&gt;( and 4): collaborative filtering ; fits into this list somewhere. its a hybrid of 2 and 3  and can be seen with amazon&#39;s : &quot;people who bought X also bought Y&quot; mechanism.  There&#39;s an opportunity here to, but probably requires a post of its own.)&lt;br /&gt;&lt;br /&gt;Continuing, let&#39;s take phone companies as an example because they figured out #3 a long time ago, I&#39;m sure you&#39;ve heard of the &quot;Friends and Family&quot; plans? And since there can be a lot of people in a network, I&#39;ll use a fictional character &quot;Ashton&quot; to assist with the following examples.&lt;br /&gt;&lt;br /&gt;If you carpet-bomb a region with adverts, Ashton may pick up the advert, say &quot;Oh, that looks interesting.&quot; And then forget over time to even go to the store/site to investigate that product he thought he was interested in when he first read/saw/heard the ad.&lt;br /&gt;&lt;br /&gt;You may have better luck if Ashton fits within a certain demographic, as then you can tailor the language of an advert to Ashton, but you&#39;re likely to still end up with the same results.  Worse yet, Ashton might not be recognized by the attributes used to define the demographic.  As a potential customer, Ashton may just fall through the cracks, overlooked and missed by the marketing team altogether.&lt;br /&gt;&lt;br /&gt;But if Ashton&#39;s friend or family member is sent a flyer and that member then either buys the product, investigates it, or talks about it,  Ashton will wind up having a strong connection to the product.  Some real feeling will be associated with the product/service based on the strength of the connection between Ashton and those other members of his friends and family who share their experiences of the product with him. As more members of Ashton&#39;s group adopt products/services, they provide steady reminders to Ashton of their interactions with the product/service and there&#39;s a repeating message, delivered from someone he&#39;s close with, to get to the store/site and check-out/buy those products.&lt;br /&gt;&lt;br /&gt;So, I&#39;m trying to keep this post as succinct as possible. For real detail, go check out &lt;a href=&quot;http://www.wharton.upenn.edu/faculty/hill.html&quot;&gt;Shawndra Hill&#39;s&lt;/a&gt;, Foster Provost&#39;s, and Chris Volinksy&#39;s paper on Network Based Marketing. They provide direct, statistical support for the hypothesis that network linkage can directly affect product/service adoption. I also have &lt;a href=&quot;http://askigroup.com/&quot;&gt;friends&lt;/a&gt; who were able to recreate the experiment at Yahoo! and were able to increase sales of a specific service there by targeting &quot;friends and family&quot;.   In a nutshell: consumers linked to a prior customer adopt a product/service at a rate 3–5 times greater than groups targeted using the best practices of any firm&#39;s marketing team.  So I&#39;m not making any of this stuff up, its actually based on science and research.&lt;br /&gt;&lt;br /&gt;Phone companies can determine a person&#39;s network just by monitoring who you call. They can look at the people you dial most ( and who dials you ) and can pretty easily figure out who&#39;s in your actual social network, not an online site, but the group of people you are active in and participate with daily. They&#39;ve found that instead of canvassing the nation with flyers selling the latest phones and services, they can target &quot;friends and family&quot; (the top n% of people you dial/are-dialed-by most) and have much greater success (Sales!) with their advertisements, by leveraging people&#39;s social networks. When advertisers target the right people, the advertisement information diffuses through the network, and other people end up doing marketing for the company, whether they intend to or not.&lt;br /&gt;&lt;br /&gt;Now, &lt;a href=&quot;http://www.google.com/&quot;&gt;Google&lt;/a&gt; makes a lot of money through advertising. As an advertiser you put your billboards on the streets most traveled and everyone online uses Google for search. But with Google, you have keywords and intent to help target ads. When a person searches, there is an explicit intent to know more about what they&#39;re searching for. Google advertising is similar to traditional advertising in a magazine. If you open a magazine about fishing, you don&#39;t mind seeing ads for fishing equipment. If you open a fashion mag, you expect to see ads for clothes, cologne, etc.  Online, the magazine&#39;s always changing as the pages are composed from various search results. Google targets ads based on a user&#39;s intent (keyword search terms) and the words in the page being viewed. (I&#39;m sure they also bring demographic info into the mix somewhere.) So Google gets advertisers closer to their market, and if all else fails ...&lt;br /&gt;&lt;br /&gt;Google uses a shotgun approach that&#39;s slightly more intelligent as the ads blasted at you are based on keywords in your search terms, search results, or emails. This doesn&#39;t always work out though. For this post I searched on some sample terms for examples. I searched on &quot;movie times&quot; and an ad/link came up for &quot;Gay Spirituality&quot; in addition to moviefone.com, etc. , so go figure how the algorithm works here.  Google does a great job for the most part, but could do better if they didn&#39;t have to work within certain constraints.&lt;br /&gt;&lt;br /&gt;Google/&lt;a href=&quot;http://www.yahoo.com/&quot;&gt;Yahoo&lt;/a&gt; could serve up much better adverts if they could target a person&#39;s social network. The tools they have to unlock those networks though are email and chat. Unfortunately for them, most users (us) tend to think of these as private tools. Whenever any company attempts to touch a person&#39;s contacts or inbox, issues of Privacy arise and people get seriously riled up about maintaining their anonymity/privacy. All these companies analyze our networks internally, but letting that fact out to the public scares them as they know the response will be negative.  They&#39;ve also been seriously scarred by the &lt;a href=&quot;http://en.wikipedia.org/wiki/AOL_search_data_scandal&quot;&gt;AOL fiasco&lt;/a&gt;.   So they do the best they can internally with all the data they&#39;ve stored from our interactions, but their hands are tied:  It&#39;s their &lt;a href=&quot;http://en.wikipedia.org/wiki/Kobayashi_Maru&quot;&gt;kobayashi maru &lt;/a&gt;scenario.&lt;br /&gt;&lt;br /&gt;Enter Twitter: It&#39;s all public. Tweets are all blogs. Now, the naive keep looking at follow/followcount as some indicator of a social network or a person&#39;s relevance within a network, but just how a phone company can determine a person&#39;s network by phone-number and who&#39;s calling who, we can determine a person&#39;s network on Twitter by user-id and the use of the @ sign (who&#39;s replying to who, how often, etc.). Where ever you have replies back and forth (use of @) , you can increase the relevance of the connection between individuals. Do this a few times over a few connections, and you have a closer approximation to a person&#39;s real network, not the false one found in follow/following counts.&lt;br /&gt;&lt;br /&gt;With Twitter, the privacy argument is thrown out the window. People who post on Twitter understand its a public forum. So just off simple queries based on @userid, you now have the ability to start serving ads to &quot;friends and family&quot; on Twitter. But wait, it gets even better...&lt;br /&gt;&lt;br /&gt;In addition to user-ids and the network, you also have people&#39;s conversations. People form networks around similar interests, and they naturally tend to use similar language (either determined by locale, interest, topic, lingo, etc.) within certain groups, and discuss the same products, services, events, etc.. In addition, Tweeters use the # sign to categorize discussions. So there&#39;s a tremendous amount of classification info available to enrich people&#39;s social networks with.  All that classification info can be used to build advertisements that target specific groups, and voila, you now have friends and family plans for any product via Twitter.&lt;br /&gt;&lt;br /&gt;So there&#39;s definitely an opportunity here for Twitter and a Google/&lt;a href=&quot;http://www.microsoft.com/en/us/default.aspx&quot;&gt;Microsoft&lt;/a&gt;/Yahoo search division to partner. Even off of simple keywords in tweets you&#39;d probably get better targeted ads as you could tailor keyword dictionaries based on the network and the domain its in.&lt;br /&gt;&lt;br /&gt;Personally, I think that should be a short-term goal. Twitter could target ads better using a combination of a person&#39;s network, the context of keywords within tweets, and behavior.  Mobile fits in here too of course.&lt;br /&gt;&lt;br /&gt;But right now, with some simple social network analysis and some simple keyword usage of their own, Twitter could deliver their own adverts and they&#39;d be way more effective for advertisers than what they&#39;re paying for with the traditional approaches used by search companies today. Leveraging what Twitter has for advertising could be a way to bring in some revenue in the short-term, until other opportunities manifest themselves in Twitter&#39;s other plans and innovations.  Even if they come out with a different, successful business plan tomorrow, it seems there&#39;s a huge opportunity for revenue here that shouldn&#39;t be overlooked.  And as they&#39;ll be able to distribute ads with an improved targeting mechanism that will be more effective for advertisers, Twitter shouldn&#39;t have to distribute as many ads to still make some serious coin.&lt;br /&gt;&lt;br /&gt;I get very excited about the opportunities available to Twitter. I have an interest in using both &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_language_processing&quot;&gt;NLP&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Social_network_analysis&quot;&gt;SNA&lt;/a&gt; to help people find what they&#39;re looking for online and in the enterprise. Twitter&#39;s dataset is perfect for this!    The plan is to post here soon with some demonstrations that leverage the Twitter API.  But until then, you all really need to check out what &lt;a href=&quot;http://m.twitter.com/petewarden&quot;&gt;@petewarden&lt;/a&gt; has created with &lt;a href=&quot;http://twitter.mailana.com/&quot;&gt;Mailana&lt;/a&gt;.  He&#39;s already started to deliver tweeter&#39;s social networks based on who&#39;s actually communicating with each other. Very cool.</description><link>http://kiwisi.blogspot.com/2009/04/could-twitter-be-better-for-advertisers.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-4838671861966032193</guid><pubDate>Mon, 09 Mar 2009 18:49:00 +0000</pubDate><atom:updated>2009-03-09T13:16:50.069-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">facebook</category><category domain="http://www.blogger.com/atom/ns#">Networks</category><category domain="http://www.blogger.com/atom/ns#">Social</category><category domain="http://www.blogger.com/atom/ns#">stream</category><category domain="http://www.blogger.com/atom/ns#">Twitter</category><title>Facebook/Twitter Networks and the Stream</title><description>Facebook will be updating its user&#39;s home pages very soon, and much has already been made about how these pages are going to become more Twitter-esque in appearance and functionality.    Status updates and postings from friends will now take center stage, updating in real time.  &lt;a href=&quot;http://www.facebook.com/sitetour/homepage_tour.php&quot;&gt;The tour of the updated home&lt;/a&gt; page looks very cool; it&#39;s like Twitter on steroids.  I&#39;m excited to see what it will look and feel like when it&#39;s released, and how it will be used by those on the Book.&lt;br /&gt;&lt;br /&gt;But I don&#39;t think Facebook or Twitter will immediately dominate the other company for their user base anytime soon.  The updated FB home page presents a major shift in the way social network home pages have been used up to now, and it may take some time for people to shift away from the Twitter, and put all their eggs in the FB basket.  I could be completely wrong, so it will be interesting to see what happens.  But the different types of networks and the strengths of the ties people have with one another on Twitter vs. Facebook may present a challenge to any FB/Twitter plan for FB/Twitter/World dominance.&lt;br /&gt;&lt;br /&gt;Here&#39;s why: On Twitter, my profile is kind of a sidenote. Not much is made of it by users, and it&#39;s not something we look at or groom.  It&#39;s more like a concise business card providing a little insight into who we are. We can post and never reply to anyone if we wish.  When we follow/unfollow/block a fellow Twitterer, it&#39;s just opening and closing different pipes of communication.  Who follows me or who I follow may something about who I am, but probably doesn&#39;t, so I don&#39;t think you can assign to much relevance to the connections, as people are just opening and closing circuits to find posts they&#39;re interested in.&lt;br /&gt;&lt;br /&gt;Many times the follower/following people have never met each other in real life, or even communicated directly with one another on Twitter.  Also, networks of communication come and go . Networks of communication are established ad-hoc on Twitter based on common interest areas, goals, and shared experiences.  For example:  People may only tweet at a conference, because everyone else is.   Or at that conference was the only time people had a common interest/goal to tweet with each other about.  People come and go on Twitter, and there&#39;s a ton of people tweeting, so we get to maintain some level of anonymity.&lt;br /&gt;&lt;br /&gt;In a nutshell: Twitter&#39;s a personality subscription service that enables ad-hoc interest networks to form and share information. The networks are very dynamic and subject to rapid change.&lt;br /&gt;&lt;br /&gt;On Facebook, I have to request a friendship, I have to say how I know that person, they have to confirm and agree to the connection. I may have to provide an email address as proof of my participation in a group.  There are lots of pictures of us; some posted by us, some posted by others, we get tagged.   Our profiles include much richer information that we enter ourselves when we set up our home pages.  We tailor that info for our audience, which includes our  families, our friends, our coworkers; all people who get to see each other once we&#39;re &quot;friends&quot;.  These connections have a lot of relevance as they&#39;re people we interact with in everyday life, or have interacted with seriously at some point in life.&lt;br /&gt;&lt;br /&gt;There&#39;s ZERO anonymity, the connections are much more meaningful, and the connections are much more static.  The connections I have on FB I had long before there ever was a FB, and will be with me for the rest of my life. These links include shared history and experience that motivate us to stay in touch, either willfully or by obligation.  These connections also have levels of trust and reputation associated with them.&lt;br /&gt;&lt;br /&gt;Twitter to me is like going to the pub after work, or to a party on Saturday night.     You meet up with a group of people.  This group may include people  you know, maybe not.  You have a few drinks, talk a bunch of smack, tell jokes, do something crazy,  then go home... to Facebook.&lt;br /&gt;&lt;br /&gt;Facebook&#39;s where I present my best face.  I may not want my Mom or the CEO from my company to know who I was with at the pub.  I may not want them to know what we we&#39;re talking about earlier, or the jokes that were told, that information could be completely inappropriate for them.&lt;br /&gt;&lt;br /&gt;So though Facebook&#39;s updated home page and Twitter&#39;s standard functionality may look similar, they actually support different groups of people with different motivations.   Knowing this, it&#39;ll be very interesting to see what happens in the future with their services and what action each company takes to support and capitalize off of its respective audience.</description><link>http://kiwisi.blogspot.com/2009/03/facebooktwitter-networks-and-stream.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-8768993731094154898</guid><pubDate>Sun, 08 Mar 2009 21:01:00 +0000</pubDate><atom:updated>2009-03-09T11:47:42.362-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Networks</category><category domain="http://www.blogger.com/atom/ns#">Search</category><category domain="http://www.blogger.com/atom/ns#">Social</category><category domain="http://www.blogger.com/atom/ns#">Twitter</category><title>Twitter, Networks, and Finding What I&#39;m Looking For</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;I thought I&#39;d try and put  some of my thoughts on Twitter out there in-a-nutshell style. Enjoy!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-family:georgia;font-size:130%;&quot;  &gt;Twitter 101&lt;/span&gt;&lt;br /&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://twitter.com/&quot;&gt;Twitter&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; is a worldwide party that everyone&#39;s been invited to.  Throughout the duration of the  party, people come and go. While present,  people contribute to conversations and the party in general in the form of mini blog posts called &quot;tweets&quot;.   You show up and can choose to walk around and enter/check-out the conversations at will.  You can listen to what people have to say, or you can participate and give back by posting your own tweets.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;You listen in by choosing to &quot;follow&quot; someone.  People have the option of not letting you listen in, and can insure you/others won&#39;t ruin their existing conversations with inappropriate remarks by not following and/or &quot;block&quot;ing you. Likewise, if you follow someone and they turn out to be a jackass, or talk about things you don&#39;t really care about, you can choose to not follow them anymore as well.  In this way you can control the endless stream of information that&#39;s generated in tweets by those in attendance and tailor the flow of communication to meet to your personal requirements/desires/etc.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Score-Double-Bonus-Action:  You know when you go to a real party, and you&#39;re standing with a group of people having a great conversation, and some jackass keeps interrupting with something that&#39;s inappropriate, a downer, or just plain offensive?  Well, imagine if you had a mute button for that person.  Or how about when the conversation you were previously interested in has deteriorated to a point where you want to just walk away, but don&#39;t want to seem rude in doing so?  Well, Twitter provides us with both options and both are acceptable behavior in Twitterville. Sweet!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I call them conversations, and sometimes they are. We can reply to each other on twitter and when we reply, its a direct reply to the original tweeter as well as a remark shared with those following the conversation.  Others may choose to chime in with their own replies, either directly addressing a person, or just contributing to the conversation in general by tagging their comment with a #identifier. Many times though, a &quot;conversation&quot; is very one-sided; it&#39;s really a broadcast.  (You always have people at the party who talk to show off and/or hear themselves speak, but don&#39;t really care or know how to listen to what others have to say.)   After you&#39;ve &quot;follow&quot;ed several people, you really end up using the follow/nofollow/block options to help harvest the large river of broadcasts you want to subscribe too/participate in.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-family:georgia;font-size:130%;&quot;  &gt;Technology + People = Twitter&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I won&#39;t say Twitter is  simple technology. And simple does not mean easy. Digging a ditch is simple but not easy. You have a shovel, some dirt, you dig, simple right?  Well, you&#39;re going to get calluses and blisters, the Sun&#39;s going to beat down on you, you&#39;ll hit rocks as you dig:  Not easy stuff! So while Twitter&#39;s UI and communication mechanisms seem simple, we know there are some serious challenges too keeping the river of communication flowing, and &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://www.flickr.com/photos/crispy_chips/3280039581/&quot;&gt;major props&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; go to the Twitter team there!  The mechanisms provided by Twitter that enable people of shared interest to communicate with and find each other are just enough.  The rest of the magic and awesomeness that is Twitter and the reason many find it so useful and valuable is really delivered through the people and their tweets.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;People who tweet are usually bringing something to the party, in the form of sharing news, information, insights, links to blog posts, and/or other resources that we&#39;re all interested in (globally and locally).  Some of that info has no other source than word of mouth, and Twitter gives people a real-time broadcast mechanism for information that might otherwise not be reported until later (or at all).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Back to our real party analogy:  You know those people/friends who always show up to the party with something to share: beer/jokes/stories to tell/food, etc.?  And then there are those who tend to always be the mooches?  Well, I haven&#39;t found too many mooches on Twitter.  Also, if there&#39;s a fire down the street, someone usually enters the party and says &quot;did  you know so-and-so&#39;s home is on fire?&quot;.  You learn about it then and there and can take action if required, as opposed to learning about it the next day in the paper, online, etc. or when the fire eventually  spreads to your home.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;On Twitter, existing relationships can be maintained, and new relationships are formed within these networks of constant communication that start with a simple &quot;follow&quot; relationship and naturally evolve over time. My interests lie primarily in &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/timoreilly&quot;&gt;technology&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; and &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/zadi&quot;&gt;new media&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  Specifically, I follow people who are doing something with &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/kurt_cagle&quot;&gt;XQuery&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/Saganist&quot;&gt;NLP&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/marc_smith&quot;&gt;Social Network Analysis&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/djjustinjohnson&quot;&gt;Music&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, and &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://twitter.com/stevewoolf&quot;&gt;Vlogs&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.   So sometimes these people participate in the same discussions because they move in the same circles for a certain topic area, and many times they don&#39;t. But I get to listen and participate in it all.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Imagine going to a party attended by all the people who you consider to be the coolest and most insightful for all the stuff you&#39;re interested in and you have the opportunity to talk to them all and/or hear them speak that night.  Your interests are somewhat disparate, so these people are standing around having great discussions about the things you appreciate most,  but they are also all maintaining their discussions in distinctly separate groups. You want to talk to them all, but during the course of the night, you will only have a chance to participate in 1 or 2 of the discussions at most.  On Twitter, we&#39;re given the means to participate with everybody we&#39;re interested in and in all groups, and oh yeah, no time limit: the party never ends!  Woo-Haa!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Twitter provides me with access to others of common interest and an opportunity to hear and be heard.  It&#39;s a lot of fun, but also extremely useful.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-family:georgia;font-size:130%;&quot;  &gt;How Twitter Helps Me Find Stuff&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;1) Twitter provides me with access to people who already have answers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;With Twitter I&#39;ve been given access to communication networks of common interest.  Yesterday I tweeted that I was looking for something.  Before I even had a chance to Google it, a person with whom I&#39;d formed a mutual &quot;follow&quot; relationship 2 days prior (around a shared interest in XQuery) replied with a solution immediately.  Boom! Immediate answers!, not just a list of links to explore. (and the question/answer had nothing actually to do w/ XQuery.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;2) Twitter creates parallel Googling.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;When I &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://www.google.com/&quot;&gt;Google&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, I Google alone. Google&#39;s great, but Google to me is like the &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://www.amazon.com/gp/product/images/B00001ZWV7/ref=dp_otherviews_2?ie=UTF8&amp;amp;s=toys-and-games&amp;amp;img=2&quot;&gt;magic 8 ball&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; of search. I enter a term, shake vigorously, and check out the first few pages of the 8 billion links returned in the window.  If I don&#39;t find what I&#39;m looking for, I change the question, shake again, repeat, etc. and hopefully at some point I finally find an answer I&#39;m satisfied with.   On Twitter, I&#39;ll have a number of people in my network Googling alongside me for the same resource, entering keywords based on their way of thinking as opposed to mine, and/or seeing things I may miss. Now I don&#39;t specifically ask people to Google.  But if they have the same interests I do, chances are they&#39;re interested in finding the same info and may be looking for it already.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Usually people within a network search for the same things.  So what I&#39;m looking for or have found, someone else in my network is likely to look for in the future and/or has found an answer for already. So why even Google everything on the internet when my network will be looking for similar resources within a much smaller domain?  An example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Imagine we&#39;re all in the same history class, and the day&#39;s assignment is to write a certain essay on &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/George_washington&quot;&gt;George Washington&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  When we go to do the homework that night, we&#39;ll all be looking for the same resources!  So we can start with Google, which will give us results based on the keywords in our query, with no context or respect for the network we&#39;re in and what may have been searched/found for by us already,  or we can tweet and see if anyone from class has already found some resources for us to start reviewing.  If I find something, I can post the link on Twitter to be helpful, as I know others in my network from class (you, in this example) will be looking for it too.  Maybe someone in the group did a report last year on a related topic, has some info to share, and tweets that.  Or maybe someone&#39;s Dad just happens to be some sort of George Washington expert and tweets that!  Twitter helps expose and take advantage of all that information.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;With Twitter our search is augmented by the number of eyeballs, brains, and experiences attached to our follower/following network and people on Twitter tend to want to be helpful.  People may have a direct link to us through a &quot;follow&quot;ing relationship, or they may just find us based on our previous tweets using a tool like &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://search.twitter.com/&quot;&gt;summize&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;3) Twitter helps me find stuff that isn&#39;t on the internet.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Google works great if what I&#39;m looking for is on the internet, but on Twitter, through my network, I&#39;m given help to find stuff in the real world that might not be indexed by a traditional  search engine.  Questions get answered and information gets shared about events and meet ups that occur in the real world for which there may be nothing to search for until someone blogs about it or reports on it after the fact.  How about our George Washington expert above?  Maybe there&#39;s nothing online about our friend&#39;s parent who can help us with our report, but Twitter just helped us find that person through a network of shared interest and common goal.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;4) Twitter provides me with answers before I even figure out how to ask the question.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;One of the qualities I find most valuable and appreciate the most about Twitter, is the &lt;span style=&quot;font-weight: bold;&quot;&gt;IDKWIIBIKIWISI&lt;/span&gt; factor.&lt;/span&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;&quot; &gt;   (I don&#39;t know what it is, but I&#39;ll know it when I see it.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;How many of us spend time looking for that?  I spend a lot, hence the name of the blog.  But on Twitter, the information finds me, shared by people with similar interests through a simple tweet.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Twitter&#39;s just the &lt;/span&gt;&lt;a style=&quot;font-family: arial;&quot; href=&quot;http://science.howstuffworks.com/question410.htm&quot;&gt;utility for communication&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  Twitter doesn&#39;t have any logic to provide users with what they&#39;re looking for, but it enables people to fuel, view, and direct information so it gets to the people who have an interest in it. The networks that naturally form through &quot;follow&quot;ing expose me to conversations and resources I didn&#39;t even know existed, and/or wouldn&#39;t even know how to begin searching for. And its all just links, times, dates, addresses, and other resources people within a given interest group share through tweets as they find them. The end result is I get to learn more about the stuff I&#39;m actually interested in, and I don&#39;t even have to go out and look for it,   just start following and tweeting, and eventually someone finds me and/or shares.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2009/03/partying-on-twitter-and-how-it-helps-me.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-4745379003038283575</guid><pubDate>Sun, 01 Mar 2009 18:43:00 +0000</pubDate><atom:updated>2009-03-01T11:19:44.286-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">change constant news</category><title>Rocky Mountain News Final Edition</title><description>Part moving tribute, part documentary, this is 20 minutes i found fascinating.  The people who report and make the paper happen are so dedicated , hard-working, intelligent, and sincere. The video really demonstrates the love and respect reporters have for their jobs and their readers, as well as the value a newspaper brings to a community.  The vid also captures some valid insights comparing the value of reporters and papers to bloggers and the internets.  Yet the newspaper absolutely refuses to change anything about its business model and that&#39;s shown here as well.&lt;br /&gt;&lt;br /&gt;It&#39;s like watching people on a fast moving train headed for a collapsed tunnel.  They know they&#39;re going to crash, but they think they&#39;re just passengers, so they keep doing what they do best (reporting), until the train finally crashes.  Since papers refuse to change absolutely anything about themselves, it appears currently these people only have the choice of trying to find another doomed train to ride. &lt;br /&gt;&lt;br /&gt;I&#39;m rooting for a group to wake up, change the newspaper model, take the best of what this group offers, and succeed where EW Scripps fails so miserably. &lt;br /&gt;&lt;br /&gt;See for yourself:&lt;br /&gt;&lt;br /&gt;&lt;object width=&quot;400&quot; height=&quot;225&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=3390739&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=3390739&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; width=&quot;400&quot; height=&quot;225&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href=&quot;http://vimeo.com/3390739&quot;&gt;Final Edition&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/bluerogue&quot;&gt;Matthew Roberts&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.</description><link>http://kiwisi.blogspot.com/2009/03/rocky-mountain-news-final-edition.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-293985548606233315</guid><pubDate>Tue, 29 Jul 2008 00:17:00 +0000</pubDate><atom:updated>2008-07-28T21:01:48.980-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Word 2007 Tip</category><title>Word 2007 Tip of the Day: Re-Enable Your AddIn</title><description>Sometimes Word will disable AddIns.   You&#39;ll be looking for a Custom Task Pane you&#39;ve installed, or maybe some Ribbon customization, and the AddIn will seem to have just disappeared.    Why does Word do this?  Oh, it could be one of many reasons: You may install an AddIn that has the same namespace as another you&#39;ve already installed, or maybe you monkeyed with the XML in a .docx and Word choked on your edits when it tried to open the document.  For whatever reason, when Word experiences a conflict with AddIns or XML within documents, it will disable AddIns and focus on recovering the document.&lt;br /&gt;&lt;br /&gt;You don&#39;t have to re-install the AddIn.  Just go re-enable it.&lt;br /&gt;&lt;br /&gt;Tip #3: Re-Enable your AddIn&lt;br /&gt;&lt;br /&gt;1) Goto The Button&lt;br /&gt;                                  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s1600-h/button.png&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s200/button.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460997461854850&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2)Click Word Options&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pcxvxHlXEF1iI-LN4kBydSlyG8ivXJBcCGgZOOxO1sBvHdA3IQf4-cVu3jBuO_NGwttA30P4goBW-JSasbPDadwkY0m4cgpqeMlPXPF3Es0wNRs26Xk2fHkVC9AgeM42Y0wNgpfSlRkK/s1600-h/wordoptions.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pcxvxHlXEF1iI-LN4kBydSlyG8ivXJBcCGgZOOxO1sBvHdA3IQf4-cVu3jBuO_NGwttA30P4goBW-JSasbPDadwkY0m4cgpqeMlPXPF3Es0wNRs26Xk2fHkVC9AgeM42Y0wNgpfSlRkK/s200/wordoptions.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460539878838706&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3)Select AddIns in the left Pane of the &quot;Word Options&quot; dialog.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2skFQwUWfawjD0ce9GlIIr9NEP2Umbg5u-jrfEVKB2bFCQGx0KvWZYYMONR5loNYLW6RPyO0TeDcvb-8TFRBnB1-AszpAISO2AvZDZqJrHtTySNLobWNxGzib01YPj3w9CmGKU91DrS3x/s1600-h/addinsselect.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2skFQwUWfawjD0ce9GlIIr9NEP2Umbg5u-jrfEVKB2bFCQGx0KvWZYYMONR5loNYLW6RPyO0TeDcvb-8TFRBnB1-AszpAISO2AvZDZqJrHtTySNLobWNxGzib01YPj3w9CmGKU91DrS3x/s320/addinsselect.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5228276166187477410&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) Select COM Add-ins in the dropdown next to &quot;Manage&quot; at the bottom of the &quot;Word Options&quot; dialog, and click &quot;Go...&quot;.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAL7yimaMMjMsiHehCeBU-zkPzifzHxDQDwfymdK6ZKUgvsLNr0EnPveC8sO6cMo8z5wc0bORsetcin6FBBpveHIMjP-C1OKenF5sgxO7hFaOECKImfXJbb4MxM57PSn-6CMm6Qle6wnO1/s1600-h/comaddinsgo.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAL7yimaMMjMsiHehCeBU-zkPzifzHxDQDwfymdK6ZKUgvsLNr0EnPveC8sO6cMo8z5wc0bORsetcin6FBBpveHIMjP-C1OKenF5sgxO7hFaOECKImfXJbb4MxM57PSn-6CMm6Qle6wnO1/s320/comaddinsgo.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5228276716258484914&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5)Check the checkbox next to the AddIn you want to enable and then click &quot;OK&quot;.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJmGxViipnW75rXNZ6O_AgNwOCX_gG0ieqztmqOHCymWb2nEe2XH4V06-ByWWMN38TpnPdnXS9rNGSDKSzWCZ1UbPPhG1zncZd-zxOO4TL_9EzZ2oZDU97c2cNRe05K6e-zh3_BYgS74G/s1600-h/comaddinssel.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgJmGxViipnW75rXNZ6O_AgNwOCX_gG0ieqztmqOHCymWb2nEe2XH4V06-ByWWMN38TpnPdnXS9rNGSDKSzWCZ1UbPPhG1zncZd-zxOO4TL_9EzZ2oZDU97c2cNRe05K6e-zh3_BYgS74G/s400/comaddinssel.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5228277751921287186&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of the time, this re-enables our AddIn successfully until the next time we hammer Word with an AddIn or document it doesn&#39;t like. &lt;br /&gt;&lt;br /&gt;If the AddIn fails to enable, Word may provide a reason as to why it can&#39;t re-enable the AddIn. This may, or may not, be helpful. Or, the AddIn may just fail silently and fail to enable.  Most of the time I&#39;m able to re-enable an AddIn without issue, but there&#39;s something else we can do to help us identify issues when enabling AddIns.  That&#39;s a tip for tomorrow though.</description><link>http://kiwisi.blogspot.com/2008/07/word-2007-tip-of-day-re-enable-your.html</link><author>noreply@blogger.com (Pete Aven)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s72-c/button.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-4951999755297289140</guid><pubDate>Mon, 28 Jul 2008 02:48:00 +0000</pubDate><atom:updated>2008-07-27T20:29:00.939-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Word 2007 Tip</category><title>Word 2007 Tip of the Day: Document Properties</title><description>You can add document properties to Word docs. If you want to do this regularly, you can just add an icon to the Quick Access Toolbar that will display the Document Properties form for you.&lt;br /&gt;&lt;br /&gt;Tip #2: Add Document Properties to the Quick Access Toolbar&lt;br /&gt;&lt;br /&gt;1) Next to The Button&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s1600-h/button.png&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s200/button.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460997461854850&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;is an area called the Quick Access Toolbar, in it you&#39;ll see icons for saving, redo, and undo.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPhl_0WCL51Fk5K4yWxGHjoZLd4gQXbQj1T-I35h-kjSO_Kl5MYg-uni6WKqbUxMsK-5ea0R7dfGgR61G9sQcvn5uDGgLM-4OME5NKc_SLecwmfDk-Cz7gyOu2kY2MLewvjekUNeIwblj/s1600-h/qat.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPhl_0WCL51Fk5K4yWxGHjoZLd4gQXbQj1T-I35h-kjSO_Kl5MYg-uni6WKqbUxMsK-5ea0R7dfGgR61G9sQcvn5uDGgLM-4OME5NKc_SLecwmfDk-Cz7gyOu2kY2MLewvjekUNeIwblj/s200/qat.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227895735132564098&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Click the down arrow on the right side of the QAT.&lt;br /&gt;&lt;br /&gt;2) Select &quot;More Commands&quot; from the menu.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtWwSpBIdseSsQ1T5QqPbeb0GGga3kWVf_Y2XfQVYAhqk6Wt77fxWUgTWxOiVxGnk78NNgABo4LLCtFGTrCvByREKZbqPl_6Cy_GgO7YCNwlmmbG4nq_5G5utbsA3z7Uszl04fFOJJ5Lt8/s1600-h/qatmenu.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtWwSpBIdseSsQ1T5QqPbeb0GGga3kWVf_Y2XfQVYAhqk6Wt77fxWUgTWxOiVxGnk78NNgABo4LLCtFGTrCvByREKZbqPl_6Cy_GgO7YCNwlmmbG4nq_5G5utbsA3z7Uszl04fFOJJ5Lt8/s200/qatmenu.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227896353410391442&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Word Options dialog appears, and it&#39;s opened to the Customize tab.&lt;br /&gt;&lt;br /&gt;3) Under &quot;Choose Commands From&quot; above the left pane, select &quot;All Commands&quot;.&lt;br /&gt;4) Scroll down the left pane and select &quot;Properties&quot;.&lt;br /&gt;5) Click the Add button in the center of the panes.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisS6izWGXFRTTgxsXu8AsDAikuWZziAb-6ek8Fl2KkGLfZQzSi5412ORuCAlGi7mtnoHT43QRNw7v_dNjrq6rObpAfcy8LrpWS1cpyIliovSMEYv9aFnPYbFxvr6ubcCiQn1F4NeGs5RcB/s1600-h/propssel.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 328px; height: 173px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisS6izWGXFRTTgxsXu8AsDAikuWZziAb-6ek8Fl2KkGLfZQzSi5412ORuCAlGi7mtnoHT43QRNw7v_dNjrq6rObpAfcy8LrpWS1cpyIliovSMEYv9aFnPYbFxvr6ubcCiQn1F4NeGs5RcB/s400/propssel.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227898505040393826&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In the right pane, you&#39;ll see the icon for Document Properties, added to the already existing icons in the QAT.&lt;br /&gt;&lt;br /&gt;6) Click the OK button on the lower right.&lt;br /&gt;7) Now click the Document Properties icon to display the default properties form for Word documents.&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOD4EaPp9YxOPzd10f_zh6Yv3KRb9yJ7On6pPJTdch1xlBjiCkvUG8KuI-Bmd2GtGEiLeChrAKGmvFgJivzjhcsg-3DUUGR8E8MrDWBFNbQ9duqizUZkQJDOUEQ6aqC4RiQk3Mqb9BTD9z/s1600-h/qat2.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOD4EaPp9YxOPzd10f_zh6Yv3KRb9yJ7On6pPJTdch1xlBjiCkvUG8KuI-Bmd2GtGEiLeChrAKGmvFgJivzjhcsg-3DUUGR8E8MrDWBFNbQ9duqizUZkQJDOUEQ6aqC4RiQk3Mqb9BTD9z/s200/qat2.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227900366409623506&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can enter data into this form that will be saved as metadata in a piece named  /docProps/core.xml within the .docx package.</description><link>http://kiwisi.blogspot.com/2008/07/word-2007-totd-document-properties.html</link><author>noreply@blogger.com (Pete Aven)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s72-c/button.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-6987223239132767631</guid><pubDate>Sat, 26 Jul 2008 22:40:00 +0000</pubDate><atom:updated>2008-07-26T16:10:38.189-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Word 2007 Tip</category><title>Word 2007 Tip of the Day: Enable the Developer Tab</title><description>OK peeps, as notes to myself, and to help others who frequently ask, I&#39;m going to try and just post a Word tip of the day on a regular basis.  (Not every day, let&#39;s not get carried away now.)  If we&#39;re dealing with something genuinely cool, maybe we&#39;ll even give it a Tip of the Hat, and if it sucks, a Wag of the Finger. To Start:&lt;br /&gt;&lt;br /&gt;Tip #1: Enable the Developer Tab&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: left;&quot;&gt;1) Goto The Button&lt;br /&gt;&lt;br /&gt;                                        &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s1600-h/button.png&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s200/button.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460997461854850&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;2)Click Word Options&lt;br /&gt;&lt;br /&gt;                                          &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pcxvxHlXEF1iI-LN4kBydSlyG8ivXJBcCGgZOOxO1sBvHdA3IQf4-cVu3jBuO_NGwttA30P4goBW-JSasbPDadwkY0m4cgpqeMlPXPF3Es0wNRs26Xk2fHkVC9AgeM42Y0wNgpfSlRkK/s1600-h/wordoptions.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-pcxvxHlXEF1iI-LN4kBydSlyG8ivXJBcCGgZOOxO1sBvHdA3IQf4-cVu3jBuO_NGwttA30P4goBW-JSasbPDadwkY0m4cgpqeMlPXPF3Es0wNRs26Xk2fHkVC9AgeM42Y0wNgpfSlRkK/s200/wordoptions.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460539878838706&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3)Check the box: Show Developer Tab in the Ribbon&lt;br /&gt;&lt;br /&gt;  &lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYesPWC5EsvXAxpQtYEfFFRVkDFuFHq7jQ74NlcmnTjHYScgt3BqXBlWKkRCVXZUkw1X0xdtJ5iReKVaG8S0YhqR_gGs_pLxRjeh_xn4av_r2dAkNCdwvAUWy9ScsXD5eSLO_9WclqKUUb/s1600-h/showDevTabChkBox.PNG&quot;&gt;&lt;img style=&quot;cursor: pointer; width: 200px; height: 17px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYesPWC5EsvXAxpQtYEfFFRVkDFuFHq7jQ74NlcmnTjHYScgt3BqXBlWKkRCVXZUkw1X0xdtJ5iReKVaG8S0YhqR_gGs_pLxRjeh_xn4av_r2dAkNCdwvAUWy9ScsXD5eSLO_9WclqKUUb/s200/showDevTabChkBox.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227460325977253138&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) Click OK, and Boo-Yaa!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAT0Tqt5_p6cex7cMA5ABWf4P3c1amZ1qaw9edlLgUxkT2JpTB71oMQa1oy0I7ofloLtLuvlX4P86cP9UfoRpVL9E5TYj4xEV70u4Ykdfy9r7GiNka-29a2pReOVcFeMT3byWU5rx4BPBz/s1600-h/OK.PNG&quot;&gt;               &lt;img style=&quot;cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAT0Tqt5_p6cex7cMA5ABWf4P3c1amZ1qaw9edlLgUxkT2JpTB71oMQa1oy0I7ofloLtLuvlX4P86cP9UfoRpVL9E5TYj4xEV70u4Ykdfy9r7GiNka-29a2pReOVcFeMT3byWU5rx4BPBz/s200/OK.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5227461661356399826&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Goto the Developer Tab and Enjoy!&lt;br /&gt;&lt;br /&gt;The plan is to use this space to capture interaction with Word documents through the Word 2007 UI as well as to provide C# and XQuery examples of how to manipulate these docs on the Server or in an AddIn.</description><link>http://kiwisi.blogspot.com/2008/07/word-2007-tip-of-day-enable-developer.html</link><author>noreply@blogger.com (Pete Aven)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2AaPMHxzr_fin36LC1fRNcmhSx5V8LNYVJZt_dD0rz7214-Cjlu92DT5x5RzG0U9713rE2bPfB4ZmpFdNaSl-fBeg5FD6aIrvRagq1hKF33xaLzQdFZfiju7luofJv-7eqE5k36HVhnpY/s72-c/button.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-3068301464622483812</guid><pubDate>Fri, 01 Feb 2008 21:31:00 +0000</pubDate><atom:updated>2008-02-01T13:33:08.471-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Social Networks</category><category domain="http://www.blogger.com/atom/ns#">Social Search</category><title>Social Search</title><description>It&#39;s here, check out &lt;a href=&quot;http://www.delver.com/&quot;&gt;Delver&lt;/a&gt; and this article on &lt;a href=&quot;http://www.technologyreview.com/Infotech/20138/&quot;&gt;Technology Review.&lt;/a&gt;</description><link>http://kiwisi.blogspot.com/2008/02/social-search.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-9006484192319743753</guid><pubDate>Mon, 07 Jan 2008 01:11:00 +0000</pubDate><atom:updated>2008-01-06T19:07:30.410-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ODF</category><category domain="http://www.blogger.com/atom/ns#">Office 2007</category><category domain="http://www.blogger.com/atom/ns#">Open XML</category><category domain="http://www.blogger.com/atom/ns#">OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">XML</category><category domain="http://www.blogger.com/atom/ns#">XQuery</category><title>ODF vs. OpenXML: Win or Lose, We Win</title><description>&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;Happy New Year All!  Ok, I&#39;ve been meaning to post this for awhile now, and I recently had a friend ask me about it, so here we go.&lt;br /&gt;&lt;br /&gt;I&#39;m very excited about XML, XQuery, and XML servers.  As one who&#39;s toiled in many a RDBMS trying to do something useful with unstructured/semi-structured data, this tech brings some serious heat to the party.  Right now, as many know, there&#39;s this war going on for what&#39;s going to be the document format of the future.  It&#39;s like the documents are the spice and &lt;a href=&quot;http://en.wikipedia.org/wiki/House_Harkonnen&quot;&gt;Baron Harkonnen&lt;/a&gt; can be heard saying &quot;HE WHO CONTROLS THE FORMAT, CONTROLS THE UNIVERSE!&quot;.      &lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;(  That&#39;s a Dune movie reference people. )&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While the last comment is meant to bring levity to the situation,  people really seem to take their document formats very, very seriously.  With all that&#39;s going on in the world, I&#39;m often amazed at the amount of energy put into championing one format over another, but this is the thing: at the end of the day, Open Office documents and Office 2007 documents are just bags of XML now, so win or lose in this battle, we win.&lt;br /&gt;&lt;br /&gt;Once we have the XML, we can make the documents into anything we want them to be.  With an XML server, XQuery, and minimal knowledge about the formats,  it&#39;s ridiculously easy to change a document of one format type into the other or even some completely different format altogether.  So today I thought I&#39;d provide a simple example.&lt;br /&gt;&lt;br /&gt;We&#39;ll start with the Excel 2007 spreadsheet from this &lt;a href=&quot;http://developer.marklogic.com/columns/smallchanges/2007-12-04.xqy&quot;&gt;previous post&lt;/a&gt; and an OpenOffice Calc spreadsheet using the parts I&#39;ll provide below.  You can either create these using XQuery, or just create the individual files manually and zip them up to create the .xlsx and .ods documents.  I&#39;ve named my documents, creatively enough, as Sheet1.ods and Sheet1.xslx.  Once you have the pieces that compose the files, load them into you XML server.&lt;br /&gt;&lt;br /&gt;For this example, I&#39;m using &lt;a href=&quot;http://developer.marklogic.com/download/default.xqy&quot;&gt;MarkLogic Server&lt;/a&gt; of course.  &lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;span&gt;I&#39;ve loaded the pieces into a directory structure, where the the filename is the name of the directory;  Each XML file that comprises the package for the document can be found in the directory named for the file it originated from.  An example file in my server has the name &quot;/Sheet1.ods/content.xml&quot;.&lt;br /&gt;&lt;br /&gt;Ok, it looks like there&#39;s a lot here, but there isn&#39;t really.  And it&#39;s hard to publish stuff like this on the web, so, I suggest either A)  &lt;a href=&quot;http://www.vim.org/download.php&quot;&gt;downloading vim&lt;/a&gt; and cutting and pasting the XML and XQuery into a .xml or .xqy file.  ( In vim,  you&#39;ll get syntax highlighting.)  or B) Crank up the size of the text in the browser. ( In firefox that&#39;s: View -&gt; Text Size -&gt; Increase++ )&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:130%;&quot;&gt; &lt;span style=&quot;font-weight: bold;font-family:georgia;font-size:100%;&quot;  &gt;Create A Calc Spreadsheet&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:85%;&quot;  &gt;A simple Calc spreadsheet has two pieces, the manifest and a content.xml file.&lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:85%;&quot;  &gt;Save the following as META_INF/manifest.xml:&lt;/span&gt;&lt;br /&gt;&lt;pre  style=&quot;color: rgb(153, 0, 0);font-family:georgia;&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&amp;lt;manifest:manifest xmlns:manifest=&quot;urn:oasis:names:tc:opendocument:xmlns:manifest:1.0&quot;&amp;gt;&lt;br /&gt;&amp;lt;manifest:file-entry manifest:media-type=&quot;application/vnd.oasis.opendocument.spreadsheet&quot; manifest:full-path=&quot;/&quot;/&amp;gt;&lt;br /&gt;&amp;lt;manifest:file-entry manifest:media-type=&quot;text/xml&quot; manifest:full-path=&quot;content.xml&quot;/&amp;gt;&lt;br /&gt;&amp;lt;/manifest:manifest&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Save the following as content.xml:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(255, 0, 0);font-family:georgia;font-size:85%;&quot;  &gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:document-content office:version=&quot;1.1&quot; xmlns:office=&quot;urn:oasis:names:tc:opendocument:xmlns:office:1.0&quot; xmlns:text=&quot;urn:oasis:names:tc:opendocument:xmlns:text:1.0&quot; xmlns:table=&quot;urn:oasis:names:tc:opendocument:xmlns:table:1.0&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:body&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:spreadsheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet1&quot; table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:forms form:automatic-focus=&quot;false&quot; form:apply-design-mode=&quot;false&quot; xmlns:form=&quot;form&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell table:number-columns-repeated=&quot;3&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Player Piano&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Kurt Vonnegut&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;ISBN&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Ubik&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Philip K. Dick&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;ISBN&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Stories of Your Life and Others&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Ted Chiang&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;ISBN&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;World War Z&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;Max Brooks&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;text:p&amp;gt;ISBN&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet2&quot; table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet3&quot; table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:spreadsheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:body&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:document-content&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;Zip &#39;em up, and give the file a .ods extension.&lt;br /&gt;If you have OpenOffice installed you&#39;ll be able to open and you&#39;ll see:&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAnPPUWIV5E4xCWUIWN-rkCnSt7Tou-ohz1edB1uL2Q0Lt8MfxzO7MoT8dZuD6GOYfY9vSyKgxUfsMmKRgVbU7pr_UUuvOUP8AduvE28vKcOFhmVtBwR_bTG3Yg_azNSGFwvlAeHFUD_LR/s1600-h/odsorig.PNG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAnPPUWIV5E4xCWUIWN-rkCnSt7Tou-ohz1edB1uL2Q0Lt8MfxzO7MoT8dZuD6GOYfY9vSyKgxUfsMmKRgVbU7pr_UUuvOUP8AduvE28vKcOFhmVtBwR_bTG3Yg_azNSGFwvlAeHFUD_LR/s320/odsorig.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5152490666916885282&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I use very simple examples for the documents, so you can get an understanding of some of the XML that&#39;s in there and we can equally focus on the XQuery used to manipulate the docs.  However, if you were to open up Calc or Excel and create these spreadsheets using the applications, when you save and unzip the packages for examination, you&#39;ll notice the XML generated for the files will look different.   If you do that make sure you update the XQuery in the example below accordingly.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Following simple examples like these, as well as creating documents using their respective applications and examining the deltas in the XML published is a great way to learn more about the ODF and Open XML formats,  what XML is required for consumption by each application, and what XML is generated upon save.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Your Office 2007 document should look like:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a style=&quot;font-family: georgia;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn2skqoEzVShxRtSOALFi2VVULXnnV0OZUMjmObq0E6flhjUwuOIsSOJ9EHgF-NWd0elkbnUsBd0F_FvuSX1rCbljJp2PPbJHMGfWP_pFt9dJPPfAVV8KzI1XlC97Sl4VxOj40TilvGnQP/s1600-h/xlsxorig.PNG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn2skqoEzVShxRtSOALFi2VVULXnnV0OZUMjmObq0E6flhjUwuOIsSOJ9EHgF-NWd0elkbnUsBd0F_FvuSX1rCbljJp2PPbJHMGfWP_pFt9dJPPfAVV8KzI1XlC97Sl4VxOj40TilvGnQP/s320/xlsxorig.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5152495962611561266&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;&quot; &gt;If it looks strange for some reason,  it&#39;s because I have the ribbon minimized.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Transformation with XQuery&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Finally, here&#39;s some XQuery.    You can test tranforming for both formats by just switching the $test variable accordingly.  If you have the files loaded into your Server, named as I&#39;ve described above, you should be able to just place the following in a .xqy file.  Name the file &lt;span style=&quot;font-weight: bold;&quot;&gt;test.xqy&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt; &lt;/span&gt;and place it under /Docs in your MarkLogic server. You can then evaluate the file by opening your browser and navigating to http://localhost:8000/test.xqy .  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I have OpenOffice and Office 2007 installed, so I just open into the appropriate application directly. You can easily change this to just insert the XML as another doc so you can validate for yourself in the Server. &lt;/span&gt;&lt;/span&gt;&lt;pre style=&quot;color: rgb(255, 0, 0);&quot;&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace ms = &quot;http://schemas.openxmlformats.org/spreadsheetml/2006/main&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace table = &quot;urn:oasis:names:tc:opendocument:xmlns:table:1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace office = &quot;urn:oasis:names:tc:opendocument:xmlns:office:1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace text=  &quot;urn:oasis:names:tc:opendocument:xmlns:text:1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace manifest = &quot;urn:oasis:names:tc:opendocument:xmlns:manifest:1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;declare namespace form=&quot;urn:oasis:names:tc:opendocument:xmlns:form:1.0&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;define function generate-simple-ods-odf(&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$docmanifest as node(),&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$content as node()&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;) as binary()&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $manifest :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;  &amp;lt;parts xmlns=&quot;xdmp:zip&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;  &amp;lt;part&amp;gt;META-INF/manifest.xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;  &amp;lt;part&amp;gt;content.xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;  &amp;lt;/parts&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;    let $parts := ($docmanifest, $content)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;    return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;      xdmp:zip-create($manifest, $parts)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;define function generate-simple-xl-ooxml(&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$content-types as node(),&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$workbook as node(),&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$rels as node(),&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$workbookrels as node(),&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$sheet1 as node()&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;) as binary()&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $manifest := &amp;lt;parts xmlns=&quot;xdmp:zip&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;                 &amp;lt;part&amp;gt;[Content_Types].xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;                 &amp;lt;part&amp;gt;workbook.xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;                 &amp;lt;part&amp;gt;_rels/.rels&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;                 &amp;lt;part&amp;gt;_rels/workbook.xml.rels&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;                 &amp;lt;part&amp;gt;sheet1.xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;               &amp;lt;/parts&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $parts := ($content-types, $workbook, $rels, $workbookrels, $sheet1)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;  return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;     xdmp:zip-create($manifest, $parts)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;define function getOpenXMLRowsFromODF($odfrows as element(table:table-row)*) as element(ms:row)*&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;for $i in $odfrows&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $row := $i/table:table-cell/text:p&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;ms:row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;for $text in $row/text() return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;ms:c t=&quot;inlineStr&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt; &amp;lt;ms:is&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;   &amp;lt;ms:t&amp;gt;{$text}&amp;lt;/ms:t&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt; &amp;lt;/ms:is&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/ms:c&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/ms:row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;define function getODFRowsFromOpenXML($ofcrows as element(ms:row)*) as element(table:table-row)*&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;for $i in $ofcrows&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $row := $i//ms:t&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;for $text in $row/text() return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell office:value-type=&quot;string&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt; &amp;lt;text:p&amp;gt;{$text}&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-cell&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;(: ---------------- BEGIN OFFICE OPEN XML EXCEL FILES --------------------:)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $content-types :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Types xmlns=&quot;http://schemas.openxmlformats.org/package/2006/content-types&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Default Extension=&quot;rels&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;ContentType=&quot;application/vnd.openxmlformats-package.relationships+xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Default Extension=&quot;xml&quot; ContentType=&quot;application/xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Override PartName=&quot;/workbook.xml&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;ContentType=&quot;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Override PartName=&quot;/sheet1.xml&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;ContentType=&quot;application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/Types&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $workbook :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;workbook xmlns=&quot;http://schemas.openxmlformats.org/spreadsheetml/2006/main&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;     xmlns:r=&quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;sheets&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;sheet name=&quot;Sheet1&quot; sheetId=&quot;1&quot; r:id=&quot;rId1&quot; /&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/sheets&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/workbook&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $rels :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Relationships xmlns=&quot;http://schemas.openxmlformats.org/package/2006/relationships&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Relationship Id=&quot;rId1&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;Type=&quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;Target=&quot;workbook.xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/Relationships&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $workbookrels :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Relationships xmlns=&quot;http://schemas.openxmlformats.org/package/2006/relationships&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;Relationship Id=&quot;rId1&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;Type=&quot;http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;Target=&quot;sheet1.xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/Relationships&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $odfrows:= doc(&quot;/Sheet1.ods/content.xml&quot;)//table:table[1]/table:table-row&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $sheet1 :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;worksheet xmlns=&quot;http://schemas.openxmlformats.org/spreadsheetml/2006/main&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;sheetData&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;{getOpenXMLRowsFromODF($odfrows)}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/sheetData&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/worksheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;(: ------------------- END OFFICE OPEN XML EXCEL FILES --------------------:)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;(: -------------------------- BEGIN ODF CALC FILES ------------------------:)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $openxml_rows := doc(&quot;/Sheet1.xlsx/sheet1.xml&quot;)//ms:row&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $docmanifest:=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;manifest:manifest xmlns:manifest=&quot;urn:oasis:names:tc:opendocument:xmlns:manifest:1.0&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;manifest:file-entry manifest:media-type=&quot;application/vnd.oasis.opendocument.spreadsheet&quot; manifest:full-path=&quot;/&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;manifest:file-entry manifest:media-type=&quot;text/xml&quot; manifest:full-path=&quot;content.xml&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/manifest:manifest&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $content :=&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:document-content xmlns:office=&quot;urn:oasis:names:tc:opendocument:xmlns:office:1.0&quot; xmlns:text=&quot;urn:oasis:names:tc:opendocument:xmlns:text:1.0&quot; xmlns:table=&quot;urn:oasis:names:tc:opendocument:xmlns:table:1.0&quot; office:version=&quot;1.1&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:body&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:spreadsheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet1&quot;  table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:forms form:automatic-focus=&quot;false&quot; form:apply-design-mode=&quot;false&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;   {getODFRowsFromOpenXML($openxml_rows)}&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet2&quot; table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table table:name=&quot;Sheet3&quot; table:print=&quot;false&quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-column table:default-cell-style-name=&quot;Default&quot;/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-row &amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;table:table-cell/&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table-row&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/table:table&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:spreadsheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:body&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;/office:document-content&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;(: ---------------------------- END ODF CALC FILES ------------------------:)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;(: let $test := &quot;officeopenxml&quot; :)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $test := &quot;odf&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $package := if($test eq &quot;officeopenxml&quot;) then&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;       generate-simple-xl-ooxml($content-types, $workbook, $rels, $workbookrels, $sheet1)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;    else&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;       generate-simple-ods-odf($docmanifest, $content)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $filename := if($test eq &quot;officeopenxml&quot;) then&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;       &quot;ExcelTest.xlsx&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;     else&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;       &quot;CalcTest.ods&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $disposition := concat(&quot;attachment; filename=&quot;&quot;&quot;,$filename,&quot;&quot;&quot;&quot;)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $x := xdmp:add-response-header(&quot;Content-Disposition&quot;, $disposition)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;let $x := if($test eq &quot;officeopenxml&quot;) then&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;    xdmp:set-response-content-type(&quot;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet&quot;)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;else&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;    xdmp:set-response-content-type(&quot;application/vnd.oasis.opendocument.spreadsheet&quot;)&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;return&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-size:100%;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(153, 0, 0);font-family:georgia;font-size:100%;&quot;  &gt;$package&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;In the example, we just created new documents, tranforming the content from one spreadsheet into the format of the other. I&#39;m not going to dig too deep into this;  You should be able to read the XQuery and see what&#39;s going on for yourself.  But notice how we just have a variable set to the rows from our original spreadsheet, and when we go to create the new spreadsheet, we just call a function that transforms the rows from one format to the other.  It&#39;s that simple.&lt;br /&gt;&lt;br /&gt;If it helps, I&#39;ve done the &quot;Hello-World&quot; document example with both &lt;a href=&quot;http://kiwisi.blogspot.com/2007/12/odf-hello-world-with-xquery.html&quot;&gt;OpenOffice&lt;/a&gt; and &lt;a href=&quot;http://developer.marklogic.com/columns/smallchanges/2007-11-27.xqy&quot;&gt;Office 2007,&lt;/a&gt;  (&lt;a href=&quot;http://developer.marklogic.com/columns/smallchanges/2007-12-04.xqy&quot;&gt;a couple of times&lt;/a&gt;). Those previous posts should help answer some questions if this is all brand new to you.  After evaluating the XQuery, you&#39;ll see your spreadsheets as follows:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8d43iK25f-4byrzpPK5qEgcawGZBhyphenhyphen7b_V8nX1PAriRIMn6MTxql3qEGeoAzvU7nqFDy7zwn8n4UvQ04C9rKappFYOcG0dRnR0SZ5KoeHNACBeom7HJHnkX3Sal-hOG9qMOrJlP7Mugj9/s1600-h/calctest.PNG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8d43iK25f-4byrzpPK5qEgcawGZBhyphenhyphen7b_V8nX1PAriRIMn6MTxql3qEGeoAzvU7nqFDy7zwn8n4UvQ04C9rKappFYOcG0dRnR0SZ5KoeHNACBeom7HJHnkX3Sal-hOG9qMOrJlP7Mugj9/s320/calctest.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5152511085191410498&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWrxZR3Yk7eotdt5SSKXVM1oXXxb4e5FYxyALefbN2pAJTSzH7MJL6pTaa1Wu6Fu6-j5MnGpTxXcfKhB4_n_sgXhZycNxSmwAqO1YGZqQPlphuGoKrLenBgwKzZUZj43lKjlInPrE_pZHy/s1600-h/xltest.PNG&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWrxZR3Yk7eotdt5SSKXVM1oXXxb4e5FYxyALefbN2pAJTSzH7MJL6pTaa1Wu6Fu6-j5MnGpTxXcfKhB4_n_sgXhZycNxSmwAqO1YGZqQPlphuGoKrLenBgwKzZUZj43lKjlInPrE_pZHy/s320/xltest.PNG&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5152511497508270930&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Neither of those files existed in those formats when we began, and when the next format comes along, we&#39;ll just transform our saved XML content into that format too.  As long as it&#39;s XML, the content can be anything we want it to be.  The XQuery looks lengthy because of all the nodes we&#39;re constructing, but once we&#39;re more familiar with the formats, we can re-use pieces we&#39;ve already stored.  I just want to highlight that the amount of XQuery required for a powerful transformation of our content is really minimal.&lt;br /&gt;&lt;br /&gt;08&#39;s going to be a great year for XML and XQuery and I&#39;m excited to be working with both.  My New Year&#39;s resolution is to post here regularly.  That doesn&#39;t necessarily mean often, but regularly.  :)&lt;br /&gt;&lt;br /&gt;To learn more about ODF:&lt;br /&gt;&lt;a href=&quot;http://books.evc-cit.info/&quot;&gt;Open Document Essentials&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office#technical&quot;&gt;The ODF Specification&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To learn more about Open XML:&lt;br /&gt;&lt;a href=&quot;http://openxmldeveloper.org/articles/1970.aspx&quot;&gt;Open XML Explained&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.ecma-international.org/publications/standards/Ecma-376.htm&quot;&gt;The Open XML Specifcations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To learn more about XQuery:&lt;br /&gt;&lt;a href=&quot;http://x-query.com/&quot;&gt;x-query.com&lt;/a&gt; (get on the mailing list)&lt;br /&gt;&lt;a href=&quot;http://www.w3.org/TR/xquery/&quot;&gt;w3c XQuery .10&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.w3schools.com/xquery/default.asp&quot;&gt;XQuery tutorial&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2008/01/odf-vs-openxml-win-or-lose-we-win.html</link><author>noreply@blogger.com (Pete Aven)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAnPPUWIV5E4xCWUIWN-rkCnSt7Tou-ohz1edB1uL2Q0Lt8MfxzO7MoT8dZuD6GOYfY9vSyKgxUfsMmKRgVbU7pr_UUuvOUP8AduvE28vKcOFhmVtBwR_bTG3Yg_azNSGFwvlAeHFUD_LR/s72-c/odsorig.PNG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-1558922413380606714</guid><pubDate>Fri, 14 Dec 2007 21:37:00 +0000</pubDate><atom:updated>2007-12-14T13:56:50.197-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Novell OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">ODF</category><category domain="http://www.blogger.com/atom/ns#">Office 2007</category><category domain="http://www.blogger.com/atom/ns#">OOXML</category><category domain="http://www.blogger.com/atom/ns#">OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">Sun ODF Converter</category><title>Office 2007 SP1 and Sun ODF Converter</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;Just an update to a &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://kiwisi.blogspot.com/2007/12/office-2007-vs-openoffice-vs-novell.html&quot;&gt;recent post&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; (Office 2007 vs. OpenOffice vs. Novell OpenOffice).  I just installed Office 2007 SP1.  Previously, Sun&#39;s converter didn&#39;t support Office 2007, it turns out this was due to the fact you could &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://blogs.sun.com/malte/entry/more_details_about_sun_s&quot;&gt;save as ODF, but not open an ODF document in Word 2007&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  Well now, &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://blogs.sun.com/malte/entry/sun_odf_plugin_1_11&quot;&gt;you can open an OpenOffice document in Word 2007&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  I just tried this myself using my same test document from before.   I opened the document in Word, saved as an OpenOffice document, closed Word and opened the document in OpenOffice to check the formatting, then closed OpenOffice and reopened the document into Word.  The formatting was retained throughout.  Very cool. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Sun&#39;s official stance on the download page is still &quot;support for Microsoft Office 2007 is planned for one of the next releases.&quot;  But it looks like you can start using it now with more than just a &quot;hello world&quot; test document.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;When I save as .odt from Word, I sometimes have an issue where Word will crash, it&#39;s intermittent and I&#39;m always able to save on the second attempt.  I just started using this converter, so if I come across any recurring or other issues, or find out about any more updates, I&#39;ll post them.&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/12/office-2007-sp1-and-sun-odf-converter.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-1932027699642222498</guid><pubDate>Mon, 10 Dec 2007 23:51:00 +0000</pubDate><atom:updated>2007-12-17T05:44:27.928-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ODF</category><category domain="http://www.blogger.com/atom/ns#">Office Open XML</category><category domain="http://www.blogger.com/atom/ns#">OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">XQuery</category><title>ODF - Hello World with XQuery</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;This is the &quot;How to create the simple hello-world document for OpenOffice using XQuery&quot; example.  I&#39;m using MarkLogic Server for this of course. If you&#39;re interested you can download a free copy using a &lt;a href=&quot;http://developer.marklogic.com/download/default.xqy&quot;&gt;Community License here&lt;/a&gt;.   I&#39;m also using OpenOffice 2.3.1, &lt;a href=&quot;http://download.openoffice.org/2.3.1/index.html&quot;&gt;available here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;An OpenOffice document is just a zip file.  It&#39;s actually a .jar file, but we don&#39;t care about that right now.  We can unzip it and extract the separate XML parts, just how we would with any zip file.   In fact, in Windows, you can just change the extension of your OpenOffice document from .odt to .zip, right-click, select &quot;Extract All&quot;, then take a look at the files in the folder.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Similarly, we can create an OpenOffice file by creating the required parts and zipping them up into a package. When we say an ODF or OpenOffice document, we&#39;re usually referring to the collection of XML documents that make up the .odt you use with OpenOffice.  ODF stands for Open Document Format, and is the name given to the XML that OpenOffice is using to create your documents.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;This should all sound very familiar. It&#39;s very similar to what I&#39;ve posted on &lt;a href=&quot;http://developer.marklogic.com/columns/smallchanges/2007-11-27.xqy&quot;&gt;Office Open XML&lt;/a&gt;, and a .docx file in Word; We often say an Office 2007 / Word document, but mean the collection of XML files that make up the .docx.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;The minimal  .odt document has just 2 parts: content.xml and manifest.xml.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;We place the main text and body of our document in content.xml, and place the assorted files that compose the document in the manifest.xml.  I&#39;ll explore the other files in future posts, they of course have to do with styling your document, meta-information about your document (created by, created date, etc.), images, etc.  Since we aren&#39;t using any other files in this example, this document will have zero formatting and no meta-information associated with it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Ok, place the following in a file named openODF.xqy under /Docs of your MarkLogic install.  You can then evaluate by opening your browser and navigating to http://localhost:8000/openODF.xqy.  Your test document will open directly into OpenOffice Writer.  You can then mess with the XQuery and XML to create other types of documents.  Good times!&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Note: To keep the code readable I had to split a couple of nodes across lines.  I was able to cut-and-paste this into a .xqy and evaluate with no problems, but I mention in case you run into any issues.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;define function generate-odt(&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;  $docmanifest as node(),&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;  $content as node()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;) as binary()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $manifest :=&lt;br /&gt; &amp;lt;parts xmlns=&quot;xdmp:zip&quot;&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;     &amp;lt;part&amp;gt;META-INF/manifest.xml&amp;lt;/part&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;     &amp;lt;part&amp;gt;content.xml&amp;lt;/part&amp;gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;  &amp;lt;/parts&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;  let $parts := ($docmanifest, $content)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;  return &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;    xdmp:zip-create($manifest, $parts)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $docmanifest :=&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;&amp;lt;manifest:manifest&lt;br /&gt;xmlns:manifest=&quot;urn:oasis:names:tc:opendocument:xmlns:manifest:1.0&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt; &amp;lt;manifest:file-entry&lt;br /&gt;manifest:media-type=&quot;application/vnd.oasis.opendocument.text&quot;&lt;br /&gt;manifest:full-path=&quot;/&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt; &amp;lt;manifest:file-entry manifest:media-type=&quot;text/xml&quot; manifest:full-path=&quot;content.xml&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;&amp;lt;/manifest:manifest&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $content :=&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;&amp;lt;office:document-content xmlns:office=&quot;urn:oasis:names:tc:opendocument:xmlns:office:1.0&quot;&lt;br /&gt;xmlns:text=&quot;urn:oasis:names:tc:opendocument:xmlns:text:1.0&quot;&lt;br /&gt;office:version=&quot;1.1&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;   &amp;lt;office:body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;     &amp;lt;office:text&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;        &amp;lt;text:p text:style-name=&quot;Standard&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;          &amp;lt;text:s text:c=&quot;5&quot;/&amp;gt;Hello World! This is my first paragraph.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;        &amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;        &amp;lt;text:p text:style-name=&quot;Standard&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;        &amp;lt;text:p text:style-name=&quot;Standard&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;          &amp;lt;text:s text:c=&quot;5&quot;/&amp;gt;This is another paragraph.&amp;lt;/text:p&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;     &amp;lt;/office:text&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;   &amp;lt;/office:body&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;&amp;lt;/office:document-content&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $package := generate-odt($docmanifest, $content)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $filename :=  &quot;hello-world.odt&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $disposition := concat(&quot;attachment; filename=&quot;&quot;&quot;,$filename,&quot;&quot;&quot;&quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $x := xdmp:add-response-header(&quot;Content-Disposition&quot;, $disposition)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;let $x := xdmp:set-response-content-type(&quot;application/vnd.oasis.opendocument.text&quot;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt; return&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;    $package&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;For those interested in the ODF format, there&#39;s a free book, &lt;a href=&quot;http://books.evc-cit.info/&quot;&gt;OpenDocument Essentials&lt;/a&gt;, as well as the &lt;a href=&quot;http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office&quot;&gt;ODF specification&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;br /&gt;The content.xml in a nutshell: &amp;lt;office-document&amp;gt; is our root element.&lt;br /&gt;It&#39;s first children &lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;are optional and can be &lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt; &amp;lt;office:scripts&amp;gt;, &amp;lt;office:font-face-decls&amp;gt;, and &amp;lt;office:styles&amp;gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;We don&#39;t see those here, we&#39;ll examine those more in the future.  The only required&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt; element is &amp;lt;office:body&amp;gt; and this is where the magic happens.  It&#39;s first child element tells us&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt; what type of document we&#39;re actually dealing with; we have the choice of:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:text&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:drawing&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:presentation&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:spreadsheet&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:chart&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&amp;lt;office:image&amp;gt;&lt;br /&gt;&lt;br /&gt;We&#39;re dealing with text.  From there we see it&#39;s child element &amp;lt;text:p&amp;gt; , which signifies a paragraph.  Now, the only thing funky above is the use of &amp;lt;text:s&amp;gt;, which signifies whitespace.  There&#39;s a couple of pages on how to handle whitespace in the Essentials book.  When you opened the document, you might not have noticed, but each sentence was indented 5 spaces.  You can safely remove the &amp;lt;text:s&amp;gt; node for the example above.&lt;br /&gt;&lt;br /&gt;Ok, so it&#39;s a little more than just a HelloWorld example, but we&#39;re not really interested in a one paragraph, one word document.  For more fun, we can just start extracting OpenOffice documents and insert the pieces into our XML Server.  It&#39;s all just XML at the end of the day, and I actually think it&#39;s fun to dissect these formats and then transform them into whatever I want.  So with ODF and Office Open XML documents in my server, I can write queries to find what I&#39;m looking for and then just deliver the content in any requested format.  Sweet!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 0, 0);font-family:courier new;&quot; &gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/12/odf-hello-world-with-xquery.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-7035781321030133428</guid><pubDate>Sun, 09 Dec 2007 22:18:00 +0000</pubDate><atom:updated>2007-12-10T05:40:40.488-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Novell OpenOffice</category><category domain="http://www.blogger.com/atom/ns#">ODF</category><category domain="http://www.blogger.com/atom/ns#">Office 2007</category><category domain="http://www.blogger.com/atom/ns#">OOXML</category><category domain="http://www.blogger.com/atom/ns#">OpenOffice</category><title>Office 2007 vs. OpenOffice vs. Novell OpenOffice</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;Ok, first things first.  I work for the Mighty MarkLogic in San Carlos.  I&#39;m currently doing a series of blog posts on &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://developer.marklogic.com/columns/smallchanges/2007-12-04.xqy&quot;&gt;OOXML and MarkLogic Server&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; for our developer network.  Today&#39;s post came about as my sole focus for the last few months has been OOXML, but I&#39;ve been a big fan of OpenOffice for quite some time.  I thought I&#39;d repeat some of the examples I&#39;m doing for OOXML with ODF.  I have no allegiance to any Office Productivity application, my allegiance, if to anything, is to XML and XQuery. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Now that you know this: The opinions and posts on this blog are mine and mine alone and don&#39;t necessarily reflect the opinions of MarkLogic Corp. If they like it, I&#39;ll let &#39;em claim it, but if not, they were out of town when I wrote this, &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.urbandictionary.com/define.php?term=Capiche&quot;&gt;capiche&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;The following includes my experience testing &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.openoffice.org/&quot;&gt;OpenOffice 2.3.1&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; , &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://download.novell.com/Download?buildid=SfgHRzyafeg%7E&quot;&gt;Novell&#39;s OpenOffice 2.3&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;,  &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://download.novell.com/SummaryFree.jsp?buildid=ESrjfdE4U58%7E&quot;&gt;Novell&#39;s OpenOffice.OpenXML translator 1.0.0-2&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, and the &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.sun.com/software/star/odf_plugin/&quot;&gt;Sun ODF Converter 1.1 for Microsoft Office&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; to see how easily they interoperate with a .docx file, and a .odt file. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;font-family: georgia;&quot;&gt;&lt;li&gt;Office 2007 Professional out-of-the-box will not open a .odt document, nor save as .odt.&lt;br /&gt;But we can save as .odt if we install and use Sun&#39;s ODF Converter.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;OpenOffice 2.3.1 out-of-the-box will not open a .docx file, nor save as a .docx.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Novell&#39;s 2.3 OpenOffice out-of-the-box will not open a .docx file, nor save as a .docx. &lt;br /&gt;  But we can save as .docx and open from a .docx if we install their translator.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;We can get Office 2007 to save as a .odt document if we install the Sun ODF Converter.  The download and install is quick and simple.  A single file, download, double-click, it installs, open Word, and you can save as .odt.  Simple!  Sun states on their site for the converter that Office 2007 support is  coming and they don&#39;t explicitly list Office 2007 as supported, but I believe they are well on their way.  I was able to take a sample Word document with multiple pages, formatting, color, and a couple of embedded tables - it wasn&#39;t just a &quot;hello-world&quot; document - and save as .odt.  When I opened in OpenOffice, or Novell&#39;s Open Office, it looked perfect.  If there was a difference, I didn&#39;t see it. It took a few seconds to save, but I&#39;m impressed.  The downside is it&#39;s just a one-way converter, I still can&#39;t open a .odt in Office 2007.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Novell has an OpenXML translator available, that will allow their version of OpenOffice to open and save .docx files.  To install their version of OpenOffice, it&#39;s an ISO, so you&#39;ll need daemon tools or to burn it to disk.  Once installed, you can add the converter by opening OpenOffice and going to tools -&gt; Extensions.   Click &#39;add&#39; in the dialog box and add the addin by browsing to its location.  Click ok.  Restart OO and you&#39;ll now have the option to open and save as .docx.  Ok, not too simple for an ordinary user, but it works.  I think you&#39;d need to be kind of a geek to even know that Novell has their own version of OpenOffice or the translator or how to install, but its cool that its there.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I have that same sample document I described above that originated as a .docx.  I opened in Novell&#39;s Open Office, and the formatting was off.  It lost the indentations for paragraphs, and it shifted a table halfway down the second page. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I then saved the .docx as a .odt in Word 2007.  I opened in Novell&#39;s OpenOffice, and it looked perfect.  I then saved as .docx from within Novell&#39;s OpenOffice.  I closed NOO.  When I re-opened, the formatting was off again, similar to the original document.  When I opened in Word 2007, it had lost the indentation and the bottom 1/2 of the still shifted table was missing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;For simple &quot;Hello World&quot; documents, the formatting was fine when I saved as .docx and re-opened in Office 2007 or Novell&#39;s OpenOffice, but for other documents, it appears Novell&#39;s OpenOffice OOXML support still needs some work.&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;br /&gt;&lt;/span&gt; I just started reading &lt;a href=&quot;http://opendocument.xml.org/opendocument-essentials&quot;&gt;OASIS OpenDocument Essentials.&lt;/a&gt; I hope to post some examples soon.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/12/office-2007-vs-openoffice-vs-novell.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-5077138552680842540</guid><pubDate>Thu, 15 Nov 2007 05:07:00 +0000</pubDate><atom:updated>2007-11-15T07:11:04.140-08:00</atom:updated><title>New Media Producers</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;If you check the mainstream news, chances are you&#39;ve heard of the writer&#39;s strike.  I don&#39;t know much about it, but my guess is they&#39;re &quot;takin it in the shorts&quot;, as an ex-boss of mine used to say.  But to tell you the truth, I don&#39;t watch much tv.  ( Though I have discovered &lt;a href=&quot;http://www.nbc.com/Scrubs/&quot;&gt;Scrubs&lt;/a&gt; and watch it late nights before bed, it&#39;s like I Love Lucy 2007 ).   I peep &lt;a href=&quot;http://www.adultswim.com/shows/athf/&quot;&gt;ATHF&lt;/a&gt;, &lt;a href=&quot;http://www.thedailyshow.com/&quot;&gt;Daily Show&lt;/a&gt;, &lt;a href=&quot;http://www.colbertnation.com/&quot;&gt;Colbert&lt;/a&gt; on a regular.  And  I&#39;ve been known  to plan my week around &lt;a href=&quot;http://thetailsection.com/&quot;&gt;Lost&lt;/a&gt;; but I&#39;m all about tv on dvd when I like the series.  I&#39;d rather blast through the season in 3 days than F around with commercials.  (yeah, I haven&#39;t got a dvr yet, but again, I&#39;m not around the tv that much to care)  Anyway, the must-see tv these days ain&#39;t on tv, it&#39;s on the web.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;There are so many cool shows out there right now.  I&#39;m hearing the term &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/New_media&quot;&gt;New Media Producers&lt;/a&gt; more lately, but I&#39;m not sure if that&#39;s an apt title.  They don&#39;t have anything in common with Old Media, and I don&#39;t know if they even consider themselves producers.  These people are just doin what they do for the love of doin it!  It&#39;s an exciting time for publishing this type of creativity.  There are more than a few of these people out there, but below are some of the shows I enjoy regularly.  I have to admit, I got the idea to share these from watchin Epic-Fu, it&#39;s my favorite, and it rocks.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;  My absolute favorite: &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://epicfu.com/&quot;&gt;Epic-Fu!&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;  (formely JetsetShow).  If you haven&#39;t peeped it, check it out.  You&#39;ll learn more there each week than you will in the news or on the Daily Show.   Steve, Zadi, and Rick bring the epicness each week.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Another must-see &lt;a href=&quot;http://youtube.com/watch?v=4wGR4-SeuJ0&quot;&gt;Chad Vader&lt;/a&gt;.  This series is hilarious.  Can&#39;t wait for Season 2.  Start with episode1 and work your way up.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;If you&#39;re into sci-fi at all, you have to check out &lt;a href=&quot;http://www.galacticast.com/&quot;&gt;Galacticast&lt;/a&gt;.  Rudy and Casey rock!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;a href=&quot;http://askaninja.com/&quot;&gt;Ask-A-Ninja&lt;/a&gt; always delivers the goods. You got questions, he&#39;s got answers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Another two fun ones are &lt;a href=&quot;http://happyslip.com/&quot;&gt;HappySlip&lt;/a&gt; (read the &quot;&lt;a href=&quot;http://www.happyslip.com/about/&quot;&gt;about&lt;/a&gt;&quot; for the name)  &lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;and &lt;a href=&quot;http://youtube.com/lisanova&quot;&gt;LisaNova&lt;/a&gt; (this chick is nuts, but frick&#39;n hilarious).&lt;br /&gt;&lt;br /&gt;And one I realized I haven&#39;t watched in awhile, so I have some catching up to do : &lt;a href=&quot;http://www.tikibartv.com/&quot;&gt;Tiki Bar TV&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Anyway.  I spend a lot of time on the computer reading, coding, etc.  When I take a break I peep these shows and they&#39;re perfect.  3-6 minute blasts of originality with no commercials.  Just a bunch of creativity and heart served up freely courtesy of some talented people and the internets.  Then its back to the lab.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/new-media-producers.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-6118056255191127684</guid><pubDate>Wed, 14 Nov 2007 05:21:00 +0000</pubDate><atom:updated>2007-11-13T21:37:31.806-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">goodreads books</category><title>Goodreads is Sweet</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;I really like&lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.goodreads.com/&quot;&gt; goodreads.com&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  I just want to put that out there for everyone who&#39;s not familiar with it. It&#39;s a social network that&#39;s actually useful.  If you enjoy reading, it gives you a place to share all you&#39;ve read with others; so you can see what your friends are reading, and what they recommend or didn&#39;t like.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Anyway, it turns out that these days as soon as one person has an idea, the VCs rush to fund similar companies.  It&#39;s like coffee shops, as soon as one opens on the block, you know another will follow shortly as someone wants their piece of the pie.  So  &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.shelfari.com/&quot;&gt;Shelfari&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; and &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.librarything.com/&quot;&gt;LibraryThing&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; are two other companies that seem to be doing the same thing and are getting a lot of press lately for themselves by &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://gadgetopia.com/post/6154&quot;&gt;spamming others&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; and &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.librarything.com/thingology/2007/11/shelfari-spam-basically-social.php&quot;&gt;complaining about it&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  I don&#39;t know who came first, and Shelfari and LibraryThing might actually be great sites, but I found goodreads first and I dig it so I&#39;m rollin with it. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I&#39;m endorsing them as I find the site very useful.  Also, it&#39;s refreshing to find a site that seems to put the user first, it&#39;s not all about how they can &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.google.com/&quot;&gt;make the money through ads&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; or &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.facebook.com/&quot;&gt;whatever&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  In print and on the internets all I&#39;m seeing lately is the other 2 companies and people need to wake up and not sleep on goodreads.  It&#39;s cool.  If you make it over there I&#39;m PT3.&lt;br /&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/goodreads-is-sweet.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-6958662471262657289</guid><pubDate>Wed, 14 Nov 2007 05:19:00 +0000</pubDate><atom:updated>2007-11-13T21:38:52.000-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">machine learning</category><title>Oliver Selfridge conclusion</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;Ok, so I had this plan to rant about how screwed up it is that great computer scientists continue to crank out the badassness and deliver the goods while a bunch of fronters get all the media attention and ridiculous valuations for their &amp;lt;airfingerquotes&amp;gt;companies&amp;lt;/airfingerquotes&amp;gt; based on what &amp;lt;airfingerquotes&amp;gt;they might be someday&amp;lt;/airfingerquotes&amp;gt; or &amp;lt;airfingerquotes&amp;gt;they could be someday&amp;lt;/airfingerquotes&amp;gt;.  But, it&#39;s obvious, and you&#39;ll probably find this theme in future rants of mine just manifesting itself in different ways anyway, so I&#39;m calling it off.   In conclusion, Oliver&#39;s the man.  I&#39;m still uplifted just thinking about his presentation.&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/oliver-selfridge-conclusion.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-2820988464990798926</guid><pubDate>Sat, 10 Nov 2007 21:50:00 +0000</pubDate><atom:updated>2007-11-11T18:38:19.454-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">hci</category><category domain="http://www.blogger.com/atom/ns#">nlp</category><category domain="http://www.blogger.com/atom/ns#">ui design</category><title>TrueKnowledge, NLP, and HCI</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;It&#39;s exciting to see &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Natural_language_processing&quot;&gt;NLP&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; present in so many applications these days.  Some of the companies I follow and have a keen interest in seeing develop are:  &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.attensity.com/www/&quot;&gt;Attensity&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.powerset.com/&quot;&gt;Powerset&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://hakia.com/&quot;&gt;Hakia&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, and &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://radarnetworks.com/&quot;&gt;RadarNetworks&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  But out of the blue last week ( and I&#39;m still not sure how I missed this as I&#39;m usually on top of companies like this ) comes &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.trueknowledge.com/&quot;&gt;TrueKnowledge&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  If you haven&#39;t peeped their demo yet,  you should do so.   The site looks great but it&#39;s in &quot;private beta&quot; right now.  I&#39;m looking forward to testing their tech out once it&#39;s finally released.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;TK bills themselves as a site for &quot;Question-Answering&quot; and &quot;Enhanced Search&quot;.  Based on the demo, you can type in a question in English such as,  &quot;Who invented Perceptrons?&quot;,  and it will provide an &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Frank_Rosenblatt&quot;&gt;Answer&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;.  It&#39;s not just using keywords, it does some parsing of the sentence you enter and then applies some inference rules.  In the demo, they ask &quot;What time is it at Google?&quot;, and the correct time is returned.  Very cool stuff.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;So I like asking a question and getting a straight answer, but I have to critique how the answer is returned.  This doesn&#39;t apply to just TK either.  I see other companies doing this, and it&#39;s because Engineers come up with this stuff.  When we have the Engineer hat on, we do brilliant things, but forget about the little details like user experience.  So...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;In the demo, when you ask a question of their site, you get a straight answer.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Example: You ask &quot;is J Lo single?&quot;, the site returns &quot;No&quot; and a link it thinks will back up it&#39;s answer.  That parts awesome.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;But then there&#39;s all this other verbose stuff with the answer. For the same question, the site also returns:  &quot;There are 2 defintions of &quot;single&quot; , then provides the 2 definitions,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;then goes on to say &quot;I took the meaning of your question to be..&quot; and inserts something from the definitions previously listed.  There can then be several links that represent the &quot;inference path&quot; for how the machine came up with the answer it&#39;s returning.  In their Google-time example,  a ton of links are returned.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Something about this nags at me that the &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Human_Computer_Interaction&quot;&gt;HCI&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; or &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/User_interface_design&quot;&gt;UI design&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; is off somewhere.  It looks like they just jammed a bunch of System.outs in their code and blurt out the logging in the answer.  They try to gussy it up and anthropomorphize it to make the logging seem helpful, but I&#39;m not sure it really is.  Maybe they should have a verbose mode, that will give you all that extra crap if  you want it, and a trusted mode, where you just trust TK is giving you the right answer.  Or maybe in trusted mode you get a straight answer and a confidence percentage.  If the user questions the answer returned or the confidence rating, they can always go into verbose mode to validate the response, but I don&#39;t think logging should be on by default.  Anyway, for me, I&#39;ll dig all that extra info, but I wonder if the average user will, or how all those inference links will look jammed on a cel phone.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Anyway.  Back in 2001, I&#39;d type a query in Google and it was like it could read my mind, I loved it.  Their search just blew me away.  Nowadays, there are a bunch of search engines out there, and I try to check them out occasionally,  but I find myself going back to the Goog regularly cause &quot;The devil I know....&quot;.  But I&#39;m almost always assured that the first few links will be trying to sell me items from ebay or amazon. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I&#39;m all for a site that I can query that will return answers and not links. More power to &#39;em!&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/true-knowledge-nlp-and-hci.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-7446725988358438667</guid><pubDate>Fri, 09 Nov 2007 15:13:00 +0000</pubDate><atom:updated>2007-11-09T07:20:34.157-08:00</atom:updated><title>Nopen Social</title><description>&lt;span style=&quot;font-family: georgia;&quot;&gt;So Brandy and I were talking last night about Nopen Social and our general agreement with &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://radar.oreilly.com/archives/2007/11/opensocial_social_mashups.html&quot;&gt;O&#39;Reilly&#39;s&lt;/a&gt;&lt;span style=&quot;font-family: georgia;&quot;&gt; latest, when she says: &quot;Of course Open Social isn&#39;t open, good engineers generally aren&#39;t Socially Open, so it makes sense, they couldn&#39;t make it any other way.&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: georgia;&quot;&gt;Brilliant.&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/nopen-social.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-4733686989115635826</guid><pubDate>Thu, 08 Nov 2007 02:15:00 +0000</pubDate><atom:updated>2007-11-08T05:19:02.822-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">a.i.</category><category domain="http://www.blogger.com/atom/ns#">Artificial Intelligence</category><category domain="http://www.blogger.com/atom/ns#">computer science</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><title>Oliver Selfridge   pt. 2</title><description>&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;One of the greatest things to be a part of at Oliver&#39;s presentation, was listening to him reminisce about A.I. history with members of the audience.  This wasn&#39;t intentional, it just sort of happened naturally as he presented his slides.  He&#39;d share a thought, someone in attendance would ask a question, then in response, he and his peers, also in attendance, would bring up past work that validated/invalidated their answers.  In doing so, they couldn&#39;t help but go off on little sidetrips down memory lane.&lt;br /&gt;&lt;br /&gt;Upon reflecting about their time at &lt;a href=&quot;http://en.wikipedia.org/wiki/Bell_Labs&quot;&gt;Bell Labs&lt;/a&gt; and DARPA, you could hear the joy and gratitude in his exchanges with McCarthy.  They&#39;d describe the work, and mention others working there.  They looked back together fondly on a time working with Minsky.   Oliver went on to express his sadness at losing &lt;a href=&quot;http://en.wikipedia.org/wiki/Frank_Rosenblatt&quot;&gt;Rosenblatt&lt;/a&gt;.  He told the story of &lt;a href=&quot;http://en.wikipedia.org/wiki/Perceptron&quot;&gt;perceptrons&lt;/a&gt; and thought it unfortunate Frank didn&#39;t get the chance to counter Minsky&#39;s arguments against his findings.  He also mentioned a brief time of greatness at &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_Equipment_Corporation&quot;&gt;DEC&lt;/a&gt;, and you could sense the early joy and then feel the anger and sadness as his tone changed;  He described watching their great products and research efforts take a dive due to poor leadership in the company and he had some choice words for &lt;a href=&quot;http://en.wikipedia.org/wiki/Ken_Olsen&quot;&gt;Ken Olsen&lt;/a&gt;.  You could also hear Oliver&#39;s sad frustration at losing &lt;a href=&quot;http://en.wikipedia.org/wiki/Licklider&quot;&gt;Licklider&lt;/a&gt;.  He thought Licklider could have lived many more years if he would&#39;ve just taken better care of himself at the end, and he wished they could of had those years.  He had a great amount of respect for that man.&lt;br /&gt;&lt;br /&gt;They were just brief mentions, but you felt like you were right there with him.  I&#39;ve always been a fan of computer science, and for me, being in that room gave me the chance to meet so many of my heroes.  People who I&#39;ve read about, and who&#39;s formulas and algorithms I&#39;ve studied, all suddenly there live and in 3-d confirming my studies and enriching what I know with those little details that let you know it&#39;s real.  It was awesome to get to go back to those places with them,  just for those short moments.&lt;br /&gt;&lt;br /&gt;Well, on that note.  I thought of immediately hitting them all up and putting together a book on the history of A.I.  Listening to him, I realized we&#39;ve lost many greats already, and that losing more is a given.  I wanted to capture those voices before they were lost.  Upon looking them all up after the lecture, I found &lt;a href=&quot;http://robotics.stanford.edu/%7Enilsson/&quot;&gt;Nils Nilsson&lt;/a&gt; is actually doing just that.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;From his homepage:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;b style=&quot;font-family: lucida grande; font-style: italic;&quot;&gt;The Quest for Artificial Intelligence&lt;/b&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;&quot; &gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;&quot; &gt;  I am writing a book on the history of AI. I hope to finish by the end of 2008&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I&#39;ll be the first in line to buy it.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/oliver-selfridge-is-pimp-pt-2.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-5569765817597341091</guid><pubDate>Wed, 07 Nov 2007 02:46:00 +0000</pubDate><atom:updated>2007-11-07T11:46:51.270-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">a.i.</category><category domain="http://www.blogger.com/atom/ns#">machine learning</category><title>Oliver Selfridge is a P.IM.P.   pt. 1</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;Pretty damn IMportant Person in the world of A.I. !&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;I&#39;ve been meaning to share this for a few days, but it&#39;ll probably take a few posts.  So I&#39;ll just start with this:  On Thursday, October 25th, I had the privilege of seeing &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Oliver_Selfridge&quot;&gt;Oliver Selfridge&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; give a presentation to the &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://symsys.stanford.edu/&quot;&gt;Symbolic Systems&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; posse at Stanford and it was incredible.   I didn&#39;t know what to expect, but I walked in and there was &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29&quot;&gt;John McCarthy&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://ai.stanford.edu/%7Enilsson/&quot;&gt;Nils Nillson&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;, and &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Edward_Feigenbaum&quot;&gt;Ed Feigenbaum&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; sitting in the audience.  It was a small affair, probably around 40 people, and half of them were O.G. veterans of A.I. There were probably other greats there too that I just didn&#39;t know or catch.  Half the room was gray hairs and the other half were undergrads.  It was kinda like something out of Dark Crystal, all the &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.bookmice.net/darkchilde/dark/dcm/001.jpg&quot;&gt;Mystics&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; gathered and dropped some serious science while us Skeksis waited to merge, but anyway, onto the good stuff....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;His lecture was titled &quot;Let&#39;s Improve Machine Learning&quot; and I took notes voraciously, so I&#39;ll just share some highlights.   Also, the experience has given me 3 threads of thought I find myself meditating on, that&#39;s why I&#39;ll be breakin the posts up:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Part 1) His presentation itself and what it means&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Part 2) Hearing the history of A.I. shared first person by himself and the attendees&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Part 3) How come so many people ride FB&#39;s jock for the valuation, or attend the web2.0 summit but sleep on the greats who actually deliver?  In fact, we still use and teach what these people  delivered 40+ years later while I&#39;m pretty confident we&#39;ll forget some of these dot-com &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.urbandictionary.com/define.php?term=fronting&quot;&gt;frontrepeneurs&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; after a short time. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-family:georgia;&quot; &gt;Part 1: The Presentation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;I want software to give a shit.&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;That direct quote sums it up in a nutshell.  He himself quoted &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Norbert_Weiner&quot;&gt;Norbert Weiner&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; who proposed &quot;a machine can learn&quot; , and &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Edmund_Berkeley&quot;&gt;Ed Berkeley&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; who said, &quot;a machine, therefore, can think.&quot;  From this he went on to question how much does software think today?  He also asked, well, if we want software to think, how might we do that?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;To answer those questions, he focused  on giving software a Purpose, and what that  entails.  His notion of Purpose: &quot;Having Purpose means having a goal, and trying to achieve it.&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;To have software give a shit, he Proposed &quot;Purpose Loops&quot;.  Adaptive, learning loops, with an  emphasis that software should remember what it has learned.  He pointed out that today, most apps reach a goal, but forget how they got there and don&#39;t build off of it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;He also stated that Math, while great, should not be an impediment to getting software to care.  His background is Math, and he didn&#39;t mean to offend any Mathematicians, he just thinks that sometimes scientists get lost in the equations and at that point stop getting things done in regards to advancing learning applications forward.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;From there he stated some of the insights and challenges with Purposes, and he often used people and children as a metaphor for what the software could/might do:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;Purpose Insights:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;1)You can have many at once.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;2)There are different kinds.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;3)You remember them, and learning is not isolated.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;(you build off experiences; sequences of met goals.)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;4)You collaborate: sharing what you&#39;ve learned;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;we learn from our experiences and other&#39;s;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;we don&#39;t reach goals or learn in a big-bang fashion, it builds.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;5)If you don&#39;t reach the goal the first time, you try something else.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;6)Learning is self-improvement; what the learner perceives to be important.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;Purpose Challenges:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;1)You can have a hierarchy of Purpose:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;Win the war!&quot; - The Commander&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;Take the city!&quot; - Major&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;Take the hill!&quot; - Corporal&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;Take out enemy tanks!&quot; - Sgt.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;Stay Alive!&quot; - Private&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;2)You can have many Purposes at once.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;3) The world changes: values, cost, environments, you change...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;From this he pointed out, that many times we work to deliver the very best software, but given this, he quotes &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://en.wikipedia.org/wiki/Marvin_Minsky&quot;&gt;Minsky&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;: &quot;The best is the enemy of the good&quot;. So again, the message was just get out there and make something happen!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;4)Sharing; you can&#39;t always share and when you can there&#39;s no standard way.  Language helps, but in some situations, you need examples, instructions, teaching. (He used Tennis as an example.)  He also pointed out that many times Sharers have something in common.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Now, here&#39;s where it got kind of Matrixy; he proposed apps that help other apps in the way an adult helps a child.  When people asked technical questions during the course of this event, he&#39;d often respond: &quot;How would you (insert noun/verb from question here) with a child?&quot;  But he made complete sense.  It was Brilliant!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;Some Challenges with the Challenges:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;He provided some more examples where Learning and Sharing are just tough:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;1) Learning to raise an eyebrow; or raise each individually.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;2) Sometimes you can&#39;t teach how to do something, but how to learn how to do something.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;3) Counting; how did man learn to count and why, it must be important.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;4) How to get to the grocery?  Requires maps/models; we often make the map in our head and remember landmarks.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;5) Spoonerisms: I&#39;m riding a well-boiled icicle&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;6) SkyDiving: Trying and failing may not work.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;7) Learning a new skill&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;8) Solving quadratic equations (there are many ways: factoring, graphing, formulas, etc.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;What To Do:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;He started to wrap up with proposals for what we can work on to help give software a purpose.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;1) A full descriptive taxonomy of Purposes.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;2) A language for expressing Purposes.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;3) Flexible adaptive modules for our Purpose Loops and Learning.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;4) A language for remember what we&#39;ve learned&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;5) Hierarchies of Purposes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;6) Kinds of Change&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;A particularly useful problem: Recognition of English Text, there&#39;s no ideal way.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;font-size:85%;&quot;  &gt;(Note: NLP is something I&#39;m keenly interested in and have been focused on for quite some time, so I was right there with him loving it by the time he got to this point.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;In Conclusion:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;He concluded with this parting thought:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;You can&#39;t program a kid, you can only open a door for a kid and show them what&#39;s out there, then they care.  Do the same for software.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-style: italic;font-family:georgia;&quot; &gt;Final Thoughts:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Ok, some of those points above may be concise, but I hope you got something out of it.  It was a great presentation, and some of McCarthy&#39;s quotes during the presentation were priceless:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;When Oliver spoke on learning, McCarthy stated with authority in response:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;&quot;You can only learn what your system will permit.&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;When Oliver spoke on the advancement of machine learning and A.I.,&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; McCarthy pointed out:&lt;br /&gt;&quot;Complete success has not been achieved.&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;which caused many to laugh.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;And finally, when people were questioning Oliver&#39;s points on scientists getting lost in Math, and not advancing machine learning as quickly as may be possible,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;McCarthy blurted out: &quot;It&#39;s not the fault of Mathematics!&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;So marinate on that for awhile, I&#39;ll followup with some more A.I. goodness later.&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/oliver-selfridge-is-pimp-pt-1.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-2934938052211428498</guid><pubDate>Sun, 04 Nov 2007 20:23:00 +0000</pubDate><atom:updated>2007-11-04T12:26:24.582-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DARPA Urban Challenge</category><title>Urban Challenge Update Final</title><description>The Final Winners have been announced.! Details will probably eke out over time, but it looks like a questionable lane change by Stanford, and a traffic infraction by VT, cost them the first place crown.  Congratulations to all the Teams!  I can&#39;t wait to see how they step it up for the next challenge.&lt;br /&gt;&lt;br /&gt;1) Tartan Racing (Carnegie Mellon)&lt;br /&gt;2) Stanford Racing&lt;br /&gt;3) Victor Tango  (Virginia Tech)</description><link>http://kiwisi.blogspot.com/2007/11/urban-challenge-update-final.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-5171840973932862546</guid><pubDate>Sat, 03 Nov 2007 22:48:00 +0000</pubDate><atom:updated>2007-11-03T15:59:27.586-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DARPA Urban Challenge</category><title>Urban Challenge Update II</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;Phenomenal! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-family:georgia;&quot; &gt; Spoiler Alert! &lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-style: italic;font-family:georgia;&quot; &gt;(just kidding, but you know how people reveal the details of Heroes or Lost, well I&#39;m about to do it with the DARPA Urban Challenge.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Ok, I haven&#39;t gotten anything done all day because I&#39;ve been watching the race online.  &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.grandchallenge.org/darpauc07/watchtherace/statusboard.html&quot;&gt;6 of 11 teams completed the course&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;. Stanford crossed the finish first, but we won&#39;t know the actual winner until later.  Along with the course completion times, the vehicles were awarded and deducted points based on their performance throughout several key tests.  DARPA&#39;s crunchin the numbers and will probably announce the winner tomorrow morning.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Oh, how far it&#39;s come!  I remember watching the &quot;webcast&quot; in 2005.  Then it consisted of a map with different colored moving dots representing the bots.  I was so excited when I saw the red dot of Stanford pass the CMU dot.  The reporting was so sparse, I had to wait for official DARPA updates to confirm that they&#39;d actually completed the course before CMU.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Today&#39;s webcast was brilliant.  They had cameras everywhere and you could watch all the vehicles in action.  Like a tv sports event, they even had the banner at the bottom of the screen.  On the right of the banner, instead of espn, it had the DARPA emblem.  And on the left, it would have numbers for the mission completed while the banner displayed the team name.  They even had announcers calling the action. It was spectacular!   I hope they release it on DVD, I&#39;d buy it.  It was amazing to see autonomous vehicles come to a Stop sign together, pause, then take action to merge into traffic, or continue on their way without hitting the other vehicles.  There were some mishaps of course, but all in all, it was amazing!  Congratulations to all the teams!  I can&#39;t wait to find out who won.&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/urban-challenge-update-ii.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-1674225015607728921</guid><pubDate>Fri, 02 Nov 2007 13:39:00 +0000</pubDate><atom:updated>2007-11-03T15:59:44.323-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DARPA Urban Challenge</category><title>Urban Challenge Update</title><description>&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://www.darpa.mil/grandchallenge/teamlist.asp&quot;&gt;11 Teams Qualified.&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;  Tomorrow at 8:30 PT the real challenge begins.  &lt;/span&gt;&lt;a style=&quot;font-family: georgia;&quot; href=&quot;http://blog.wired.com/defense/urban_challenge/index.html&quot;&gt;Wired&lt;/a&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt; has some great posts that give the whole event a more personal touch. Stories there include: teams working together so each bot can qualify, how a track had to be resized for team Oshkosh, and how team Virginia&#39;s entry is number 32 in honor of those they lost April 16th at their campus.&lt;/span&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;  Best of luck to all 11!&lt;/span&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/11/urban-challenge-update.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-7975988847984928081</guid><pubDate>Thu, 01 Nov 2007 03:48:00 +0000</pubDate><atom:updated>2007-11-02T06:51:06.850-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DARPA</category><title>We Can Rebuild Him, We Have The Technology</title><description>DARPA @ gadgetoff.&lt;br /&gt;I found myself concerned for the monkey, but they did it to a human too.  The Bionic Man is coming....&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/O7T5ZehYAlg&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/O7T5ZehYAlg&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; height=&quot;355&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><link>http://kiwisi.blogspot.com/2007/10/we-can-rebuild-him-we-have-technology.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-4121955832833768568</guid><pubDate>Wed, 31 Oct 2007 02:40:00 +0000</pubDate><atom:updated>2007-11-02T06:52:37.240-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">DARPA Urban Challenge</category><title>I love it when you race &#39;em big DARPA!</title><description>&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;Ok, for some reason, a lot of people are sleeping on the &lt;a href=&quot;http://www.darpa.mil/grandchallenge/&quot;&gt;DARPA Grand Challenge&lt;/a&gt; this year.  35 teams are trying to qualify right now for 20 spots.  The teams who qualify, to be announced this Thursday, Nov. 1st,  will get to compete on Nov. 3rd in the Challenge.  This year, it&#39;s an Urban Challenge.  What does that mean?  Well first, some history:&lt;br /&gt;&lt;br /&gt;The first Grand Challenge was in 2004.  The challenge was to have a vehicle autonomously navigate itself through a 142-mile desert course &lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;in Nevada.  &lt;a href=&quot;http://www.redteamracing.org/&quot;&gt;Team Red&lt;/a&gt; from Carnegie Mellon, headed by &lt;a href=&quot;http://en.wikipedia.org/wiki/Red_Whittaker&quot;&gt;Red Whittaker&lt;/a&gt;, made it furthest at 7.4 miles.  Since the first prize was $1 million, and no team completed the course, the prize money rolled over to the next Challenge in 2005.&lt;br /&gt;&lt;br /&gt;In 2005, the course was 132 miles, Team Red had 2 entries and came in 2nd and 3rd behind &lt;a href=&quot;http://www.darpa.mil/grandchallenge/Teams/Stanfordracing.asp&quot;&gt;Stanford Racing,&lt;/a&gt; who completed the course in 6 hours and 53 minutes.  What&#39;s even more spectacular is Team Red was in the lead, and Stanford&#39;s vehicle had to pass them to come in first.  Stanford&#39;s team was led by &lt;a href=&quot;http://en.wikipedia.org/wiki/Sebastian_Thrun&quot;&gt;Sebastian Thrun&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This year, they&#39;re at an abandoned Military Base in Victorville CA.  The Challenge includes:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:Verdana;font-size:100%;&quot;  &gt;       &lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;Vehicles will attempt to make safe left turns across moving  traffic, and pull out at T-intersections &lt;/span&gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;with cars arriving from both  directions. In other tests, vehicles will follow narrow winding roads, &lt;/span&gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;avoiding  parked cars and other obstructions. Vehicles must also maneuver into a &lt;/span&gt;&lt;span style=&quot;font-style: italic;font-size:85%;&quot; &gt;designated parking spot, and negotiate 4-way intersections and road-blocks.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;;font-family:georgia;font-size:100%;&quot;  &gt;So this is out of hand.  They have professional drivers out there simulating traffic and the vehicles have to autonomously merge and navigate the obstacles to reach the goal line.  First prize is 2 million dollars and you can watch the race on a live webcast Nov. 3rd at &lt;a href=&quot;http://www.grandchallenge.org/&quot;&gt;www.grandchallenge.org&lt;/a&gt; .   Right now there are all sorts of info on the teams, links to blogs, pictures, etc. on the main site.  Epic!&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Red_Whittaker&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;It was just a dream, I used to read DARPA magazine, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Marvin Minsky , John McCarthy in the limousine!&lt;/span&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/10/i-love-it-when-you-race-em-big-darpa.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-1537762229529997465.post-2121222900008610129</guid><pubDate>Tue, 30 Oct 2007 04:26:00 +0000</pubDate><atom:updated>2007-10-29T21:43:27.837-07:00</atom:updated><title>Hello, World!</title><description>&lt;span style=&quot;font-family:georgia;&quot;&gt;It&#39;s on like Donkey Kong!  , as they say, do they say that anymore?  Who Cares! I&#39;m &lt;/span&gt;bringin&lt;span style=&quot;font-family:georgia;&quot;&gt; it back!!  I&#39;m &lt;/span&gt;settin&lt;span style=&quot;font-family:georgia;&quot;&gt; up and &lt;/span&gt;gettin&lt;span style=&quot;font-family:georgia;&quot;&gt; ready to wreck shop like Sage Francis.  For those that don&#39;t know, I&#39;ll be &lt;/span&gt;wreckin&lt;span style=&quot;font-family:georgia;&quot;&gt; shop like a drunk mechanic!  This is my forum for all I find interesting; a way to communicate with friends far and near and to share some of my experiences in life and with &lt;/span&gt;XQuery&lt;span style=&quot;font-family:georgia;&quot;&gt;.  Think of it as &lt;/span&gt;Mashups&lt;span style=&quot;font-family:georgia;&quot;&gt; and Machine Learning with Tales from &lt;/span&gt;Tagland&lt;span style=&quot;font-family:georgia;&quot;&gt; thrown in.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;Why &lt;/span&gt;Kiwisi&lt;span style=&quot;font-family:georgia;&quot;&gt;?  Because I often find that when I search, I don&#39;t necessarily know what I&#39;m looking for, but I know it when I see it.  Sorta like the title of this blog, until I think of something better, I&#39;m &lt;/span&gt;rollin&lt;span style=&quot;font-family:georgia;&quot;&gt; with it.  Also, &lt;/span&gt;according&lt;span style=&quot;font-family:georgia;&quot;&gt; to a recent report, many are now experiencing &lt;a href=&quot;http://searchengineland.com/071023-093541.php&quot;&gt;search engine fatigue.&lt;/a&gt;&lt;/span&gt;  Instead of digging around on your favorite search engine for hours trying to find what you&#39;re looking for, I&#39;m hoping you might just find something interesting here.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:georgia;&quot;&gt;First things First!! I&#39;m &lt;/span&gt;rollin&lt;span style=&quot;font-family:georgia;&quot;&gt; with the defaults on this thing.  I know it&#39;s blah!  I&#39;ll work on it and improve as we move forward,  for now I&#39;ve got some catching up to do with some of the stuff I want to share with y&#39;all.  To keep it interesting, I&#39;m going to try and post frequently, maybe not daily, but I&#39;m definitely making a commitment to this.  Peace!&lt;br /&gt;&lt;/span&gt;</description><link>http://kiwisi.blogspot.com/2007/10/hello-world.html</link><author>noreply@blogger.com (Pete Aven)</author><thr:total>1</thr:total></item></channel></rss>