<?xml version="1.0" encoding="iso-8859-1" ?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wiki="http://purl.org/rss/1.0/modules/wiki/" ><channel rdf:about="http://www.twiki.org/cgi-bin/view/Blog">
  <title>TWiki Blog - full RSS feed</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog</link>
  <description>TWiki is a Web-Based Collaboration Platform for the Enterprise.</description>
  <image rdf:resource="http://www.twiki.org/p/pub/TWiki/TWikiLogos/T-logo-140x40-t.gif" />
  <dc:language>en-us</dc:language>
  <dc:rights>Copyright 2012 by contributing authors</dc:rights>
  <dc:publisher>Peter Thoeny [peter09@thoeny.org]</dc:publisher>
  <dc:creator>The contributing authors of TWiki</dc:creator>
  <dc:source>TWiki</dc:source>
  <items>
    <rdf:Seq>
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x2" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201112x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x3" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x2" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x3" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x2" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x3" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x2" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201108x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201106x1" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x3" />
      <rdf:li rdf:resource="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x2" />
    </rdf:Seq>
  </items>
</channel>
<image rdf:about="http://www.twiki.org/p/pub/TWiki/TWikiLogos/T-logo-140x40-t.gif">
  <title>TWiki.org home.Blog</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog</link>
  <url>http://www.twiki.org/p/pub/TWiki/TWikiLogos/T-logo-140x40-t.gif</url>
