Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://notes-jj.blogspot.com/feeds/posts/default?alt=rss

  1. <?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7638063200500640961</atom:id><lastBuildDate>Thu, 07 Sep 2017 23:58:14 +0000</lastBuildDate><category>Docker</category><category>IBM Domino</category><category>InfluxDB</category><category>LotusScript</category><title>notes-jj</title><description></description><link>http://notes-jj.blogspot.com/</link><managingEditor>[email protected] (Joerg Junge)</managingEditor><generator>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7638063200500640961.post-4956066306598939707</guid><pubDate>Sun, 29 May 2016 22:17:00 +0000</pubDate><atom:updated>2016-05-30T00:19:03.953+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Docker</category><category domain="http://www.blogger.com/atom/ns#">InfluxDB</category><title>Docker InfluxDB: Create Container with HTTP Authentictation</title><description>The official Docker &lt;a href=&quot;https://hub.docker.com/_/influxdb/&quot;&gt;InfluxDB&lt;/a&gt; container will not start with authentication. In InfluxDB 0.13.0 the ability to control the config via &lt;a href=&quot;https://github.com/influxdata/influxdb/pull/6444&quot;&gt;Environment Variables&lt;/a&gt; was added. The easiest way to create a container with http authentication and creating an admin user is: &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Create Container and set Admin User and Password&lt;/h4&gt;&lt;pre&gt;&lt;code class=&quot;bash&quot;&gt;# Create temp Container&lt;br /&gt;docker run -d \&lt;br /&gt;--name test-influx \&lt;br /&gt;-p 8083:8083 -p 8086:8086 \&lt;br /&gt;-e INFLUXDB_HTTP_AUTH_ENABLED=&quot;true&quot; \&lt;br /&gt;influxdb:0.13.0-alpine&lt;br /&gt;&lt;br /&gt;# Create admin user in InfluxDB&lt;br /&gt;docker exec -ti test-influx \&lt;br /&gt;/usr/bin/influx -execute &quot;CREATE USER admin WITH PASSWORD &#39;pass&#39; WITH ALL PRIVILEGES; SHOW USERS&quot;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4&gt;Accessing the InfluxDB Console from Shell&lt;/h4&gt;The influx console has to be accessed with username and password from now on. &lt;br /&gt;&lt;pre&gt;&lt;code class=&quot;bash&quot;&gt;docker exec -ti test-influx \&lt;br /&gt;/usr/bin/influx -username &#39;admin&#39; -password &#39;pass&#39;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;h4&gt;Bug: Empty password&lt;/h4&gt;There is a bug right now with leaving the password empty, to ge a prompt: &lt;a href=&quot;https://github.com/influxdata/influxdb/issues/6746&quot;&gt;[Bug] Empty Password for Prompt not working (/usr/bin/influx) #6746&lt;/a&gt;</description><link>http://notes-jj.blogspot.com/2016/05/docker-influxdb-create-container-with.html</link><author>[email protected] (Joerg Junge)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7638063200500640961.post-330172548107521705</guid><pubDate>Sun, 29 May 2016 12:37:00 +0000</pubDate><atom:updated>2016-05-29T14:37:46.782+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">IBM Domino</category><category domain="http://www.blogger.com/atom/ns#">LotusScript</category><title>LotusScript: Easy and Fast @ReplaceSubstring Alternative</title><description>On the first glimpse, there is no direct way to do a replace substring in LotusScript like in formula using @ReplaceSubstring. Even the &lt;a href=&quot;http://www-01.ibm.com/support/docview.wss?uid=swg21102507&quot;&gt;IBM Technote #1102507&lt;/a&gt; suggests using &quot;instr&quot;, &quot;left&quot; and &quot;mid&quot;.&lt;br /&gt;&lt;br /&gt;There is a much faster and easy way to use accomplish this task by using the function replace:&lt;br /&gt;&lt;blockquote class=&quot;tr_bq&quot;&gt;Replace(sourceArray, findArray, replacementArray [, start [, count [, compMethod]]])&lt;/blockquote&gt;&lt;b&gt;This function also works for strings.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;The code is even faster too: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;3773 ms - FindReplace_IBM&lt;/li&gt;&lt;li&gt;2719 ms - FindReplace_Tuned&lt;/li&gt;&lt;li&gt;&lt;b&gt;539 ms - Replace&lt;/b&gt;&lt;/li&gt;&lt;li&gt;1469 ms - Replace on Array&lt;/li&gt;&lt;li&gt;7473 ms - FindReplace_IBM &amp;nbsp;- 2 Values&lt;/li&gt;&lt;li&gt;6688 ms - FindReplace_Tuned &amp;nbsp;- 2 Values&lt;/li&gt;&lt;li&gt;&lt;b&gt;1102 ms - Replace &amp;nbsp;- 2 Values&lt;/b&gt;&lt;/li&gt;&lt;li&gt;1871 ms - Replace on Array &amp;nbsp;- 2 Values&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;h4&gt;Demo Code: Usage Replace&lt;/h4&gt;&lt;pre&gt;&lt;code class=&quot;VBScript&quot;&gt;Sub Initialize&lt;br /&gt;   Dim result As Variant&lt;br /&gt;&lt;br /&gt;   &#39; Replace single Value&lt;br /&gt;   result = Replace (&quot;alice bar alicebar&quot;, &quot;alice&quot;, &quot;foo&quot;)&lt;br /&gt;   Print &quot;1: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;   &lt;br /&gt;   &#39; Replace two Values&lt;br /&gt;   result = Replace (&quot;alice bob alicebob&quot;, _&lt;br /&gt;   Split(&quot;alice bob&quot;), Split(&quot;foo bar&quot;))&lt;br /&gt;   Print &quot;2: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;&lt;br /&gt;   &#39; Replace two Values, with one&lt;br /&gt;   result = Replace (&quot;alice bar bobbar&quot;, Split(&quot;alice bob&quot;), &quot;foo&quot;)&lt;br /&gt;   Print &quot;3: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;   &lt;br /&gt;   &#39; If replacmentArray is larger than findArray, &lt;br /&gt;   &#39; the Values will be ignored&lt;br /&gt;   result = Replace (&quot;alice bar bobbar&quot;, _ &lt;br /&gt;      Split(&quot;alice bob&quot;), Split(&quot;foo foo bar&quot;))&lt;br /&gt;   Print &quot;4: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;   &lt;br /&gt;   &#39; For Replacing Blank use Delimiter in Split&lt;br /&gt;   result = Replace (&quot;alice   bar alice  bar&quot;, _ &lt;br /&gt;      Split(&quot;alice:  &quot;,&quot;:&quot;), Split(&quot;foo:&quot;,&quot;:&quot;))&lt;br /&gt;   Print &quot;5: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;&lt;br /&gt;   &#39; Multi Level Replacments&lt;br /&gt;   &#39; &quot;alicebob bar bobbobbar&quot; -&amp;gt; &quot;bobbob bar bobbobbar&quot;&lt;br /&gt;   &#39; &quot;bobbob bar bobbobbar&quot;   -&amp;gt; &quot;foo bar foobar&quot;&lt;br /&gt;   result = Replace (&quot;alicebob bar bobbobbar&quot;, _ &lt;br /&gt;      Split(&quot;alice bobbob&quot;), Split(&quot;bob foo&quot;))&lt;br /&gt;   Print &quot;6: &quot; + result &#39; result = &quot;foo bar foobar&quot;&lt;br /&gt;   &lt;br /&gt;   Dim resultArray As Variant&lt;br /&gt;&lt;br /&gt;   &#39; Replace Array Substring&lt;br /&gt;   resultArray =  Replace(Split(&quot;alice bob alicebob&quot;), _ &lt;br /&gt;      Split(&quot;alice bob&quot;), Split(&quot;foo bar&quot;))&lt;br /&gt;   Print &quot;6: &quot; + &quot;[&quot;&quot;&quot; + Join(resultArray,&quot;&quot;&quot;, &quot;&quot;&quot;) + &quot;&quot;&quot;]&quot; &lt;br /&gt;   &#39; resultArray = &quot;[&quot;foo&quot;, &quot;bar&quot;, &quot;foobar&quot;]&quot;&lt;br /&gt;End Sub&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h4&gt;Demo Code: Perfomance&lt;/h4&gt;&lt;pre&gt;&lt;code class=&quot;VBScript&quot;&gt;Option Public&lt;br /&gt;Option Declare&lt;br /&gt;&lt;br /&gt;Sub Initialize&lt;br /&gt; Const LOOP_MAX = 100000&lt;br /&gt; Dim i As Long&lt;br /&gt; Dim timerStart As Single&lt;br /&gt; Dim timerResult As Single&lt;br /&gt; &lt;br /&gt; Dim result As Variant&lt;br /&gt; Dim resultArray As Variant&lt;br /&gt;&lt;br /&gt; &#39; Classic IBM Method&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  FindReplace_IBM(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print Format$(timerResult, &quot;###0&quot;) + &quot; ms - FindReplace_IBM &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt; &#39; IBM Method tuned&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  FindReplace_Tuned(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - FindReplace_Tuned &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt; &#39; Replace&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  Replace(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - Replace &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt; &#39; Replace on Array&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  resultArray =  Replace(Split(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;), &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - Replace on Array &quot; + &quot; - Result: [&quot;&quot;&quot; + Join(resultArray,&quot;&quot;&quot;, &quot;&quot;&quot;) + &quot;&quot;&quot;]&quot;&lt;br /&gt;&lt;br /&gt; &#39; Classic IBM Method - 2 Values&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  FindReplace_IBM(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt;  result =  FindReplace_IBM(result, &quot;oo&quot;, &quot;uu&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - FindReplace_IBM - 2 Values &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt; &#39; IBM Method tuned - 2 Values&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  FindReplace_Tuned(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, &quot;aa&quot;, &quot;oo&quot;)&lt;br /&gt;  result =  FindReplace_IBM(result, &quot;oo&quot;, &quot;uu&quot;)&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - FindReplace_Tuned - 2 Values &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt; &#39; Replace - 2 Values&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  result =  Replace(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;, Split(&quot;aa oo&quot;), Split(&quot;oo uu&quot;))&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - Replace - 2 Values &quot; + &quot; - Result: &quot; + result&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &#39; Replace on Array - 2 Values&lt;br /&gt; TimerStart = Timer&lt;br /&gt; For i = 1 To LOOP_MAX&lt;br /&gt;  resultArray =  Replace(Split(&quot;faa bar faabar faa bar faabar faa bar faabar&quot;), Split(&quot;aa oo&quot;), Split(&quot;oo uu&quot;))&lt;br /&gt; Next&lt;br /&gt; timerResult = (Timer - timerStart) * 1000 &#39; milliseconds&lt;br /&gt; print  Format$(timerResult, &quot;###0&quot;) + &quot; ms - Replace on Array - 2 Values &quot; + &quot; - Result: [&quot;&quot;&quot; + Join(resultArray,&quot;&quot;&quot;, &quot;&quot;&quot;) + &quot;&quot;&quot;]&quot; &lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function FindReplace_IBM (ByVal wholestring As Variant, find As String, ireplace As String) As String&lt;br /&gt; &#39; Source http://www-01.ibm.com/support/docview.wss?uid=swg21102507&lt;br /&gt; Dim checkstring, saveleft, leftstring, rightstring As String&lt;br /&gt; Dim n As Integer&lt;br /&gt; checkstring=wholestring&lt;br /&gt; saveleft=&quot;&quot;&lt;br /&gt; While InStr(1, checkstring, find) &amp;lt;&amp;gt; 0 &lt;br /&gt;  n=InStr(1, checkstring, find)&lt;br /&gt;  leftstring = Left(checkstring, n-1)&lt;br /&gt;  rightstring=Right(checkstring, Len(checkstring)-n-Len(find)+1)&lt;br /&gt;  saveleft=saveleft+leftstring+ireplace&lt;br /&gt;  checkstring=rightstring&lt;br /&gt; Wend&lt;br /&gt; FindReplace_IBM = saveleft+checkstring&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function FindReplace_Tuned (paraString As String, paraFrom As String, paraTo As String) As String&lt;br /&gt; &#39; IBM Method tuned&lt;br /&gt; Dim result As String&lt;br /&gt; result = paraString&lt;br /&gt; While InStr(result, paraFrom) &amp;lt;&amp;gt; 0 &lt;br /&gt;  result = Left(result, InStr(result, paraFrom) - 1) &amp;amp; paraTo &amp;amp; Mid(result, InStr(result, paraFrom) + Len(paraFrom))&lt;br /&gt; Wend&lt;br /&gt; FindReplace_Tuned = result&lt;br /&gt;End Function&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;</description><link>http://notes-jj.blogspot.com/2016/05/lotusscript-easy-and-fast.html</link><author>[email protected] (Joerg Junge)</author><thr:total>0</thr:total></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//notes-jj.blogspot.com/feeds/posts/default%3Falt%3Drss

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda