<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://betabloguant.free.fr/index.php">
  <title>Off the record</title>
  <description><![CDATA["data lives longer than any application does." G.King.]]></description>
  <link>http://betabloguant.free.fr/index.php</link>
  <dc:language>fr</dc:language>
  <dc:creator></dc:creator>
  <dc:rights></dc:rights>
  <dc:date>2018-07-05T06:02:14+02:00</dc:date>
  <admin:generatorAgent rdf:resource="http://www.dotclear.net/" />
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2018-07-05T06:02:14+02:00</sy:updateBase>
  
  <items>
  <rdf:Seq>
    <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2018/07/05/516-docker-on-glcoud" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2017/10/27/513-typescript" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2017/09/11/512-git" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2017/09/11/511-docker-and-continuous-deployment-workshop" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2017/07/26/510-web-server-course" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2017/07/25/509-intellij-idea-shortcuts" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2015/02/28/508-test-hard-drive-speed" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2015/02/16/507-series" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2014/08/09/505-listen-to-any-internet-radio-on-your-old-vintage-fm-radio" />
  <rdf:li rdf:resource="http://betabloguant.free.fr/index.php?2013/12/07/504-make-a-still-movie-with-gopro-and-mac" />
  </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://betabloguant.free.fr/index.php?2018/07/05/516-docker-on-glcoud">
  <title>Docker on glcoud</title>
  <link>http://betabloguant.free.fr/index.php?2018/07/05/516-docker-on-glcoud</link>
  <dc:date>2018-07-05T06:02:14+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>General</dc:subject>
  <description>1  sudo apt-get update

   2  sudo apt-get install nginx
   3  sudo apt-get update
   4  sudo apt-get install nginx
   5  nginx -v
   6  curl 129.0.0.1
   7  sudo systemctl start nginx
   8  sudo systemctl status nginx
   9  curl http://127.0.0.1
  10  sudo apt-get install docker.io
  11  sudo...</description>
  <content:encoded><![CDATA[ <p>1  sudo apt-get update</p>

<pre>   2  sudo apt-get install nginx
   3  sudo apt-get update
   4  sudo apt-get install nginx
   5  nginx -v
   6  curl 129.0.0.1
   7  sudo systemctl start nginx
   8  sudo systemctl status nginx
   9  curl http://127.0.0.1
  10  sudo apt-get install docker.io
  11  sudo docker images
  12  sudo docker pull nginx:1.10.0
  13  sudo docker images
  14  sudo dpkg -l | grep nginx
  15  sudo systemctl stop nginx
  16  sudo dpkg -l | grep nginx
  17  sudo docker pull nginx:1.10.3
  18  sudo apt-get update
  19  sudo apt-get install nginx
  20  sudo dpkg -l | grep nginx
  21  sudo docker images
  22  sudo docker remove nginx:1.10.0
  23  docker help
  24  sudo docker rm nginx:1.10.0
  25  sudo docker rmi nginx:1.10.0
  26  sudo docker images
  27  sudo dpkg -l | grep nginx
  28  sudo docker images
  29  sudo docker run -d nginx 1.10.3
  30  sudo docker images
  31  sudo docker rim nginx:latest
  32  sudo docker rmi nginx:latest
  33  docker ps
  34  sudo docker ps
  35  sudo docker rmi nginx
  36  sudo docker run -d nginx:1.10.3
  37  sudo docker ps
  38  sudo docker run -d nginx:1.10.3
  39  sudo docker ps
  40  sudo docker run -d nginx:1.10.0
  41  sudo docker ps
  42  sudo docker stop ngingx:1.10.0
  43  sudo docker stop
  44  sudo docker stop %1
  45  sudo docker stop f7eb5251903e
  46  sudo docker ps
  47  sudo docker inspect 9fd0e1a65bc4
  48  curl http://172.17.0.3
  49  sudo docker ps
  50  sud docker inspect pensive_morse
  51  sud docker inspect --format '<q> .NetworkSettings.IPAddress </q>' pensive_morse
  52  sudo docker inspect pensive_morse
  53  sudo docker inspect --format '<q> .NetworkSettings.IPAddress </q>' pensive_morse
  54  CN='pensive_morse'
  55  sudo docker inspect --format '<q> .NetworkSettings.IPAddress </q>' $CN</pre>


<pre> 133  sudo docker build -t 1.0.0 .
 134  cat Dockerfile
 135  sudo docker images
 
 143  sudo docker inspect hungry_tesla
 144  curl http://172.17.0.3
 145  curl http://172.17.0.2
 146  curl http://172.17.0.1
 147  sudo docker ps
 148  sudo docker inspect heuristic_payne
 149  curl http://172.17.0.4
 150  sudo docker ps
 151  sudo docker ps -a
 152  sudo docker ps -aq</pre>


<pre> 154  curl http://172.17.0.4
 155  sudo docker inspect heuristic_payne
 156  curl http://172.17.0.4/</pre>


<pre> 158  sudo docker inspect hungry_tesla
 159  curl http://172.17.0.3
 160  docker tag -h
 161  sudo docker tag monolith:1.0.0 nicolasb/monolith:1.0.0
 162  sudo docker login
 163  sudo docker push nicolasb/monolith:1.0.0</pre>


<pre> 165  sudo docker tag hello:1.0.0 nicolasb/hello:1.0.0
 166  sudo docker push nicolasb/hello:1.0.0
 167  sudo docker tag hello:1.0.0 nicol4sb/hello:1.0.0
 168  sudo docker push nicol4sb/hello:1.0.0
 169  sudo docker tag monolith:1.0.0 nicol4sb/monolith:1.0.0
 170  sudo docker push nicolasb/monolith:1.0.0
 171  sudo docker push nicol4sb/monolith:1.0.0
 172  sudo docker ps
 173  sudo docker tag monolith:1.0.0 nicol4sb/auth:1.0.0
 174  sudo docker tag auth:1.0.0 nicol4sb/auth:1.0.0
 175  sudo docker push nicol4sb/auth:1.0.0</pre>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2017/10/27/513-typescript">
  <title>Typescript</title>
  <link>http://betabloguant.free.fr/index.php?2017/10/27/513-typescript</link>
  <dc:date>2017-10-27T23:59:51+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>geek stuff</dc:subject>
  <description>Const - block scoped - better than var which has a global scope
Types - boolean, number, string, symbol, null, undefined
type inference : const tax = 20;



interface Puppy {

 name: string;
 age: number;

};


const realPuppy: Puppy = {

 name: 'Pikachu',
 age: 1

};


Parameterized types...</description>
  <content:encoded><![CDATA[ <p>Const - block scoped - better than var which has a global scope<br />
Types - boolean, number, string, symbol, null, undefined<br />
type inference&nbsp;: const tax = 20;<br /></p>



<p>interface Puppy {</p>

<pre> name: string;
 age: number;</pre>

<p>};</p>


<p>const realPuppy: Puppy = {</p>

<pre> name: 'Pikachu',
 age: 1</pre>

<p>};</p>


<p>Parameterized types<br />
const betterCats: Array&lt;Cat&gt; = [</p>

<pre> {name: 'Simba', age: 22},
 {name: 'Aslan', age: 9999}</pre>

<p>];</p>


<p>classes and inheritance
export class = pubilc</p>


<p>Filter is an Array method that allows you to generate a new array keeping only the truthy values that are provided from the returning callback<br /></p>


<p>numbers.filter(number =&gt; number &gt; 30)</p>


<p>Enums
Async / Await
Getters / Setters
Destructuring
Arrow functions</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2017/09/11/512-git">
  <title>Git</title>
  <link>http://betabloguant.free.fr/index.php?2017/09/11/512-git</link>
  <dc:date>2017-09-11T21:11:41+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>General</dc:subject>
  <description>Git clone abc/def/something.git


git status


git checkout -b my-branch


# some edits


git status


git add my-file-to-commit


git status // tells you in which branch you're working and changes


git commit // commits what is to be comitted


git push origin my-branch // pushes changes from...</description>
  <content:encoded><![CDATA[ <p>Git clone abc/def/something.git</p>


<p>git status</p>


<p>git checkout -b my-branch</p>


<p><code># some edits</code></p>


<p>git status</p>


<p>git add my-file-to-commit</p>


<p>git status // tells you in which branch you're working and changes</p>


<p>git commit // commits what is to be comitted</p>


<p>git push origin my-branch // pushes changes from my-branch to the original repo</p>


<p>git status</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2017/09/11/511-docker-and-continuous-deployment-workshop">
  <title>Docker and continuous deployment workshop</title>
  <link>http://betabloguant.free.fr/index.php?2017/09/11/511-docker-and-continuous-deployment-workshop</link>
  <dc:date>2017-09-11T20:25:35+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>General</dc:subject>
  <description>https://github.com/gogits/gogs/tree/master/docker





docker volume ls


docker ps -a


docker start


docker stop...</description>
  <content:encoded><![CDATA[ <p>https://github.com/gogits/gogs/tree/master/docker</p>


<p><img src="/images/Screen Shot 2017-09-11 at 20.23.41.png" alt="" /></p>


<p>docker volume ls</p>


<p>docker ps -a</p>


<p>docker start</p>


<p>docker stop</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2017/07/26/510-web-server-course">
  <title>Playing with ncat and Python http.server</title>
  <link>http://betabloguant.free.fr/index.php?2017/07/26/510-web-server-course</link>
  <dc:date>2017-07-26T15:41:46+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>geek stuff</dc:subject>
  <description>open a webserver and browse

python3 -m http.server 8080


open a listening socket on port 9000

ncat -l 9000


upon browser call at localhost:9000 - see the HTTP GET request come in and answer it as follows :

HTTP/1.1 307 Temporary Redirect
Location: https://www.eff.org/



HTTP/1.1 200 OK...</description>
  <content:encoded><![CDATA[ <ol>
<li>open a webserver and browse</li>
</ol>
<p>python3 -m http.server 8080</p>

<ol>
<li>open a listening socket on port 9000</li>
</ol>
<p>ncat -l 9000</p>

<ol>
<li>upon browser call at localhost:9000 - see the HTTP GET request come in and answer it as follows&nbsp;:</li>
</ol>
<p>HTTP/1.1 307 Temporary Redirect
Location: https://www.eff.org/</p>



<p>HTTP/1.1 200 OK
Content-length: 10
Content-type: text/plain</p>


<p>1234567890</p>

<ol>
<li>see 1234567890 print in the browser</li>
</ol>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2017/07/25/509-intellij-idea-shortcuts">
  <title>IntelliJ IDEA shortcuts</title>
  <link>http://betabloguant.free.fr/index.php?2017/07/25/509-intellij-idea-shortcuts</link>
  <dc:date>2017-07-25T16:10:37+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>geek stuff</dc:subject>
  <description>Errors                    ⌘0
Project                   ⌘1
Version Control	⌘9
Run	                ⌘4
Debug	                ⌘5
Terminal	                ⌥F12
Editor	                ⎋ = esc


Distraction free mode :       ⌘⇧F12
Quick search action :          ⇧⌘A...</description>
  <content:encoded><![CDATA[ <ul>
<li>Errors                    ⌘0</li>
<li>Project                   ⌘1</li>
<li>Version Control	⌘9</li>
<li>Run	                ⌘4</li>
<li>Debug	                ⌘5</li>
<li>Terminal	                ⌥F12</li>
<li>Editor	                ⎋ = esc</li>
</ul>
<ul>
<li>Distraction free mode&nbsp;:       ⌘⇧F12</li>
<li>Quick search action&nbsp;:          ⇧⌘A</li>
<li>highlight usages of a symbol 	⌘⇧F7</li>
<li>auto-complete     ⌃Space</li>
</ul>
<ul>
<li>Duplicate a line                   ⌘D</li>
<li>Comment a line                   ⌘/</li>
<li>Delete a line 	                    ⌘⌫</li>
<li>statement completion          ⇧⌘⏎</li>
<li>recent files                          ⌘E</li>
<li>navigate to class (Object)     ⌘O  (to file ⌘⇧O)</li>
</ul>
<ul>
<li>navigate within the structure of a file   ⌘F12</li>
<li>search everywhere               double ⇧</li>
<li>quick outline                       ⌥space = option space</li>
<li>show implementation           ⌘⌥B (command option B)</li>
</ul>

<ul>
<li>Rename	⇧F6</li>
<li>Extract variable	⌥⌘V</li>
<li>Extract field	⌥⌘F</li>
<li>Extract a constant	⌥⌘C</li>
<li>Extract a method	⌥⌘M</li>
<li>Extract a parameter	⌥⌘P</li>
<li>Inline	⌥⌘N</li>
<li>Copy current file	F5</li>
<li>Move	F6</li>
<li>Refactor this	⌃T</li>
</ul>
<ul>
<li>find usages  ⌥F7</li>
<li>Reformat code	⌥⌘L</li>
<li>Auto-indent lines	⌃⌥I</li>
<li>Optimize imports	⌃⌥O</li>
</ul>
<ul>
<li>navigate to versioning tools ctrl-V</li>
<li>Commit changes	⌘K</li>
<li>Update project	⌘T</li>
<li>Push commits	⇧⌘K</li>
</ul>
<ul>
<li>build project  ⌘F9</li>
</ul>

<ul>
<li>Toggle breakpoint	⌘F8</li>
<li>Step into	F7</li>
<li>Smart step into	⇧F7</li>
<li>Step over	F8</li>
<li>Step out	⇧F8</li>
<li>Resume	⌥⌘R</li>
<li>Evaluate expression	⌥F8</li>
</ul>
<ul>
<li>sout is the keyword for System.out.println</li>
<li>iter is the foreach loop code template gen keyword</li>
</ul>

<p>https://www.jetbrains.com/help/idea/eclipse.html</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2015/02/28/508-test-hard-drive-speed">
  <title>test hard drive speed</title>
  <link>http://betabloguant.free.fr/index.php?2015/02/28/508-test-hard-drive-speed</link>
  <dc:date>2015-02-28T15:16:46+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>General</dc:subject>
  <description>dd if=/dev/zero bs=100k of=/Users/nick/tstfile count=1024 2&gt;&amp;1 | grep sec | awk '{print $1 / 1024 / 1024 / $5, "MB/sec" }'


disque normal :
33,3333 MB/sec


SSD :
133.884 MB/sec...</description>
  <content:encoded><![CDATA[ <p>dd if=/dev/zero bs=100k of=/Users/nick/tstfile count=1024 2&gt;&amp;1 | grep sec | awk '{print $1 / 1024 / 1024 / $5, "MB/sec" }'</p>


<p>disque normal&nbsp;:
33,3333 MB/sec</p>


<p>SSD&nbsp;:
133.884 MB/sec</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2015/02/16/507-series">
  <title>Series</title>
  <link>http://betabloguant.free.fr/index.php?2015/02/16/507-series</link>
  <dc:date>2015-02-16T14:03:13+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>General</dc:subject>
  <description>Mad men
True detective
House of cards
top of the lake
Elementary
GIIIIRLS
DEXXXTER
The good wife (suggested by wife, ironically)
Breaking bad
Downton abbey...</description>
  <content:encoded><![CDATA[ <ul>
<li>Mad men</li>
<li>True detective</li>
<li>House of cards</li>
<li>top of the lake</li>
<li>Elementary</li>
<li>GIIIIRLS</li>
<li>DEXXXTER</li>
<li>The good wife (suggested by wife, ironically)</li>
<li>Breaking bad</li>
<li>Downton abbey</li>
</ul>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2014/08/09/505-listen-to-any-internet-radio-on-your-old-vintage-fm-radio">
  <title>Listen to any internet radio on your old vintage FM radio !</title>
  <link>http://betabloguant.free.fr/index.php?2014/08/09/505-listen-to-any-internet-radio-on-your-old-vintage-fm-radio</link>
  <dc:date>2014-08-09T04:45:34+02:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>geek stuff</dc:subject>
  <description>Build a simple FM transmitter with a raspberry pi and a piece of wire for the antenna


1) Get a raspberry pi


2) get whatever Linux on it


3) install sox to read internet streams : $ sudo apt-get install sox libsox-fmt-all


4) wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz...</description>
  <content:encoded><![CDATA[ <p>Build a simple FM transmitter with a raspberry pi and a piece of wire for the antenna</p>


<p>1) Get a raspberry pi</p>


<p>2) get whatever Linux on it</p>


<p>3) install sox to read internet streams&nbsp;: $ sudo apt-get install sox libsox-fmt-all</p>


<p>4) wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz
tar -xvf Pifm.tar.gz</p>


<p>5) start the bbc on 103.3FM</p>


<p>$ sox -v .9 -t mp3 http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-eieuk -t wav --input-buffer 80000 -r 22050 -c 1 - | sudo /home/pi/pifm/pifm - 103.3</p>


<p>6) improve the range from 10cm to 100m by plugging a piece of wire in the 4th GPIO pin. I took an old headset, cut at both ends, plugged. no soldering needed, google to find which GPIO is the 4th one.</p>


<p>7) replace the bbc stream with France Info or France Inter or whatever stream&nbsp;: France Bleu Breizh, Tendance Ouest Rouen, Kiss FM dance or whatever obscure campus radio that streams on internet. Yay.</p>


<p>http://www.listenlive.eu/france.html</p>


<p>8) play your mp3s in the house
sox -v .9 -t mp3 ./someCrap.mp3 -t wav -r 22050 -c 1 - | sudo /home/pi/pifm/pifm - 100</p>]]></content:encoded>
</item>
<item rdf:about="http://betabloguant.free.fr/index.php?2013/12/07/504-make-a-still-movie-with-gopro-and-mac">
  <title>Make a still movie with gopro and Mac</title>
  <link>http://betabloguant.free.fr/index.php?2013/12/07/504-make-a-still-movie-with-gopro-and-mac</link>
  <dc:date>2013-12-07T05:46:07+01:00</dc:date>
  <dc:language>fr</dc:language>
  <dc:creator>Nicolas</dc:creator>
  <dc:subject>geek stuff</dc:subject>
  <description>$ sips -Z 1920 *.JPG


$ mencoder mf://*.JPG -mf fps=8 -ovc xvid -xvidencopts bitrate=5000 -o output-mpeg.avi


mencoder output-mpeg.avi -o cropped.avi -vf crop=1720:1440:200:0 -ovc xvid -xvidencopts bitrate=5000



sips is a osx tool, similar tools to resize images are available on linux....</description>
  <content:encoded><![CDATA[ <p><code>$ sips -Z 1920 *.JPG</code></p>


<p><code>$ mencoder mf://*.JPG -mf fps=8 -ovc xvid -xvidencopts bitrate=5000 -o output-mpeg.avi</code></p>


<p><code>mencoder output-mpeg.avi -o cropped.avi -vf crop=1720:1440:200:0 -ovc xvid -xvidencopts bitrate=5000</code></p>



<p>sips is a osx tool, similar tools to resize images are available on linux.</p>]]></content:encoded>
</item>

</rdf:RDF>