</image>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x2">
  <title>TWiki.org Blackout to Fight Internet Censorship a Success</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x2</link>
  <description> 
  On Tuesday I was asked if TWiki.org was going to participate in today's blackout campaign to protest against SOPA and PIPA, the legislation to combat piracy currently in discussion in Washington DC. I first intended to just add a yellow box on the homepage asking to contact a representative to oppose these legislative bills, because they would censor the Internet and stifle innovation. There is a lot of coverage on the issue. I found these two most striking: 1. TED talk by Clay Shirky: Defend our freedom to share (or why SOPA is a bad idea): http://bit.ly/w9s7D5 this is the best articulation I have seen so far why it is important to keep the internet open: 2. Tim O'Reilly blog: SOPA and PIPA are bad industrial policy: http://oreil.ly/yRhkFE Tim takes the perspective of the market and competition. Today Wednesday, 2012 01 18 (coincidentally my birthday) is a big day where thousands of website went on strike and either completely blacked out their website, or made them partially inaccessible. The biggest site that had a complete blackout was the English Wikipedia, which went black for 24 hours from midnight to midnight US Eastern time after it with the Wikipedia community. Based on a casual observation on Facebook and Twitter, probably the biggest impact made Google: Even though they only blacked out their logo with a link pointing to a page to take action, collected 4.5 million anti SOPA signatures today. With TWiki.org community support I decided to completely blackout all 118,000 TWiki.org pages for 24 hours. We went on strike on 01:00am US Eastern time for 24 hours. In that period we had over 50,000 page views, with each page containing a message to contact Congress: Here is the message to the member of Congress: I am writing to you as a voter in your district. I urge you to vote "no" on cloture for S. 968, the PROTECT IP Act, on Jan. 24th. The PROTECT IP Act is dangerous, ineffective, and short sighted. It does not deserve floor consideration. I urge my representative to vote "no" on SOPA, the corresponding House bill. Over coming days you'll be hearing from the many businesses, advocacy organizations, and ordinary Americans who oppose this legislation because of the myriad ways in which it will stifle free speech and innovation. We hope you'll take our concerns to heart and oppose this legislation by voting "no" on cloture. As a result of the coordinated protest against these bills by thousands of websites today, USA Today reported that senators backed down from supporting the bills. Success, at least for now! Thanks all for all the support you gave to keep the Internet open! 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2012-01-19T07:46:45Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x1">
  <title>New TWiki-5.1.1 Release: Easy to Use, Easy to Upgrade</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201201x1</link>
  <description> 
  Great work, TWiki.org team! Year over year you create rock solid code. You guys rock! We just released TWiki 5.1.1 aka Istanbul Release. A big THANK YOU to everybody who contributed to this release! And special thanks to our release manager GeorgeTrubisky who built this release. We invite developers who appreciate to work on quality code to join us, get involved! TWiki 5.1.1 is now available for download from the http://twiki.org/ website. This is a patch release that adds some minor new features and fixes a number of bugs. As for the last three years, this new release is well tested and is very stable. Upgrade is recommended to this TWiki 5.1.1 release. This release supersedes TWiki 5.1.0, which introduced many usability enhancements, such as point and click user data management, more visual user profile pages with picture selector, and a backup feature to help upgrade TWiki sites. TWiki 5.1 also strengthens TWiki as an application platform to more easily build custom wiki applications. Morgan Stanley has Globally Replicated Intranet TWiki With 30,000 Users: Recently, TWiki contributor HideyoImazu, who is VP of IT at Morgan Stanley submitted a technical article on their deployment of TWiki. You can read the TWiki Success Story of Morgan Stanley and the related blog post, but here is an interesting quote by Imazu san: "Our TWiki has a very good track record of availability. It kept working as usual when one data center was lost. When another data center outage happened, TWiki stopped working because the network attached storage was lost despite the high availability design. But TWiki recovered faster than the other content management platforms. There are internal users who don't want to put their content on other content management platforms than TWiki because other platforms don't provide high enough availability." TWiki 5.1 Community Release Feature Highlights: New features in the patch release are marked as "added in TWiki 5.1.1". Usability Enhancements API and GUI for point and click user data management Support disabled users in password manager More visual user profile pages with in place editing of form fields and picture selector In place editing of TWiki group settings using PreferencesPlugin Point and click bookmarks for better usability Improved statistics showing overall site usage over time, such as total number of webs, topics, users, etc TWiki Application Platform Enhancements Macro language with parameterized variables Ability to auto create page on view if it does not exist Relative heading levels for INCLUDE Relative heading levels for SEARCH Security Enhancements Set a flag to force password change on next login S/Mime support for notification e mails Plugin Enhancements New BackupRestorePlugin to easily backup, restore and upgrade TWiki installations BackupRestorePlugin: Add ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2012-01-16T23:57:42Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201112x1">
  <title>TWiki I/O Architecture Explained</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201112x1</link>
  <description> 
  TWiki as an enterprise wiki is frequently used across many teams in an organization. Over time more and more content is maintained in TWiki. Teams use many other enterprise systems in their daily activities, such as bug trackers in Engineering, CRM and ERP systems in Sales, and inventory systems in IT. With this there is a need to make these systems talk to each other. When an enterprise wiki is used as an intranet it lends itself to become the platform to glue these enterprise systems together. Let's take an example: A major customer, Acme Systems, orders a custom firewall hardware product. The Sales folks keep track of the sales opportunity in Salesforce, and Engineering uses FogBugz for change management and bug tracking. Engineers typically do not have access to Salesforce, and Sales folks do not have access to FogBugz. Status updates are sent by e mail and change requests are coordinated using e mail, which is ineffective and error prone. In this scenario it makes sense to tear down the silos and create a dashboard where Sales and Engineering can go to one place to see up to date information on this sales order. TWiki as an enterprise wiki and application platform lends itself to create team dashboards and project dashboards that bring teams together. There are many ways to integrate enterprise systems in TWiki as shown in this TWiki I/O architecture diagram: TWiki content (wiki pages, attachments) and TWiki applications reside in the data layer, shown in the middle in yellow. Wiki pages and attachments are typically unstructured. TWiki is a structured wiki, meaning is a platform that allows teams to create TWiki applications to structure content. Application developers use TML (TWiki Markup Language), HTML,CSS and JavaScript to create TWiki applications, such as project dashboards, status reporting systems, or inventory applications. These applications might store data internally in TWiki, or they might pull or store data in an external database. This diagram shows how TWiki applications can interact with other enterprise systems. Let's start from top left and go clockwise. 1. Reports: If content is stored in a structured format in TWikiForms based applications it is easy to create reports. Reports are formatted searches that can be SQL like or regular expressions. The output can be formatted to be HTML, JSON, CSV, or any form of XML, such as RSS or ATOM. Learn how to export TWiki data in CSV format for use in Excel. 2. Web Applications: Many web applications have an API to interact with other web applications or with a server. AJAX is a technology to interact with a server so that web pages can be partially updated without reloading the whole page. There is a TWiki.org blog that explains how Ajax works, it also has a TWiki specific Ajax example. TWiki has a REST API. REST (REpresentative State Transfer) is a technique for implementing web services using XML documents plus standard HTTP, using its well known operations (PUT ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-12-21T01:34:37Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x3">
  <title>Case Study: How 10,000 Researchers at CERN Collaborate Using TWiki</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x3</link>
  <description> 
 CERN, the Organization for Nuclear Research, is one of the world's largest and most respected centres for scientific research. At the European Laboratory for High Energy Physics, the Large Hadron Collider (LHC) accelerator is colliding beams of protons at energies of 3.5 TeV, recreating conditions close to those at the origin of the Universe. The four main LHC experiments, Alice, Atlas, CMS and LHCb are complex detectors with millions of output channels. These experiment detectors, large as cathedrals , have been designed, built and are now operated by collaborations of physicists from universities and research institutes spread across the world. Wikis are a perfect match to the collaborative nature of CERN experiments and since TWiki was installed at CERN in 2003 it has grown in popularity, and the statistics from September 2011 show nearly 10,000 registered editors and about 110,000 topics. TWiki runs on Linux machines with the Apache web server and is written in Perl and so was easily installed on typical CERN computers. The TWiki service quickly became popular at CERN following its introduction and as the following figures show the number of users and topics has grown at a steady rate over the past years. Registered users: Sep 2011 TWiki topics at CERN Sep 2011 Use Cases The Atlas collaboration consists of 3000 physicists from more than 174 institutes in 38 countries on 5 continents. These collaborators need efficient means of communicating information. To this end, has enthusiastically embraced TWiki since 2004 and now has over 14,000 web pages some of which are world readable containing technical information about Atlas as well as protected ones for physics preparations and results. New pages are created at a rate of 150/month and averaging over 10,000 updates a month. Atlas creates workbooks with TWiki and the application's working environment allows their users to contribute to the development and maintenance of the documents. CMS (The Compact Muon Solenoid detector) also uses TWiki for creating software guides and workbooks and makes use of the PDF creation feature that allows a one click creation of an entire book. They also benefit from the dynamic web page creation features and implement virtual blackboards that can be written on by users from all around the world. Both the Atlas and CMS experiment collaborations employ specific review processes to ensure that Wiki content is maintained and current. Certification features are used to ensure document integrity and authors are reminded by email to check the validity of information in their pages, in case it has not been updated by one of their peer researchers. Problems and Solutions Performance and search issues The increasing number of people using TWiki had an effect on the system CPU load and resulted in slower page response times especially for searches. New hardware with more CPU power and memory corrected these performance issues. The TWiki data back end ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-11-15T01:17:37Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x2">
  <title>How to Export TWiki Data in CSV Format for Use in Excel</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x2</link>
  <description> 
  Sometimes it is desirable to export TWiki forms based data from TWiki applications. CSV (comma separated values) is a simple file format that is widely supported by many applications, including spreadsheet programs such as Excel. This blog introduces the CSV format and explains how to generate a CSV file on the fly in a TWiki application. The CSV format is not clearly defined, there is no real CSV standard. In common usage almost any delimiter separated text data may be referred to as a CSV file. Traditionally, however, lines in the text file represent rows in a table, and commas separate the columns. This traditional understanding is defined in 4180, which is the best known effort to formalize a CSV standard. In its most basic form, each record is a line, and fields are separated by a comma. Here is an example that contains a header row representing the field names, and two records: First name,Last name,Age Jimmy,Neutron,14 Mickey,Mouse,16 Fields may contain commas, double quotes, and line breaks (CRLF); in which case they should be enclosed in double quotes. If double quotes are used to enclose fields, then a double quote appearing inside a field must be escaped by preceding it with another double quote. Example: Field A,Field B,Field C,Field D normal field,"field, with, commas","field with line feed","field with ""quoted"" text" Now that we understand the basics of CSV, let's see how we can generate a CSV file from TWiki content. As long as content is structured using TWiki forms it is easy to generate reports on the fly using a SEARCH variable. The search can be formatted to produce output in CSV format. Let's look at the ContactDbAddOn, which is a contact database. Each record is a TWiki page that has a ContactForm with fields Salutation, Name, Job Title, Company, Phone, Mobile, Fax, Email, and URL. Here is a search that shows all records using the default search format: %SEARCH{ "form.name 'ContactForm'" type "query" excludetopic " Template" nonoise "on" }% Now let's add a search format to generate the CSV output. We add a header line containing the names of the fields (the format parameter should be on one line) : %SEARCH{ "form.name 'ContactForm'" type "query" excludetopic " Template" nonoise "on" header "Salutation,Name,Job Title,Company,Phone,Mobile,Fax,Email,URL" format "$quot$formfield(Salutation)$quot,$quot$formfield(Name)$quot,$quot$formfield(Job Title)$quot,$quot$formfield(Company)$quot, $quot$formfield(Phone)$quot,$quot$formfield(Mobile)$quot,$quot$formfield(Fax)$quot,$quot$formfield(Email)$quot,$quot$formfield(URL)$quot" }% This search already produces the proper CSV output with fields enclosed in double quotes. There are some limitations though: 1. Double quotes in fields are not escaped they should be escaped. 2. WikiWords in form fields are automagically expanded into links they should be escaped. 3. Even if a page only contains the SEARCH, the TWiki skin adds headers with pulldown menus and footers ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-11-14T23:57:48Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x1">
  <title>Two Adopted Real-World Solutions for Enterprise Collaboration</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201111x1</link>
  <description> 
  I gave two technical sessions last month at the Valley Code Camp, one on How to Run a Long Background Process in a Web Application, the other one on How to Create a TWiki Application. Video blogger David Spark of Media Solutions and Dice interviewed me about real world examples of enterprise collaboration. I mentioned two TWiki related examples. David Spark interviewing Peter Thoeny: Two Adopted Real World Solutions for Enterprise Collaboration. David Spark: Collaboration across the enterprise is quite the bugaboo. Getting yourself and a friend to collaborate on a project is easy. Getting everyone in your group to collaborate is not so difficult either. But getting an entire company to collaborate using social tools such as wikis and blogs is quite a tantamount task. It's not easy and it takes a lot of trial and error and coaxing. At Silicon Valley Code Camp, I chatted with Peter Thoeny, CTO of Twiki, which started out as a wiki for the workplace. But it's also a box of LEGO, said Thoeny, you can use to build your own web or workflow application that can run within the wiki. Thoeny offered up a couple simple solutions for enterprise collaboration: Replace "Email All" with internal blogs One client of Twiki's was having a problem with employees taking advantage of the "Email All." The casual "send to all" for multiple messages a day was clogging up the company's mail servers. Twiki proposed a series of department specific internal corporate blogs that allowed for editorial control. The content was very visible on the company's homepage, and a weekly email was sent out to all employee's offering highlights from the blog. The solution reduced the "Email All" messages to just one a day. Wikifying a company File attachments are so yesterday and they're also extremely limiting to only those people who receive them. And those people often don't save or store them in a place for them to find later. Conversely, if the document is made publicly available on a wiki, and you just send a link, now that content is stored in an open corporate setting and has value to all, not just the intended recipient. #FunnyInterviews David interviewed many people at the Silicon Valley Code Camp. Here are two video compilations that are really funny: Annoying Habits of Developers. Your Worst Manager Ever 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-11-01T08:06:39Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x3">
  <title>Super Angel Ron Conway Talks About Entrepreneurship, Early Google and Facebook</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x3</link>
  <description> 
  Yesterday I attended a Rajeev Circle event at Stanford University. Professor Rajeev Motwani was an extraordinary connector between Stanford University and the entrepreneurial world in the Silicon Valley and beyond. The Rajeev Circle meets regularly to further his legacy in the areas of science, mentorship, investment and philanthropy. In yesterday's meeting we had the honor of getting advise from Eric Schmidt, executive chairman of Google, Ron Conway, super angel of the Silicon Valley, and others. I recorded the fireside chat between Ron Conway and Manish Chandra on the topic of starting and growing a startup. Below is the transcript. Key takeaways: Rajeev was an exceptional mentor to entrepreneurs. Young entrepreneurs Larry Page, Sergey Brin and now Mark Zuckerberg eagerly learn how to run a company, "anything you can do to help me learn how to start a company I am all ears". Ron as a super angel is first investing in the entrepreneurs, then in ideas. Good connections with influential people is key to start a business. Manish of early Google, "I sent one e mail to Ron, and Ron sent a bunch of e mails, and pretty soon within a week we had almost every single media company that was relevant to our space." Great entrepreneurs set clear goals and metrics. Mark Zuckerberg said to angel investor Ron with 100% competency that he "will reach 300 million users". Facebook has 800 million and counting. Mark Zuckerberg's "rate of maturity is on a logarithmic scale." Ron sees Mark every 6 month, and "every time I see him I say, you are a different person. Your outlook on the business, and your business acumen is completely different." Defining entrepreneurs change how we live and interact, "a defining entrepreneur is an entrepreneur that has the mindset of the consumer burned into their brain." Transcript of fireside chat between Ron Conway and Manish Chandra Manish: Ron, thanks for taking the time to join us, I know it's incredibly busy time in Silicon Valley and certain for you. We have just been talking before, and the first time I met Ron was with Professor Rajeev Motwani. and I just wanted to find out how you met Rajeev. Ron: Sure. Here is Asha Jadeja Motwani . I first met Asha and Rajeev in the very early days of Google when Rajeev was giving Larry Page and Sergey Brin what I would call algorithm advise. What was the name of the paper? Asha: Page rank? No, no, it was something cuter than that. ... "The web in your pocket" was the paper that Rajeev wrote with Larry and Sergey. If I am getting this wrong, correct me, but I think that is right. I was an early investor in Google. I invested when KP Kleiner Perkins and Sequoia invested. At that time I met Asha and Rajeev. Rajeev had an immediate significant impact on me because I have invested in 600 companies and in investing in 600 companies you meet a couple thousand people that are running these companies. On the Google team was this Professor from Standford ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-10-28T16:19:13Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x2">
  <title>How to: Turn Text Upside Down</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x2</link>
  <description> 
  Want to surprise your friends on Facebook, Twitter or Google Plus? How does this work? The text appears to be upside down (flipped), and it is possible to paste it into text boxes on Facebook and other websites, even though there is no such thing as an upside down character set. Some drawing programs offer text rotation, but that is handled at the application level. So how does upside text work in normal text input fields? Most websites nowadays support Unicode, which is a universal standard to represent text in computers. Unicode consists of tens of thousands of characters. The first 127 characters of Unicode are ASCII. Type text: &#161;u #653;op #477;p #305;sdn #633; #592; #477;dd #592; #1503; #1503; #305; #653; #647; #305; function upsideDownText() { var srcText document.getElementById( 'src' ).value.toLowerCase(); var out ''; for( var i srcText.length 1; i 0; i ) { var ch srcText.charAt( i ); if( ch 'a' ) { out '\u0250' } else if( ch 'b' ) { out 'q' } else if( ch 'c' ) { out '\u0254' } else if( ch 'd' ) { out 'p' } else if( ch 'e' ) { out '\u01DD' } else if( ch 'f' ) { out '\u025F' } else if( ch 'g' ) { out '\u0183' } //1D77' } else if( ch 'h' ) { out '\u0265' } else if( ch 'i' ) { out '\u0131' } //1D09' '\u01C3' '\u0131' } else if( ch 'j' ) { out '\u017F'} //1D98' '\u0638' } else if( ch 'k' ) { out '\u029E' } else if( ch 'l' ) { out '\u05DF' } else if( ch 'm' ) { out '\u026F' } else if( ch 'n' ) { out 'u' } else if( ch 'o' ) { out 'o' } else if( ch 'p' ) { out 'd' } else if( ch 'q' ) { out 'b' } else if( ch 'r' ) { out '\u0279' } else if( ch 's' ) { out 's' } else if( ch 't' ) { out '\u0287' } else if( ch 'u' ) { out 'n' } else if( ch 'v' ) { out '\u028C' } else if( ch 'w' ) { out '\u028D' } else if( ch 'x' ) { out 'x' } else if( ch 'y' ) { out '\u028E' } else if( ch 'z' ) { out 'z' } else if( ch '(' ) { out ')' } else if( ch ')' ) { out '(' } else if( ch '{' ) { out '}' } else if( ch '}' ) { out '{' } else if( ch ' ' ) { out ' ' } else if( ch ' ' ) { out ' ' } else if( ch '' } else if( ch ' ' ) { out ' Copy upside down text (flipped text) into a Facebook/Twitter/G status update How does this work? The text appears to be upside down (flipped), and it is possible to paste it into text boxes on Facebook and other websites, even though there is no such thing as an upside down character set. Some drawing programs offer text rotation, but that is handled at the application level. So how does upside text work in normal text input fields? Most websites nowadays support Unicode, which is a universal standard to represent text in computers. Unicode consists of of thousands of characters. The ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-10-20T17:13:12Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x1">
  <title>Case Study: Morgan Stanley has Globally Replicated Intranet TWiki With 30,000 Users, 500,000 Pages</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201110x1</link>
  <description> 
  At Twiki we are fortunate to have a large and active base of users. Due to the long term success of the TWiki open source project, we estimate about 50,000 teams use the collaboration platform world wide, across Fortune 500, Governments, Universities, and SMB. One of the perks of selling enterprise software is the opportunity to meet a range of great customers using our technology in interesting ways. This blog is a shortened version of a Inc blog. Recently a VP of IT at Morgan Stanley submitted a technical article on their deployment of TWiki. You can read the TWiki Success Story of Morgan Stanley, but here are some highlights: Scale The sheer scale of the deployment at Morgan Stanley is staggering in enterprise scale terms: 30,000 employees use the platform 4 Million page views per month (does not include crawlers) 500,000 web pages managed in the system 350GB of content Managed across 3 Data Centers with HA (high availability) High Availability HA requires some special mention here. Morgan Stanley has use cases that are considered critical for internal execution. As such, the Twiki service needs to be reliably up. We were excited to see how reliable Twiki is within the company. The VP's quote says it all: "Our TWiki has a very good track record of availability. It kept working as usual when one data center was lost. When another data center outage happened, TWiki stopped working because the network attached storage was lost despite the high availability design. But TWiki recovered faster than the other content management platforms. There are internal users who don't want to put their content on other content management platforms than TWiki because other platforms don't provide high enough availability." Use Cases "Mission Critical" Morgan Stanley uses the platform for sharing and collaboration of content, both documents and web content. Here are their specific uses: Technical Operations Manuals Document storage for the IT teams to manage day to day operations of their software assets. Software Product Documents A place for their internal teams to store documents during the development of their internal software. Team Workspaces Webs for their teams to share/collaborate project content such as project status, meeting minutes, and progress reports. A key comment from Morgan Stanley is the critical nature of the platform and its value within the organization: "TWiki not being a trading system or settlement system, TWiki's failure doesn't make the firm lose money directly. But some of mission critical systems depend on TWiki for their operation. In day to day operation and switching to new releases, operation manuals' availability is crucial. A very good track record of availability and global content replication make TWiki appealing." Competitive Value TWiki has enjoyed over a decade of providing content collaboration solutions to our user base with millions of users using the open ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-10-06T17:29:12Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x3">
  <title>How to Use Regular Expressions to Parse Nested Structures</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x3</link>
  <description> 
  This is an advanced topic that teaches how to to parse nested tree structures such as programming languages and spreadsheet formulas using regular expressions in Perl. The article is generic enough to be used in other languages that support regular expressions. expressions are very powerful to parse and modify text. They are also very fast to process large text over and over again. For example, the TWiki engine makes heavy use of regular expressions to turn TML (TWiki Markup Language) into HTML. Can regular expressions be used to parse nested structures, such as to parse a programming language or a nested spreadsheet formula? Some people say that regular expressions (e.g. state automaton) cannot parse nested structures because they are not regular, by definition. They argue, you would need an parser such as ANTLR to generate an abstract syntax tree which can be further processed with a tree parser. All that sounded too complicated when I was going to implement TWiki's SpreadSheetPlugin. Regular expressions are extremely fast, and I thought it might be faster than the LL parser and tree parser approach. So I took the challenge to parse spreadsheet formulas using regular expressions. For illustration, let's take a spreadsheet formula that needs to be parsed and processed. The example formula has 7 function calls with 5 levels of nesting, some of which have more than one function per level: $ROUND( $TIME( ), $TIMEDIFF( $TIME( $T( R$ROW( ):C$COLUMN( 1 ) ) ), day ) ) There is a way to use regular expressions to parse, say, up to 5 levels, and with the limitation that you can have only one function call per level. Certainly we need a more flexible solution that does not limit us on the number of levels for nesting and number of function calls per level. The solution is to parse twice, once to temporarily label the parentheses with level of nesting, then to resolve function calls recursively using matching parentheses identified by the labels. This can be done with regular expressions and recursive function calls. First, let's determine the level of nesting, indicated by the numbers above the parentheses: 1 2 2 2 3 4 5 5 5 5 4 3 2 1 $ROUND( $TIME( ), $TIMEDIFF( $TIME( $T( R$ROW( ):C$COLUMN( 1 ) ) ), day ) ) We use a regular expression to add the nesting level to the parentheses, together with an escape token (so that we can easily identify it later for processing and removal). Escape tokens with level are indicated by esc N; newlines are added for clarity: $ROUND esc 1( $TIME esc 2( esc 2), $TIMEDIFF esc 2( $TIME esc 3( $T esc 4( R$ROW esc 5( esc 5):C$COLUMN esc 5( 1 esc 5) esc 4) esc 3), day esc 2) esc 1) First, we write the main function that parses and resolves a spreadsheet formula: sub doFormula { my( $formula ) @ ; my $level 0; $formula ~ s/( \(\) )/ addNestingLevel($1, \$level)/geo; $formula doFunc( "MAIN", $text ); return $formula; } This function does two ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-09-17T05:48:30Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x2">
  <title>How to Run a Long Background Process in a Web App</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x2</link>
  <description> 
  Web applications need to respond quickly to user actions. From a usability point of view, anything that takes longer than a second or two will distract the user from the task at hand. What can be done if a process takes longer, or much longer? When I implemented the BackupRestorePlugin I realized that taking a backup of a midsize TWiki site can take many minutes, which is too long for a web page to load the browser might even time out. Here is what should happen as seen by the administrator who takes a backup: 1. User sees a list of existing backups 1. User presses a Create backup button to start a new backup 1. User sees a "creating backup now" message with a Cancel button and some visual clue that work is in progress. 1. Once the backup is done, the newly created backup is shown in the list of existing backups Screenshot of Backup Restore Console, showing the "creating backup now" message: Technically, the following needs to happen: 1. User sees a list of existing backups: done with a dynamic query that shows all backups 1. User presses a Create backup button to start a new backup: a daemon (background process) is started, and... 1. User sees a "creating backup now" message: ... page reloads with the "creating backup now" message check progress with a timed Ajax call. restart timer to check progress again in case backup is still going on, else... 1. Once the backup is done, the newly created backup is shown in the list of backups: ... page reloads with the dynamic query that shows all backups, ... plus any errors that might have occurred during backup The following part has hands on Perl and JavaScript code to explain how to run a long background process in a web application. Although it uses TWiki as an example, it is generic enough to be used in any web application programming environment (CGI, mod perl, etc.). Since TWiki is written in Perl, I looked for suitable technologies, including CPAN modules: Run daemon (background process): I found CPAN:Proc::Daemon to be suitable to run a background process. Although there is one disadvantage: It does not run on Windows. Capture output of daemon process: The STDOUT and STDERR of the daemon script (and other script that it calls in return) need to be captured so that error messages can be shown properly by the CGI script. I decided to use CPAN:IO::CaptureOutput. Ajax call to check backup status: I could have used jQuery or another JavaScript library. I opted for some simple homegrown JavaScript code to do the Ajax calls because I designed the plugin to run on old TWiki installations and I did not want to increase the dependencies. Run daemon (background process) The CPAN:Proc::Daemon module is well suited to the task of running a background process in a web application. Here is the basic Perl code: use Proc::Daemon; # build backup daemon command ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-09-22T01:33:15Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x1">
  <title>TWiki Has a New Solution for Point &amp; Click TWiki Upgrade</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201109x1</link>
  <description> 
  TWiki has a reputation of being difficult to upgrade. The TWikiUpgradeGuide describes how to upgrade TWiki, which is a manual and elaborate process that can take a long time. No more. TWiki has now a point click solution to upgrade a TWiki site with the help of the latest BackupRestorePlugin released on 2011 09 05. The plugin can be installed on older TWiki releases as low as TWiki 2001 09 01 (Athens Release) to easily create a backup that can be restored on a new TWiki release. On restore it is possible to automatically update system topics such as WebSearch and WebRss. Follow these steps to upgrade TWiki: 1. Install the BackupRestorePlugin on your old TWiki installation. 1. Create a backup using the TWiki Backup Restore Console (linked from plugin topic). 1. Transfer the backup zip file to the backup directory of the new TWiki installation. 1. Use the TWiki Backup Restore Console on the new TWiki to restore the backup. The details are described at BackupRestorePlugin#UpgradeTWiki Screenshot of Backup Restore Console, detail view, showing the backup of a very old TWiki 01 Sep 2001: Let us know what you think of the new TWiki upgrade solution! 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-09-07T02:42:37Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201108x1">
  <title>TWiki.org Announces TWiki-5.1 General Availability</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201108x1</link>
  <description> 
  New TWiki 5.1 release for enterprise collaboration with primary focus on usability for non technical users. TWiki's user base consists of millions of users on 50,000 installations in over 130 countries, backed by an open source community of hundreds of contributors and 50,000 twiki.org users. On behalf of the TWiki.org community I would like to announce the general availability of TWiki 5.1 Community Release. The primary focus of this release is usability enhancements, such as point and click user data management, more visual user profile pages with picture selector, and a backup feature that helps upgrade TWiki sites. The new release also strengthens TWiki as an application platform to more easily build custom wiki applications. As previous releases, the new release is rock solid and can be downloaded from http://twiki.org/. TWiki.org Community TWiki.org is an open source community consisting of hundreds of contributors and 50,000 users. The TWiki.org open source development model invites the download and inspection by developers, users and partners, producing a higher quality product than possible in proprietary development environments. TWiki.org operates by a clear set of community governance structure similar to Ubuntu and other leading open source projects. Since I found the project in 1998, TWiki.org has been supported by an extensive team of open source software developers around the world. Today, TWiki Community Edition is used by millions of users and is installed in tens of thousands of companies, including more than half of the Fortune 500. TWiki is a mission critical system at major corporations such as Cisco Systems, Google, IBM, Lufthansa, Morgan Stanley, Motorola, Nokia, Oracle, TI and UBS. The community has been working hard over the last 14 month to produce a collaboration platform that is now much more appealing to non technical users. I am very grateful to all community members who contribute ideas, specs, code, testing and documentation to the open source TWiki project. Over the last two year we morphed the community to be more end user focused. I invite you to get involved with the community! TWiki Use at CERN Besides companies, TWiki is also used by many universities and research organizations around the world. TWiki contributor Peter Jones is a system administrator at CERN: "The TWiki service quickly became popular at CERN following its introduction in 2003. TWiki has proven to be a simple and easy to use platform to create and develop collaborative documents, and today it is a key web collaboration tool for the LHC (Large Hadron Collider) experiments and many other user groups at CERN that consist of 1000s of users. At CERN TWiki is now more popular than ever with new users registering every day, and we are looking forward to deploying the new version that brings many usability enhancements. I am especially excited about the new user management feature that will reduce our workload." TWiki 5.1 Community Release Feature ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-09-07T02:41:54Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201106x1">
  <title>Wiki Applications and The Long Tail</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201106x1</link>
  <description> 
  First, what is Long Tail? From Wikipedia: "The Long Tail refers to the statistical property that a larger share of population rests within the tail of a probability distribution than observed under a 'normal' or Gaussian distribution. The Long Tail was popularized by Chris Anderson in an 2004 Wired magazine article, in which he mentioned Amazon.com and Netflix as examples of businesses applying this strategy." In statistical terms, the horizontal axis of the graph represents a sorted data set (such as words in English language, articles, sales deal, etc.), and the vertical axis represents the volume (number of times used, number of back links, price, etc.). For example, let's look at the advertising deals of search engine companies. Traditionally, they used to focus on the left side of the graph, e.g. they tried to sell high priced advertising deals to a few customers. Google and other companies started to focus on low priced high volume deals. That is, the sales action shifts to the long tail (the right side of the graph.) You might be wondering, what the long tail have to do with wikis? Structured Wikis are in the long tail of implementing business processes. But how? Large scale business processes are typically implemented by the IT department, for example to comply with the Act, to deploy a application, a traditional http://en.wikipedia.org/wiki/Content management system CMS, or the like. Those systems have a long procurement and development cycle, e.g. they are on the left side of the graph. On tho other side, teams follow formal and informal workflows to accomplish tasks. This is often a paper based process, such as rolling out laptops to employees, maintaining a status board of a call center, or signing off software to be compliant with export regulations. The IT department typically has not enough bandwidth to implement lightweight applications to automate those processes. A wiki lends itself to support evolving processes. First by enabling employees to document processes in the free form wiki way, with linked pages that are maintained collaboratively. Secondly, by creating structured wiki application with forms, queries and reports that automate those processes. Those applications are typically done in iterations in bazaar style. In Cathedral and the Bazaar, Eric S. Raymond compared two different styles in software development, the "cathedral" model of most of the commercial world, versus the "bazaar" model of the free software world. A similar shift happens now when collaborating in a wiki and when implementing business processes. One could say, wikis take care of business processes with an open source approach. An interesting question is: Who is implementing the applications that support the business processes? A CMS for example is deployed in cathedral style: User requirements are collected by analysts, the system is designed and implemented by programmers, then deployed to the user base. The design is done with a focus on security ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-06-04T07:28:15Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x3">
  <title>Social Media at Work: Viral Shift towards Information Age</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x3</link>
  <description> 
  Over the last decade I have seen organizations change fundamentally by applying wikis and other social media technologies at work. I was recently invited to speak at a panel on "Social Business as the New Organizing Principle" organized by Bay Organizational Development Network (OSBN) on 2011 05 02 where we talked about the paradigm shift social media brings at the workplace, some of which I am sharing here on twiki.org with a broader audience. Key point: Organizations that adopt social media internally tend to make a shift from from industrial age towards information age. Applying social media at work can affect an organization virally, typically in a positive sense. Imagine a scale as seen in the diagram to the left. On the left are industrial age organizations, on the right information age organizations. A company or agency may be anywhere on that scale. Where is your workplace? In a simplified way, industrial age organizations are arranged top down, in a command and control manner. Think military organizations, governments and traditionally run companies. There is a head, people reporting to that head, there is a second level of command, etc. This is the spider in Ori Brafman and Rod Beckstrom's book, The Starfish and the Spider: The Unstoppable Power of Leaderless Organizations. If I work in an industrial age company that is at the far left of the scale I mainly operate by title. My power is primarily attributed to my title. I only share as much as needed to do my work or to help my position, but not more. The reasoning is, if I share too much, someone might take advantage of me. Knowledge is power in a sense of exclusivity. Information age organizations on the other hand operate in a fundamentally different way. Think smaller startup companies in the Silicon Valley, large internet companies such as Google, and NGOs such as Alcoholics Anonymous. There is typically a top down reporting structure, but work gets done in a distributed way and has less to do with the reporting structure. This is the starfish in The Starfish and the Spider book, where the organization is made up of many smaller units capable of operating, growing and multiplying independently of each other. If I work in an information age company that is at the far right of the scale I mainly operate by my status as a knowledge worker or Guru. The idea is that the more I share, the more I am understood to be an expert in my field. I like to network because it helps me learn more and do work more effectively because I can ask and engage other experts to help achieve my goals. Knowledge is power in a sense of sharing and connecting. When I started deploying TWiki at work 13 years ago I had no idea how much this would transform companies. Wikis have been used for many years at work, long before the term Social Media was born. Other technologies joined wikis to transform the workplace, such as internal blogs, micro bloging and social networking. Initially not sanctioned by senior ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-06-04T03:36:38Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item>
<item rdf:about="http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x2">
  <title>How to Create an Amazon EC2 Instance (and Install TWiki)</title>
  <link>http://www.twiki.org/cgi-bin/view/Blog/BlogEntry201105x2</link>
  <description> 
  I recently installed TWiki in the cloud, the Amazon Elastic Compute Cloud (EC2). I am sharing my installation experience for all to enjoy. EC2 is part of Amazon Web Services (AWS), allowing users to rent virtual computers on which to run software. EC2 allows scalable deployment of applications by providing a Web service through which a user can boot an Amazon Machine Image (AMI) to create a virtual machine, which Amazon calls an "instance", containing an operating system and any software desired. There are many ready made AMIs available, each can be instantiated with several options on memory, CPU and disk. Let's look step by step on how to get a TWiki instance installed in the Amazon cloud. Part A of this article should be useful for anybody who wants to learn how to get started with EC2. Establishing a machine instance in the cloud is simply a point and click operation. Part B covers the TWiki installation, which are mostly manual tasks. Part A: Create an AMI Instance in EC2 1. Sign up: Visit http://aws.amazon.com/ to sign up, it's free (but running an AMI costs money). 2. Select AMI: Decide on the AMI suitable for your needs. Visit http://aws.amazon.com/amis to browse and search the AMIs. TWiki runs best on Linux, so we search for a suitable Linux AMI. Amazon offers their own Linux distribution, they call it "Amazon Linux AMI". According to their website, their distribution "includes several packages that enable easy integration with AWS, including launch configuration tools and many popular AWS libraries and tools. Amazon Web Services also provides ongoing security and maintenance updates to all instances running the Amazon Linux AMI." So for TWiki we chose Amazon Linux AMI, Amazon EBS Backed (64 bit), with AMI ID ami 8e1fece7 . %INCLUDE{ "Plugins.ModalBoxAddOn" id "instance1b" title "AWS Console Request Instance Wizard" content "" width "780" height "550" showbutton "Click to enlarge" }% 3. Launch AMI instance: Now that we know which AMI to use we can instantiate it. Visit https://console.aws.amazon.com/, click on the "Amazon EC2" tab, then in the left navigation sidebar, click on "Instances". In the main window, click on the "Launch Instance" button to launch the Request Instance Wizard. First, search or browse for "Amazon Linux AMI, Amazon EBS Backed (64 bit)" and select it. %INCLUDE{ "Plugins.ModalBoxAddOn" id "instance2b" title "AWS Console Request Instance Wizard" content "" width "780" height "570" showbutton "Click to enlarge" }% In the next screens, enter the instance details. There are several instance types to chose from. For TWiki, the Micro type with 613 MB RAM is sufficient. Give the instance a name, in our case it is intra . %INCLUDE{ "Plugins.ModalBoxAddOn" id "instance3b" title "AWS Console Request Instance Wizard" content "" width "780" height "570" showbutton "Click to enlarge" }% 4. Create a public/private key pair: You can't ssh into an common Amazon instance (unless ... 
<p />
 (last changed by PeterThoeny) </description>
  <dc:date>2011-05-28T22:46:45Z</dc:date>
  <dc:contributor>
    <rdf:Description link="http://www.twiki.org/cgi-bin/view?topic=Main.PeterThoeny">
      <rdf:value>PeterThoeny</rdf:value>
    </rdf:Description> 
  </dc:contributor>
</item><!-- <ul>
<li> Set SKIN = rss
</li></ul> 
-->
</rdf:RDF>
