<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>ProgTips</title>
	<atom:link href="http://tips.naivist.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://tips.naivist.net</link>
	<description>Kodējot radušās domeles</description>
	<pubDate>Tue, 05 Aug 2008 13:48:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>MOSS &#038; custom master pages</title>
		<link>http://tips.naivist.net/2008/08/05/moss-custom-master/</link>
		<comments>http://tips.naivist.net/2008/08/05/moss-custom-master/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 07:19:22 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/?p=128</guid>
		<description><![CDATA[I just found an interesting &#8220;feature&#8221; in MOSS publishing infrastructure. We&#8217;re designing a custom master page for our MOSS portal solution. If I recall correctly, we started with Heather Solomon&#8217;s minimal master page, but I&#8217;m not really sure.

We swiped out all of the built-in styles and layouts to achieve maximum flexibility and stylability of MOSS [...]]]></description>
			<content:encoded><![CDATA[<p>I just found an interesting &#8220;feature&#8221; in MOSS publishing infrastructure. We&#8217;re designing a custom master page for our MOSS portal solution. If I recall correctly, we started with Heather Solomon&#8217;s <em><a href="http://www.heathersolomon.com/blog/archive/2007/01/26/6153.aspx">minimal</a></em> master page, but I&#8217;m not really sure.</p>

<p>We swiped out all of the built-in styles and layouts to achieve maximum flexibility and stylability of MOSS infrastructure. I believe this is the best choice when you have to adapt your portal to custom tailored design layout.</p>

<p>Well, the result was, the portal worked fine with our master page, BUT the content query web part failed. It failed every time we enabled the RSS feed feature. Instead of seeing the actual content, it showed only an error message (in Latvian, since we&#8217;re using the latvian language pack) &#8220;Šo Web daļu nevar parādīt. Lai novērstu problēmu, atveriet šo Web lapu ar Windows SharePoint Services saderīgā HTML redaktorā, piemēram, Microsoft Office SharePoint Designer. Ja problēma netiek novērsta, sazinieties ar Web servera administratoru.&#8221;</p>

<p>No traces could be found in the ULS log nor in the event log of the server. After setting the diagnostic logging of all categories to <em>verbose</em>, finally an exception was written to the logfile:</p>

<pre><code> Error while executing web part: System.Xml.Xsl.XslTransformException: An error occurred during a
 call to extension function 'RegisterFeedUrl'. See InnerException for a complete description of the error. ---&gt; 
 System.Web.HttpException: The control collection cannot be modified during DataBind, 
 Init, Load, PreRender or Unload phases.     at System.Web.UI.ControlCollection.Add(Control 
 child)     at Microsoft.SharePoint.Publishing.WebControls.WebPartRuntime.RegisterFeedUrl(String url, String type)    
 --- End of inner exception stack trace ---     at ....
</code></pre>

<p>When looking at the RegisterFeedUrl in .Net Reflector, we found out that the code actually accesses the <em>Header</em> property of the <em>Page</em> object that is being rendered and adds HtmlLink control to the collection. It gave us a hint that probably there is something wrong with the <em>page</em> and <em>header</em> objects. And - yes, we had left out the <code>runat="server"</code> part of the HTML and HEAD tags.  So, this is the absolute minimum you must have:</p>

<pre><code>&lt;HTML runat="server"&gt;
    &lt;HEAD runat="server"&gt;
....
</code></pre>

<p>.. and, of course, the name space references and other stuff you usually put in the HTML element tag.</p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/08/05/moss-custom-master/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Closed or open?</title>
		<link>http://tips.naivist.net/2008/06/08/closed-or-open/</link>
		<comments>http://tips.naivist.net/2008/06/08/closed-or-open/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 16:10:36 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/?p=127</guid>
		<description><![CDATA[No šiem abiem vismaz man mazliet skaidrāks kļuva, ko viņi saprot ar &#8220;open world approach&#8221;. Un, ka man to vajag.
http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf
http://www.betaversion.org/~stefano/linotype/news/91/
]]></description>
			<content:encoded><![CDATA[<p>No šiem abiem vismaz man mazliet skaidrāks kļuva, ko <em>viņi</em> saprot ar &#8220;open world approach&#8221;. Un, ka man to vajag.<br />
<a href="http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf">http://www.cs.man.ac.uk/~drummond/presentations/OWA.pdf</a><br />
<a href="http://www.betaversion.org/~stefano/linotype/news/91/">http://www.betaversion.org/~stefano/linotype/news/91/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/06/08/closed-or-open/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Uz dullo&#8221;</title>
		<link>http://tips.naivist.net/2008/04/02/uz-dullo/</link>
		<comments>http://tips.naivist.net/2008/04/02/uz-dullo/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 06:40:07 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[matemātika]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2008/04/02/uz-dullo/</guid>
		<description><![CDATA[Nesen gadījās izmantot dr.Viļņa Detlova lietoto izlozes metodi un te ir tās īss apraksts.

Dots 


n elementu saraksts, no kura uz labu laimi jāizlozē viens ieraksts (piemēram, 25 cilvēku vārdi)
viens vai vairāki subjektīvi gadījuma skaitļu ģeneratori (piemēram, 2 cilvēki)
kalkulators (vēlami)


Izloze


sanumurē apskatāmā saraksta rindiņas sākot ar 0 un beidzot ar n-1
katrs skaitļu ģenerators iedomājas un paziņo citiem [...]]]></description>
			<content:encoded><![CDATA[<p>Nesen gadījās izmantot <a href="http://lv.wikipedia.org/wiki/Vilnis_Detlovs">dr.Viļņa Detlova</a> lietoto izlozes metodi un te ir tās īss apraksts.</p>

<p>Dots </p>

<ul>
<li><em>n</em> elementu saraksts, no kura uz labu laimi jāizlozē viens ieraksts (piemēram, 25 cilvēku vārdi)</li>
<li>viens vai vairāki subjektīvi gadījuma skaitļu ģeneratori (piemēram, 2 cilvēki)</li>
<li>kalkulators (vēlami)</li>
</ul>

<p>Izloze</p>

<ul>
<li>sanumurē apskatāmā saraksta rindiņas sākot ar 0 un beidzot ar <em>n-1</em></li>
<li>katrs skaitļu ģenerators iedomājas un paziņo citiem skaitli, kas par pārsniedz <em>n</em> (piemēram, viens dalībnieks paziņo skaitli 4842, otrs - 9222) </li>
<li>sasummē iegūto skaitļu kvadrātus, iegūstot kopīgu gadījuma lielumu K (K=48421^2+922103^2= 23444964+85045284= 108490248)
<ul><li>aprēķina (<em>K mod n</em>) un iegūst uzvarētāja kārtas numuru (108490248 mod 25 == 23, tātad uzvar priekšpēdējais dalībnieks)</li></ul></li>
</ul>

<p>Risinājuma pamatojums</p>

<ul>
<li>Visiem saraksta elementiem ir līdzīga laba varbūtība kļūt par uzvarētājiem (neesmu mēģinājis pierādīt, bet šķiet labāka nekā ja mēģinātu izvēlēties skaitli no 0 līdz <em>n-1</em>)</li>
<li>Rezultāta izvēlē var iesaistīties pēc patikas daudz dalībnieku</li>
<li>Tā kā sākotnēji katrs dalībnieks nezina citu izvēlētos skaitļus, tas nevar iespaidot rezultātu ar subjektīvi izvēlētu gadījuma vērtību</li>
<li>Pat ja pēdējais dalībnieks redz iepriekšējo izvēlētos skaitļus, subjektīvi izvēlēta gadījuma skaitļa aprēķināšana ir apgrūtināta, jo skaitļi tiek kāpināti kvadrātā, tādēļ &#8220;prātā&#8221; jādarbojas ar nepatīkami lieliem skaitļiem.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/04/02/uz-dullo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ko pasaule zina par Storm Worm?</title>
		<link>http://tips.naivist.net/2008/02/28/ko-pasaule-zina-par-storm-worm/</link>
		<comments>http://tips.naivist.net/2008/02/28/ko-pasaule-zina-par-storm-worm/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 09:39:03 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[Tīmeklis]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2008/02/28/ko-pasaule-zina-par-storm-worm/</guid>
		<description><![CDATA[Ievadam - apnika lasīt par jauniem gadždetiem. Jāuzlabo LV blogu kultūra reportējot arī par citiem jaunumiem.

IEEE izdotā žurnāla &#8220;Computer&#8221; februāra numurā ir ļoti interesants raksts par Storm Worm. IEEE bibliotēkas lasītājiem šis raksts ir pieejams arī tiešsaistē: &#8220;A Storm (Worm) Is Brewing&#8221;.

Īsumā - kopš 2006. gada rudens IT drošības pasaule ir iepazinusi jaunu ienaidnieku, kurš [...]]]></description>
			<content:encoded><![CDATA[<p><em>Ievadam - apnika lasīt par jauniem gadždetiem. Jāuzlabo LV blogu kultūra reportējot arī par citiem jaunumiem.</em></p>

<p>IEEE izdotā žurnāla &#8220;<a href="http://www.computer.org">Computer</a>&#8221; <a href="http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/mags/co/&amp;toc=comp/mags/co/2008/02/mco02toc.xml">februāra numurā</a> ir ļoti interesants raksts par <a href="http://en.wikipedia.org/wiki/Storm_botnet">Storm Worm</a>. IEEE bibliotēkas lasītājiem šis raksts ir pieejams arī tiešsaistē: <a href="http://csdl2.computer.org/dl/mags/co/2008/02/mco2008020020.htm">&#8220;A Storm (Worm) Is Brewing&#8221;</a>.</p>

<p>Īsumā - kopš 2006. gada rudens IT drošības pasaule ir iepazinusi jaunu ienaidnieku, kurš ticis pie vārda <em>Storm</em>, pirmo reizi īsti par sevi liekot manīt 2007. gada 19. janvārī, kad dienas laikā tika izsūtīts apmēram 20 reižu lielāks surogātpasta daudzums nekā citās dienās. Citi šī ienaidnieka nosaukumi ir Nuwar, Peacomm, Zhelatin. Pēdējais nosaukums vislabāk parāda šī kiber-ienaidnieka dabu, jo tieši mainīguma dēļ IT drošības kompānijām ir tik grūti izstrādāt pretlīdzekļus <em>Storm</em>-am.</p>

<p><em>Storm</em> ir milzīgs attālināti kontrolējamu (&#8221;<a href="http://en.wikipedia.org/wiki/Zombie_computer">zombiju</a>&#8220;) datoru tīkls, ar kura palīdzību tiek veikti kibernoziegumi, vienlaicīgi arī inficējot jaunus datorus un tos piesaistot <em>storm</em> tīklam. Drošības ekspertiem ir izdevies noteikt, ka tīkla darbības kontrolei tiek izmantoti austrumeiropā (tātad - arī Latvijā?) un Krievijā esošas IP adreses. Krievijas valdība <a href="http://www.strategypage.com/htmw/htiw/articles/20080204.aspx">atsakās sadarboties</a> ar ASV spēkiem, lai likvidētu <em>Storm</em> tīklu. </p>

<p>Ir izteikti minējumi, ka 2007. gada pavasara DDoS uzbrukumi Igaunijas serveriem tikuši veikti no <em>Storm</em> tīkla. Tāpat <em>Storm</em> tiek pielietots naudas pelnīšanai, izsūtot surogātpastu, kas reklamē organizācijas, kuru akcijas pieder <em>Storm</em> īpašniekiem. Joe Stewart, SecureWorks pētnieks norāda, ka pastāv aizdomas, ka kāda Kanādas kompānija savulaik izīrējusi daļu tīkla resursu, lai izsūtītu surogātpastu.</p>

<p>Daži fakti par <em>Storm</em>:</p>

<ul>
<li>Izplatās, izmantojot sociālās inženierijas ceļus. Izsūta e-pasta vēstules, ar tēmām &#8220;Milzīga vētra Eiropā&#8221;, &#8220;Nogalinājis 11 gados, 21 gada vecumā atkal brīvs un dodas nogalināt&#8221;, &#8220;Britu genocīds pret musulmaņiem&#8221;, &#8220;Krievu raķete notriekusi ASV satelītu&#8221;. Tāpat tiek izsūtītas e-pasta vēstules, kas satur saiti uz <em>it kā</em> <a href="http://www.youtube.com"">Youtube</a> esošām filmām. Vēl vienu klikšķi tālāk lietotāja neprasmīgi aizsargātais dators tiek inficēts ar <a href="http://en.wikipedia.org/wiki/Trojan_horse">Trojas zirgu</a>. </li>
<li>Pēc datora inficēšanas sistēma var uzstādīt klaviatūras signālu pārķeršanas draiverus un šo informāciju pārsūtīt tīkla īpašniekiem. Protams, tiek izveidota <a href="http://en.wikipedia.org/wiki/Backdoor">&#8220;lūka&#8221;</a>, caur kuru <em>Storm</em> īpašnieki var nodot komandas datoram</li>
<li>Programmatūra slēpjas. Tā instalē <a href="http://en.wikipedia.org/wiki/Rootkit">rootkit-us</a>, lai izpildāmie faili nebūtu redzami datora lietotājam, tā modificē API, kas parāda aktīvos procesus, tā dzēš rīkus, kas ļautu identificēt <em>Storm</em> klātesamību. </li>
<li>Inficētie datori uzvedas gluži normāli un ir lietojami ikdienas darbam.</li>
<li>Decentralizēts - savstarpējai saziņai un izplatīšanai izmanto <a href="http://en.wikipedia.org/wiki/Peer-to-peer">P2P</a> tīklus, izmantojot savus protokolus un arī standarta rīkus kā ICQ un IRC</li>
<li>Izmanto t.s. <a href="http://en.wikipedia.org/wiki/Fast_flux">fast flux</a> principu, lai paslēptu web vietnes, kas satur inficējošo kodu. DNS ieraksti tiek mainīti ik pa dažām minūtēm, kas sevišķi apgrūtina izsekošanu.</li>
<li>Izplatīšanai vienlaicīgi izmanto tikai nelielu daļu no tīklā esošajiem datoriem, bet šī daļa regulāri mainās</li>
<li>Šifrē visu saziņu starp tīklā esošajiem datoriem, izmantojot vismaz 40 bitu atslēgas (<a href="http://en.wikipedia.org/wiki/Symmetric-key_algorithm">simetriskās kriptosistēmās</a> tas ir pietiekami daudz)</li>
<li>Izplatīšanās mehānisms tiek regulāri mainīts, tai skaitā mainot arī modificējot izpildāmo kodu līdz pat 10 reizēm stundā</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/02/28/ko-pasaule-zina-par-storm-worm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UTF8 adreses</title>
		<link>http://tips.naivist.net/2008/01/06/utf8-adreses/</link>
		<comments>http://tips.naivist.net/2008/01/06/utf8-adreses/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 11:49:07 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[Tīmeklis]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2008/01/06/utf8-adreses/</guid>
		<description><![CDATA[Lietojot wikipediju, vienmēr meklēto vārdu rakstu uzreiz adresē (http://en.wikipedia.org/wiki/&#60;vajadzīgais vārds>). 

Līdzīgu pieeju mēģināju lietot arī latviešu wikipēdijā, bet secināju, ka vārdos ar latviešu diakritiskajiem simboliem tas nedarbojas. Piemēram, mēģinot atrast skaidrojumu vārdam &#8220;Māra&#8221;, atveras lapa &#8220;Mâra&#8221; (kur, protams, nekāda satura nav).

Kā noskaidroju, Firefox lietotāji to var labot ar slēdža Network.standard-url.encode-utf8 palīdzību. Uzstādot šo slēdzi uz [...]]]></description>
			<content:encoded><![CDATA[<p>Lietojot wikipediju, vienmēr meklēto vārdu rakstu uzreiz adresē (http://en.wikipedia.org/wiki/&lt;<em>vajadzīgais vārds</em>>). </p>

<p>Līdzīgu pieeju mēģināju lietot arī <a href="http://lv.wikipedia.org">latviešu wikipēdijā</a>, bet secināju, ka vārdos ar latviešu diakritiskajiem simboliem tas nedarbojas. Piemēram, mēģinot atrast skaidrojumu vārdam &#8220;Māra&#8221;, atveras lapa &#8220;<a href="http://lv.wikipedia.org/wiki/M%C3%A2ra">Mâra</a>&#8221; (kur, protams, nekāda satura nav).</p>

<p>Kā noskaidroju, Firefox lietotāji to var labot ar slēdža <a href="http://kb.mozillazine.org/Network.standard-url.encode-utf8">Network.standard-url.encode-utf8</a> palīdzību. Uzstādot šo slēdzi uz &#8220;true&#8221;, Firefox sāk darboties atbilstoši <a href="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a> un visi nestandarta burti tiek kodēti ar URLencode. </p>

<p>Tas gan man nedarīja saprotamu, kāpēc pirmajā gadījumā teksts nokodējās uz<br />
http://lv.wikipedia.org/wiki/M%C3%A2ra (Mâra)<br />
bet otrajā uz<br />
http://lv.wikipedia.org/wiki/M%C4%81ra (Māra)</p>

<p><strong>Upd: Izskatās, ka šeit aprakstītā problēma nepastāv citos datoros kā tikai man mājās pieejamajos.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/01/06/utf8-adreses/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tulkošanas makrosi</title>
		<link>http://tips.naivist.net/2008/01/02/tulkosanas_makrosi/</link>
		<comments>http://tips.naivist.net/2008/01/02/tulkosanas_makrosi/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 21:11:46 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[Datorlietas]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2007/12/31/tulkosanas_makrosi/</guid>
		<description><![CDATA[Divi Word makrosi, kas varētu noderēt tiem, kam nav instalēta Tildes vārdnīca, bet ir pieejams internets.

Lai lietotu, makrosu projektiem referencēs jāpieliek Microsoft XML (es liku V 6.0, bet derēs jebkurš). Pēc tam atliek uzbindēt klaviatūras saīsni. Piemēram, es ieliku Shift+Ctrl+Alt+E tulkojumam uz angļu valodu un Shift+Ctrl+Alt+L tulkojumam uz latviešu valodu.
Pēc tam, kad vajag tulkojumu, iezīmējam [...]]]></description>
			<content:encoded><![CDATA[<p>Divi Word makrosi, kas varētu noderēt tiem, kam nav instalēta Tildes vārdnīca, bet ir pieejams internets.</p>

<p>Lai lietotu, makrosu projektiem referencēs jāpieliek Microsoft XML (es liku V 6.0, bet derēs jebkurš). Pēc tam atliek uzbindēt <a href="http://www.timeatlas.com/mos/5_Minute_Tips/General/Assigning_Word_Commands_to_Keyboard_Shortcuts/">klaviatūras saīsni</a>. Piemēram, es ieliku Shift+Ctrl+Alt+E tulkojumam uz angļu valodu un Shift+Ctrl+Alt+L tulkojumam uz latviešu valodu.
Pēc tam, kad vajag tulkojumu, iezīmējam tulkojamo  vārdu un izpildām klaviatūras maģiju.</p>

<p>Uzskatu, ka SIA &#8220;Tilde&#8221; tiesības ar šo neesmu pārkāpis, jo esmu tikai vienkāršojis piekļuvi datiem, kas ir publiski pieejami.</p>

<p>Rezultāts izskatās šādi: </p>

<p><img src='http://tips.naivist.net/wp-content/translator.png' alt='translator.png'  border='1' /></p>

<p><span id="more-121"></span></p>

<pre><code>'tulko iezīmēto tekstu uz angļu valodu
Sub TranslateToEn()
    Dim sRes As String
    sRes = Translate("L", GetSelection())
    If TrimEnd(sRes) &lt;&gt; "" Then MsgBox sRes
End Sub

'tulko iezīmēto tekstu uz angļu valodu
Sub TranslateToLV()
    Dim sRes As String
    sRes = Translate("E", GetSelection())
    If TrimEnd(sRes) &lt;&gt; "" Then MsgBox sRes
End Sub
'ielasa iezīmēto vārdu vai vārdu pirms kursora
Public Function GetSelection() As String
        Dim sTran As String
    If TrimEnd(Selection.Text) &lt;&gt; "" Then
        sTran = Trim(Selection.Text)
    Else
        Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend
        sTran = Trim(Selection.Text)
        Selection.MoveRight Unit:=wdCharacter, Count:=1
    End If
    GetSelection = sTran
End Function

'izpilda tulkošanas darbu
Function Translate(ByVal spDirection As String, ByVal spText As String) As String
  Dim oXML As New XMLHTTP
  Dim sPost As String
  Dim sResponse As String

  If TrimEnd(spText) = "" Then Exit Function

  sPost = "MfcISAPICommand=Translate" &amp; spDirection &amp; _
         "&amp;ApostrofeMode=0&amp;DictionaryView=1&amp;WholeWordsCheckBox=1&amp;EditLine=" &amp; _
         URLEncode(spText)

  'nolasa rezultātus no servera
  Call oXML.Open("POST", "http://dictionary.tilde.lv/idiction.dll?", False)
  Call oXML.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
  Call oXML.setRequestHeader("Encoding", "Windows-1257")
  oXML.send (sPost)

  sResponse = ToChars(oXML.responseBody)

  'vairāk nevajadzēs
  Set oXML = Nothing

  'iespējams, vārds nebūs vispār atrasts
  If InStr(1, sResponse, "images/not_found_text.gif") Then
    sResponse = spText &amp; ": " &amp; vbCrLf &amp; "Vārds nav atrasts"
  End If


  Dim iNum As Integer
  iNum = InStr(1, sResponse, "&lt;B&gt;")
  If Not iNum &gt; 0 Then
   iNum = 1
  End If
  sResponse = Mid(sResponse, iNum)
  Dim sRemoves() As String
  Dim i As Integer
  sRemoves = Split("&lt;b&gt;,&lt;/b&gt;,&lt;i&gt;,&lt;/i&gt;,&lt;strong&gt;,&lt;/strong&gt;," &amp; _
                   "&lt;u&gt;,&lt;/u&gt;,&lt;script&gt;,&lt;/script&gt;,&lt;p&gt;,&lt;/p&gt;,&lt;i&gt;," &amp; _
                   "&lt;/i&gt;,&lt;big&gt;,&lt;/big&gt;,&lt;small&gt;,&lt;/small&gt;,&lt;/body&gt;,&lt;/html&gt;", _
                   ",", , vbTextCompare)

  sResponse = Replace(sResponse, spText &amp; "&lt;/B&gt;&lt;SMALL&gt;&lt;P&gt;", _
                      spText &amp; vbCrLf, , , vbTextCompare)
  'izvācam visādus tagus
  For i = 0 To UBound(sRemoves, 1)
      sResponse = Replace(sResponse, sRemoves(i), "", , , vbTextCompare)
  Next i

  'atstarpes vajag
  sResponse = Replace(sResponse, "&amp;nbsp;", " ")
  sResponse = Replace(sResponse, "&lt;br&gt;", vbCrLf)

  'atgriežamajai vērtībai novāc beigās enterus
  Translate = TrimEnd(sResponse)
End Function


Function URLEncode(EncodeStr As String) As String
    Dim i As Integer
    Dim erg As String

    erg = EncodeStr

    ' *** First replace '%' chr
    erg = Replace(erg, "%", Chr(1))

    ' *** then '+' chr
    erg = Replace(erg, "+", Chr(2))

    For i = 0 To 255
        Select Case i
            ' *** Allowed 'regular' characters
            Case 37, 43, 48 To 57, 65 To 90, 97 To 122

            Case 1  ' *** Replace original %
                erg = Replace(erg, Chr(i), "%25")

            Case 2  ' *** Replace original +
                erg = Replace(erg, Chr(i), "%2B")

            Case 32
                erg = Replace(erg, Chr(i), "+")

            Case 3 To 15
                erg = Replace(erg, Chr(i), "%0" &amp; Hex(i))

            Case Else
                erg = Replace(erg, Chr(i), "%" &amp; Hex(i))

        End Select
    Next

    URLEncode = erg

End Function

'no ResponseBody izveido normālu stringu
Function ToChars(ByVal opBody) As String
    Dim i As Integer
    Dim sChar As String
    Dim sReturn As String
    For i = 0 To Len(opBody) * 2 - 1
      sChar = (Chr(opBody(i)))
      sReturn = sReturn &amp; sChar
    Next i
    ToChars = sReturn
End Function

'novāc lieko beigās - tabus, enterus
Function TrimEnd(ByVal spText As String) As String
  Dim i As Integer
  Dim sChar As String

  For i = Len(spText) To 1 Step -1
     sChar = Mid(spText, 1, 1)
      If sChar &lt;&gt; vbCr And sChar &lt;&gt; vbLf And _
         sChar &lt;&gt; " " And sChar &lt;&gt; vbTab Then
        TrimEnd = Left(spText, i)
        Exit Function
      End If
  Next i
End Function
</code></pre>

<p>Instrukcija tiem, kam šīs lietas nav diez ko pazīstamas:</p>

<ul>
<li>Iekopējam visu šeit redzamo kodu (to, kam kreisajā malā oranža svītra)</li>
<li>Dodamies uz Wordu</li>
<li>Spiežam uz klaviatūras Alt+F11</li>
<li>Atrodam brīvu vietiņu, spiežam &#8220;Paste&#8221; </li>
<li>Ejam uz menu: tools->references. Ieliekam ķeksīti pie &#8220;Microsoft XML, v. 6.0&#8243; </li>
<li>Veram ciet šo papildus logu</li>
<li>Izveicam augstāk minēto <a href="http://www.timeatlas.com/mos/5_Minute_Tips/General/Assigning_Word_Commands_to_Keyboard_Shortcuts/">klaviatūras saīsnes veidošanu</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2008/01/02/tulkosanas_makrosi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sharepoint - LOC?</title>
		<link>http://tips.naivist.net/2007/12/20/sharepoint-loc/</link>
		<comments>http://tips.naivist.net/2007/12/20/sharepoint-loc/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 10:43:55 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2007/12/20/sharepoint-loc/</guid>
		<description><![CDATA[This is rather a question or an idea for a discussion than a regular blog post. 

I&#8217;m  just wondering how does one count LOC in Sharepoint? Or, to be more general, how do you measure the amount of work that has been invested in creating a solution in Sharepoint. 

A solution can consist of [...]]]></description>
			<content:encoded><![CDATA[<p>This is rather a question or an idea for a discussion than a regular blog post. </p>

<p>I&#8217;m  just wondering how does one count LOC in Sharepoint? Or, to be more general, how do you measure the amount of work that has been invested in creating a solution in Sharepoint. </p>

<p>A solution can consist of </p>

<ul>
<li>content type definitions (XML files), </li>
<li>list definitions (XML files again)</li>
<li>feature definitions (XML), </li>
<li>Solution manifests (XML), </li>
<li>CAB file descriptors (&#8221;code&#8221;), </li>
<li>ASPX pages (ASP.net code), </li>
<li>ASPX code-behind files (finally, VB.net, countable!), </li>
<li>Event handlers code (VB.net, cool), </li>
<li>Workflow diagrams (generated VB.net code), </li>
<li>Workflow code-behind files (VB.Net files), </li>
<li>Workflow rules (XML),  </li>
<li>&#8230; and many more things which are not crurrently the case for me;-)</li>
</ul>

<p>So how do you put it all together? In my opinion, a line in feature.xml file has much more value than a table-tr-td line in ASPX page (the former can break &#8220;everything&#8221; in your site while the latter cannot). Some lines in list definitions are valuable, some are not. Should one assign values to LOCs of each file type? 
Seems like LOC is no answer at all. For instance, workflow designer generated code has kind of &#8220;no value&#8221; as a VB.Net code and LOC measurement wouldn&#8217;t tell you much about the effort made to create the particular workflow.</p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2007/12/20/sharepoint-loc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Ja nu&#8221; failu nosaukumos</title>
		<link>http://tips.naivist.net/2007/10/10/ja-nu-failu-nosaukumos/</link>
		<comments>http://tips.naivist.net/2007/10/10/ja-nu-failu-nosaukumos/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 11:07:37 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2007/10/10/ja-nu-failu-nosaukumos/</guid>
		<description><![CDATA[Vienmēr gribas būt drošiem, ka automātiski pieglabāto failu nosaukumi būs failsistēmai saprotami. 
Neliels &#8220;tīrītājs&#8221;, kas izvāc visādus #, \, / utt liekos simbolus. Uzticamies latviešu burtiem, atstarpēm neuzticamies vis.

Public Function GetGoodFileName(ByVal spText As String) As String
    Return System.Text.RegularExpressions.Regex.Replace(spText, _
            "[^a-zA-Z0-9āčēģīķļņšūžĀČĒĢĪĶĻŅŠŪŽ_-]", "")
End [...]]]></description>
			<content:encoded><![CDATA[<p>Vienmēr gribas būt drošiem, ka automātiski pieglabāto failu nosaukumi būs failsistēmai saprotami. 
Neliels &#8220;tīrītājs&#8221;, kas izvāc visādus #, \, / utt liekos simbolus. Uzticamies latviešu burtiem, atstarpēm neuzticamies vis.</p>

<pre><code>Public Function GetGoodFileName(ByVal spText As String) As String
    Return System.Text.RegularExpressions.Regex.Replace(spText, _
            "[^a-zA-Z0-9āčēģīķļņšūžĀČĒĢĪĶĻŅŠŪŽ_-]", "")
End Function
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2007/10/10/ja-nu-failu-nosaukumos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sharepoint Workflow modificēšanas formas izveide ar InfoPath</title>
		<link>http://tips.naivist.net/2007/08/23/sharepoint-workflow-modificesanas-formas-izveide-ar-infopath/</link>
		<comments>http://tips.naivist.net/2007/08/23/sharepoint-workflow-modificesanas-formas-izveide-ar-infopath/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 07:00:53 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2007/08/23/sharepoint-workflow-modificesanas-formas-izveide-ar-infopath/</guid>
		<description><![CDATA[Iesākumam

Workflow modificēšanas formas jāveido kā InfoPath XSN formas, nevis kā ASPX formas. InfoPath ir dabūjams pilnajā MSOffice paketē, oficiāli tas piederas pie &#8220;Microsoft Office Suites and Applications 2007&#8243; pakas

Pašas formas izveide

Jāveido jauna forma, to veidojot uzreiz vēlams uzstādīt ķeksi &#8220;hide features that do not work in InfoPath Forms Services&#8221; (saucas kaut kā citādi, bet ideja [...]]]></description>
			<content:encoded><![CDATA[<h4>Iesākumam</h4>

<p>Workflow modificēšanas formas jāveido kā InfoPath XSN formas, nevis kā ASPX formas. InfoPath ir dabūjams pilnajā MSOffice paketē, oficiāli tas piederas pie &#8220;Microsoft Office Suites and Applications 2007&#8243; pakas</p>

<h4>Pašas formas izveide</h4>

<p>Jāveido jauna forma, to veidojot uzreiz vēlams uzstādīt ķeksi &#8220;hide features that do not work in InfoPath Forms Services&#8221; (saucas kaut kā citādi, bet ideja ir tā). </p>

<p>Svarīgi ir uzlikt sekojošus atribūtus iekš &#8220;Tools-&gt;Form options&#8221;:</p>

<h5>Browser</h5>

<ul>
<li>Izvācam ķeķšus pie &#8220;Show toolbar at top of form; show toolbar at bottom of form.<br />
Modifikācijas formā šie toolbari nav būtiski, jo formas submitošanai visticamāk izmantosim pogu. Savukārt &#8220;Save&#8221;, &#8220;Update&#8221; utt darbības vispār šeit ir liekas.</li>
</ul>

<h5>Security and trust</h5>

<ul>
<li>Security level: Domain (neļaujam automātiski noteikt)</li>
<li>Security and trust -&gt; Sign this form template. Ja ir administratoru piešķirts sertifikāts, var parakstīt ar to, bet šīm vajadzībām pietiek arī ar &#8220;Create certificate&#8221; (pats priekš sevis izveidos sertifikātu)</li>
</ul>

<h5>Compatibility</h5>

<ul>
<li>Design a form template that can be opened in a browser or InfoPath</li>
</ul>

<p>Datu submitēšanai jāizveido datu konekcija, kas nodos atpakaļ informāciju uz &#8220;hosting environment&#8221; (mūsu gadījumā - sharepoint workflow-am). To dara zem Tools-&gt;Data Connections. Jāspiež &#8220;Add&#8221;, jāizvēlas &#8220;Create new connection to: Submit data&#8221;. Nākamajā logā - &#8220;To the hosting environment&#8230;&#8221; un jāiedod konekcijai vārds.</p>

<p>Tai pogai, kas būs kā &#8220;submit&#8221; attiecīgi jāiekonfigurē, ka vai nu: </p>

<ul>
<li>tā ir submit poga - tad prasīs, pa kuru datu konekciju sazināties ar formu. Tad jāuzstāda, ka pie submitēšanas lietotājam nerāda paziņojumu, ka submits ir veiksmīgs un pēc submitēšanas aizver formu</li>
<li>tā ir parasta poga, kas darbojas uz likumu (rules) pamata. Tad jāizveido likums, kas uzstāda formas vērtības un beigās nosubmitē formu un to aizver</li>
</ul>

<p>Formas datu shēmai būtu vēlams iedot sakarīgu nosaukumu, pēc noklusējuma tas ir &#8220;myFields&#8221; - ja negribam ar tādu turpmāk strādāt, jāpārsauc un jāizveido normāli.</p>

<p>Kad viss gatavs, dodamies File-&gt;Publish. 
  * Izvēlamies &#8220;To a network location&#8221;. Norādām vietu uz c:, kur vēlamies formu &#8220;publicēt&#8221;, norādām formas nosaukumu vai, ja apmierina piedāvātais, atstājam to pašu.
  * Pēc tam wizardā ir jautājums &#8220;If all form users can access the location that you entered in the previous step, Click next&#8221;. Šeit ir svarīgi atstāt to teksta lauku TUKŠU, citādi forma nestrādās worklfowā! 
  * Izmetīs warningu, ka tas var būt slikti - spiežam OK.</p>

<p>Paņemam File-&gt;Properties un apskatāmies/nokopējam automātiski noģenerēto &#8220;ID&#8221; lauka vērtību, kas izskatās apmēram kā &#8220;urn:schemas-microsoft-com:office:infopath:ReviewModForm:-myXSD-2007-08-22T06-32-52&#8243;</p>

<h4>Formas lietošana worklfowā</h4>

<p>Lai formu piesaistītu workflovam, kas aprakstīts kā Sharepoint Feature. </p>

<p>Iekopējam publicēto XSN failu blakus feature.xml failam. Instalējot featuri, šim XSN jānokļūst zem c:\program files&#8230;.\12\template\features\ManaFeature</p>

<h5>Feature.XML:</h5>

<ul>
<li><p>Feature tagā:<br />
svarīgas ir šādas rindas (&lt;Feature&gt; taga iekšpusē, To rezultātā, pie feature aktivizēšanas, izpildīsies kods, kas aktivizē arī workflow-am piesaistītās formas):<br />
<em>ReceiverAssembly=&#8221;Microsoft.Office.Workflow.Feature, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&#8221;
ReceiverClass=&#8221;Microsoft.Office.Workflow.Feature.WorkflowFeatureReceiver&#8221;</em></p></li>
<li><p>ElementManifests tagā:<br />
Visi XSN faili jāpiemin arī ElementManifests tagā. Manā gadījumā bija:<br />
<em>&lt;ElementFile Location=&#8221;ReviewModForm.xsn&#8221;/&gt;</em> </p></li>
<li><p>Properties tagā:<br />
Lai tiktu aktivizētas šīs formas, papildus vēl arī &lt;Properties&gt; tagā jāieliek šāda rinda:<br />
<em>&lt;Property Key=&#8221;RegisterForms&#8221; Value=&#8221;*.xsn&#8221; /&gt;</em></p></li>
</ul>

<h5>Workflow.xml (vai kā nu saucas XMLs, kas apraksta workflowu:</h5>

<ul>
<li><p>Workflow tagā:<br />
Uztādām noklusēto WorkflowModifications:<br />
<em>ModificationUrl=&#8221;_layouts/ModWrkflIP.aspx&#8221;</em></p></li>
<li><p>MetaData tagā:<br />
Jāveido jauns modifikācijas apraksts, kas atsaucas uz formu. Manā gadījumā bija:<br />
&lt;Modification<em>_d03867f5-99f7-469e-94af-7fcefe476a22</em>_FormURN&gt;<br />
<em>urn:schemas-microsoft-com:office:infopath:ReviewModForm:-myXSD-2007-08-22T06-32-52</em><br />
&lt;/Modification<em>_d03867f5-99f7-469e-94af-7fcefe476a22</em>_FormURN&gt;<br />
&lt;Modification<em>_d03867f5-99f7-469e-94af-7fcefe476a22</em>_Name&gt;<br />
Atsaukt saskaņošanu<br />
&lt;/Modification<em>_d03867f5-99f7-469e-94af-7fcefe476a22</em>_Name&gt;  </p></li>
</ul>

<p>Ar slīprakstu atzīmēju tās vietas, kas katram gadījumam ir citādi. Kā redzams, šeit FormURN tagā iekšpusē esošais sakrīt ar to formas ID, kas tika nokopēts InfoPath-ā. 
Jaunu GUID ģenerējam ar GuidGen, UZMANĪGI - tam guidgen uzģenerēs ar lielajiem burtiem. VisualStudio izmantojot, tas automātiski pārtaisa uz mazajiem burtiem. Tāpēc ērtāk būs arī šeit izmantot ar mazajiem, jo citādi tas netiks atpazīts.</p>

<p>Pašā workflowā, vietā, kur šāda modifikācija ir pieļaujama, jāievieto EnableModification aktivitāte, kurai ModificationID uzstāda uz iepriekšējā solī ģenerēto GUIDu (ar mazajiem burtiem). Pēc tam vēlams ieveitot &#8220;EventHandlingScope&#8221;, kur normālajā zarā veic normālo darbu, bet eventu ķērājā ieliek EventDriven aktivitāti, kas gaida OnWorkflowModified notikumu (šeit atkal sasaiste notiek pēc ModificationID). </p>

<p>Šajā brīdī vēl nekas nestrādās, jo nav izveidota datu apmaiņa starp InfoPath formu un Workflow. No WF puses tā tiek nodrošināta, izmantojot ContextData atribūtu - tur tiek sagaidīts XMLs kas atbilst InfoPath formas aprakstītajai shēmai. Tieši tādu  pašu ContextData piedāvā arī OnWorkflowModified aktivitāte, tikai šeit saņemam no formas atpakaļ pienākušos datus.</p>

<p>XMLu, protams, var sacerēt pats, bet var arī iegūt automātiski.</p>

<h4>XSD shēmas ģenerēšana</h4>

<p>InfoPath formu atveram dizainēšanas režīmā, izvēlamies tai &#8220;Save as Source files&#8221; un izvēlas, kur saglabās. Izvēlētajā folderī uzradīsies vairāki faili, no kuriem svarīgākais: myschema.xsd - tas satur mūsu InfoPath formas shēmu.</p>

<p>Pēc tam no šīs shēmas var uzģenerēt VB vai C# klasi, kas &#8220;apkalpo&#8221; šādu shēmu. To darām ar komandrindas rīku &#8220;xsd.exe&#8221;:</p>

<pre><code>  cd c:\manataka
  xsd.exe myschema.xsd /C /o:.\ /L:VB
</code></pre>

<p>Uzģenerējas fails myschema.vb, kurā iekšā klase ar nosaukumu tādu, kā iedevām savam datasetam 1. solī. Manā gadījumā - <em>ReviewModDataSet</em></p>

<p>Šo klases failu iekļaujam savā projektā. Lai sagatavotu aktivitātei nepieciešamo XML stringu, var lietot šādu koda fragmentu: </p>

<pre><code>        Dim oFormData As New ReviewModDataSet
        Using stream As New IO.MemoryStream
            Dim serializer As New Xml.Serialization.XmlSerializer(GetType(ReviewModDataSet))
            serializer.Serialize(stream, oFormData)
            Me.enableRecall_ContextData = Encoding.UTF8.GetString(stream.GetBuffer())
        End Using
</code></pre>

<p>Ar slīprakstu iezīmēju atribūtu, kurā nepieciešams uzstādīt iegūto XML vērtību.</p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2007/08/23/sharepoint-workflow-modificesanas-formas-izveide-ar-infopath/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sharepoint un yyyy.MM.dd</title>
		<link>http://tips.naivist.net/2007/07/31/114/</link>
		<comments>http://tips.naivist.net/2007/07/31/114/#comments</comments>
		<pubDate>Tue, 31 Jul 2007 19:17:35 +0000</pubDate>
		<dc:creator>Krišs Rauhvargers</dc:creator>
		
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false">http://tips.naivist.net/2007/07/31/114/</guid>
		<description><![CDATA[Kad uzinstalēsiet Sharepoint valodu paku, par kuru rakstīju iepriekšējā ierakstā un gribēsiet, lai &#8220;viss būtu pavisam latviski&#8221;, var gadīties vilties tāpat kā man. 

SPPS ļauj glīti nomainīt gan &#8220;Sort order&#8221;, gan &#8220;Locale&#8221; katram atsevišķam Web vai Site objektam. To dara apmēram šādi. Varam uzstādīt latviešu lokāli un latviešu kārtošanas secību. Rezultātā iegūstam, ka konkrētā vietne [...]]]></description>
			<content:encoded><![CDATA[<p>Kad uzinstalēsiet Sharepoint valodu paku, par kuru rakstīju iepriekšējā ierakstā un gribēsiet, lai &#8220;viss būtu pavisam latviski&#8221;, var gadīties vilties tāpat kā man. </p>

<p>SPPS ļauj glīti nomainīt gan &#8220;Sort order&#8221;, gan &#8220;Locale&#8221; katram atsevišķam Web vai Site objektam. To dara apmēram <a href="http://www.microsoft.com/resources/documentation/wss/2/all/adminguide/en-us/stse17.mspx?mfr=true">šādi</a>. Varam uzstādīt latviešu lokāli un latviešu kārtošanas secību. Rezultātā iegūstam, ka konkrētā vietne tiešām izmanto 1062 lokāli (&amp;H426 vai lv-LV, var saukt dažādi).</p>

<p>Pēc vērtības nomainīšanas, varam, skatot kādu ierakstu, pamanīt: &#8220;Izveidots: 2007.07.31 , 11:30. Autors: TādsUnTāds&#8221;.<br />
Rodas jautājums, kas gan tas par interesantu datuma formātu, kurā sākumā raksta gadu, tad mēnesi un tad datumu (yyyy.MM.dd.) Skolā taču mums ir mācīts izmantot formātu dd.MM.yyyy, tātad šodien es gribētu rakstīt 31.07.2007.</p>

<p>Pēc nelādzīgi plašas izpētes esmu noskaidrojis, ka <em>tā tas ir paredzēts</em>! Microsoft darinātais (bet acīmredzot taču kādas latviešu komisijas ieteiktais) formāts ir tieši tāds.</p>

<p>Neliels VB.Net koda fragments parāda, ka tā ir:</p>

<pre><code>    Dim oLoc As New Globalization.CultureInfo( _ 
                    culture:=1062, _ 
                    useUserOverride:=False)
    Debug.WriteLine(oLoc.Name &amp; ": " &amp; _
                    oLoc.DisplayName &amp; ":" &amp; _
                    oLoc.DateTimeFormat.ShortDatePattern)
</code></pre>

<p>Izejā tiek izdrukāts</p>

<pre><code>   lv-LV: Latvian (Latvia):yyyy.MM.dd.
</code></pre>

<p>Sharepoint to ņem vērā un tieši tā arī parāda datumus. Kāpēc mēs to ikdienā neredzam? Visticamāk, tāpēc, ka vai nu paši vai sistēmu administratori pēc operētājsistēmas instalēšanas esam atvēruši Control Panel un nomainījuši datuma formātu sadaļā &#8220;Regional Settings&#8221;. 
Koda piemērā bija redzams, ka parametrs &#8220;useUserOverride&#8221; tiek nodots kā &#8220;False&#8221;, tātad - ignorējot lietotāja veiktos pielāgojumus. Protams, savā datorā veicot pārbaudi un šo parametru norādot kā &#8220;True&#8221;, ieraudzīju jau sagaidāmo datuma formātu. </p>

<p>Sharepoint, kas ir servera produkts, nedrīkstētu izmantot atsevišķa lietotāja veiktus pielāgojumus, lai rādītu saturu citiem lietotājiem - un tā tas arī dara.</p>

<p>Pašlaik diemžēl neredzu labu apkārtceļu. Vienkāršākais ir uzstādīt, ka izmantosim vācu lokāli (1032), bet tad vietās, kur uz ekrāna parādās garais datums, parādīsies &#8220;Diensdag, 31. Juli&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://tips.naivist.net/2007/07/31/114/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
