Jekyll2023-04-12T18:04:34+12:00https://kinoshita.eti.br/feed.xmlkinowBruno “kinow” Kinoshita personal home pageRocky2020-09-23T00:00:00+12:002020-09-23T00:00:00+12:00https://kinoshita.eti.br/2020/09/23/rocky<p><img src="/assets/pages/art/images/rocky.png" /></p>
<p><a href="/assets/pages/art/archives/rocky.png">High res graphite drawing</a></p>
<p><a href="/assets/pages/art/archives/rocky-ink.png">High res ink drawing</a></p>High res graphite drawing High res ink drawingNZRSE 2020 Cylc UI Scalability2020-09-03T00:00:00+12:002020-09-03T00:00:00+12:00https://kinoshita.eti.br/2020/09/03/nzrse-2020-cylc-ui-scalability<p>Lightning talk for the <a href="http://web.archive.org/web/*/https://www.rseconference.nz/programme/">NZRSE 2020 conference</a>.</p>
<iframe class="scribd_iframe_embed" src="https://kinow.github.io/nzrse-2020-cylc-ui-scalability/#/" data-auto-height="true" data-aspect-ratio="1.5" scrolling="no" id="doc_27575" width="640px" height="400px" frameborder="0"></iframe>Lightning talk for the NZRSE 2020 conference.Finding “ryukokosho” in Taiwan2020-08-16T00:00:00+12:002020-08-16T00:00:00+12:00https://kinoshita.eti.br/2020/08/16/finding-ryokokosho-in-taiwan<p>Last week a friend told me he was looking for a place in Taiwan called “Ryukokosho”.
Or maybe “Ryoko kosho”. From what I understood he was looking for a mosquito species
found in this place.</p>
<p>The species name is “<a href="https://en.wikipedia.org/wiki/Anopheles_tessellatus">Anopheles tessellatus</a>”,
and one of its synonyms is “<a href="http://www.mosquitocatalog.org/taxon_descr.aspx?ID=20899">kinoshitai Koidzumi</a>” — pure
coincidence that <em>kinoshitai</em>!</p>
<p>That synonym entry appears to have been found at the following location:
<strong>Ryukokosho</strong>, Taihoku (Taipei), Formosa [Taiwan, ROC] (LU). So how to find
Ryukokosho if Google Maps cannot find it, Google brings only a handful of
entries with the species synonyms, and no there are no other maps or other
GIS data available?</p>
<!--more-->
<h3 id="it-is-in-taiwan">It is in Taiwan</h3>
<p>Both “Ryukokosho” and “Ryoko kosho” sound Japanese, and not really Chinese.
The reason is that between 1895 and 1945 Taiwan was under Japanese rule, and some
places got different names. Even now, many words from Chinese are still pronounced
in Japan with the Japanese reading of the Chinese characters.</p>
<p>From that location it is possible to immediately identify that it is somewhere in
Taiwan.</p>
<p>We can probably tell that it is an old entry as Taiwan is being identified as
“Formosa”. I remember Taiwan being called “Ilha Formosa” in textbooks in Brazil
when I was in high school.</p>
<p><em>Formosa</em> in Portuguese means pretty, beautiful. It was the name given
to the island of Taiwan <a href="https://en.wikipedia.org/wiki/Taiwan">by Portuguese explorers</a>.</p>
<h3 id="it-is-in-taipei">It is in Taipei</h3>
<p>Another hint at the date of the synonym entry is the next part, Taihoku.
The capital of Taiwan is Taipei, written as 「台北」.</p>
<p>Taipei was officially <a href="https://en.wikipedia.org/wiki/Taipei">renamed to Taihoku</a>
in 1895 when Japan annexed Taiwan. Taihoku is the Japanese reading of the Taipei
Chinese characters.</p>
<p>Curiously, Taihoku <a href="https://languagelog.ldc.upenn.edu/nll/?p=40072">is still in use</a>
in Japan. Oh, and so is Taipei by the way. Must be confusing for non-locals to find
both names in documents, sites, newspapers, etc.</p>
<h3 id="now-where-is-ryukokosho">Now, where is Ryukokosho?</h3>
<p>This was the tricky part.</p>
<p>The name of many <a href="https://en.wikipedia.org/wiki/Place_names_in_Japan">places in Japan</a>
includes a useful suffix. For example:</p>
<ul>
<li>-ken for prefecture, as in Kumamoto-ken</li>
<li>-shi for the city, as in Kumamoto-shi</li>
<li>-ku for the ward of a city, as in Tokyo-ku</li>
<li>-mura for village, as in Kamikuishiki-mura</li>
<li>-hoku or kita- for North, as in Hokkaido, Taihoku, or Kita-ku</li>
<li>-shima or -jima for island, as in Iwo-Jima</li>
</ul>
<p>Looking at -sho, and -kosho, nothing came to my mind. With some help of Jisho.org,
I found this old character for “manor; villa”, 「庄」, read as shou or shō.</p>
<p>Many words when translated to English lose their vowels, like Toukyou that becomes
Tokyo, and Kyouto becomes Kyoto. So maybe shou lost its u, and became sho?</p>
<p>I asked a co-worker from China, that once told me her village was near Taiwan.
A few minutes later she gave me the following place name in
Chinese characters 「龍匣口」.</p>
<p>Surprised, I asked her how she found that name so quickly. She told me she wrote
“ryoko” in a dictionary to translate from Japanese to Chinese. I assume the dictionary
gave her some possible character combinations and she picked the one made
more sense.</p>
<p>That’s when I found this link in Chinese for the Longxiakou
village: <a href="https://zh.m.wikipedia.org/wiki/龍匣口">https://zh.m.wikipedia.org/wiki/龍匣口</a>.</p>
<h3 id="longxiakou">Longxiakou</h3>
<p>If you translate the Wikipedia page from Chinese into English, the first paragraph says:</p>
<blockquote>
<p>Longxiakou is an old place name in Taipei City . It is located in the middle of present-day
Zhongzheng District. It includes all of Aiguoli, Nanmenli, Longguangli, and Longfuli, and
the northeast half of Xia’anli, Longxingli and The north part of Sanyuan Street in Yonggongli,
a small part of the northeast end of Yingxueli, the northern half of Nanfuli, the west of
Xinyingli and the south of Dongmenli.</p>
</blockquote>
<p>So now we have a reliable source to identify the location of the mosquito!</p>
<blockquote>
<p>It is located in the middle of present-day Zhongzheng District</p>
</blockquote>
<p><img class="fluid" src="/assets/posts/2020-08-16-finding-ryukokosho-in-taiwan/zhongzheng-district.png" alt="Google Map for Zhongzheng District" aria-label="Google Map for Zhongzheng District" /></p>
<p>Unfortunately the translated names like Aiguoli don’t match any existing names in Google Maps in Taiwan. The name
in Chinese does (愛國里). So I entered some of these names to confirm the area of the map of that old village.</p>
<p>I also found <a href="https://www.facebook.com/IntoChengNan/photos/a.357412827975944/508448539539038/?type=3&theater">this map</a>
on FaceBook, but without knowing Chinese, the only part I could confirm is that
the light brown area at the top contains the words 「南門」 (South gate?) and 「龍匣口」 (Longxiakou).</p>
<p><img class="fluid" src="/assets/posts/2020-08-16-finding-ryukokosho-in-taiwan/longxiakou-map-facebook.png" alt="Map with Longxiakou Village" aria-label="Map with Longxiakou Village" /></p>
<p>Using QGIS 3, the Georeferencer plug-in, quickly adding some points manually,
and then finally adjusting raster transparency, we have the following map to
show us where the village used to be.</p>
<p><img class="fluid" src="/assets/posts/2020-08-16-finding-ryukokosho-in-taiwan/longxiakou-georeferenced.png" alt="Longxiakou village georeferenced on OSM map" aria-label="Longxiakou village georeferenced on OSM map" /></p>
<p>If you would like to import the QGIS files, or have a look at the points I used,
browse the files over <a href="https://github.com/kinow/kinoshita.eti.br/tree/master/assets/posts/2020-08-16-finding-ryukokosho-in-taiwan">here</a>.</p>Last week a friend told me he was looking for a place in Taiwan called “Ryukokosho”. Or maybe “Ryoko kosho”. From what I understood he was looking for a mosquito species found in this place. The species name is “Anopheles tessellatus”, and one of its synonyms is “kinoshitai Koidzumi” — pure coincidence that kinoshitai! That synonym entry appears to have been found at the following location: Ryukokosho, Taihoku (Taipei), Formosa [Taiwan, ROC] (LU). So how to find Ryukokosho if Google Maps cannot find it, Google brings only a handful of entries with the species synonyms, and no there are no other maps or other GIS data available?Poema: São Paulo e seus cabos2020-06-21T00:00:00+12:002020-06-21T00:00:00+12:00https://kinoshita.eti.br/2020/06/21/poema-s%C3%A3o-paulo-e-seus-cabos<pre>
<img class="text-image float-left" src="/assets/posts/2020-06-21-poema-são-paulo-e-seus-cabos/sao-paulo-e-seus-cabos.png" alt="A drawing with houses in Sao Paulo, with many electricity/tv/telephone cables in front of it" aria-label="A drawing with houses in Sao Paulo, with many electricity/tv/telephone cables in front of it" />
São Paulo tem cabos
De cabo a rabo
Cabos e mais cabos
São Paulo tem gatos nos cabos
E gente fazendo gatos para ter cabo
É tanto cabo que não acaba mais
Mas tanto e tanto cabo
Que a gente não dá cabo
É tanto cabo que não cabo mais
Ficaram os cabos
E fui-me-embora
Cabô
</pre>São Paulo tem cabos De cabo a rabo Cabos e mais cabos São Paulo tem gatos nos cabos E gente fazendo gatos para ter cabo É tanto cabo que não acaba mais Mas tanto e tanto cabo Que a gente não dá cabo É tanto cabo que não cabo mais Ficaram os cabos E fui-me-embora CabôLearning new vocabulary with Shimura Ken Jailbreak story2020-05-23T00:00:00+12:002020-05-23T00:00:00+12:00https://kinoshita.eti.br/2020/05/23/learning-new-vocabulary-with-shimura-ken-jailbreak-story<p>I watched Shimura Ken (志村 けん) the first time doing his Bakatono-Sama character. With
a simple Japanese, still hard to understand his jokes, but luckily most of his videos were
translated to Portuguese or English.</p>
<p>He passed away a few days ago, so I looked for some of his old videos to remember him.
“Jailbreak” (脱獄物語) is a story about jailed Shimura. His daughter visits him in jail,
and after the guard leaves, Drift Ken starts explaining to his daughter his escape plan.</p>
<p>He demands her to bring some material to help him escape, and that’s where the comedy
begins. Shimura Ken plays with Japanese words with similar meaning. That’s a great way
to learn new vocabulary.</p>
<p>He asks for a hacksaw first 金鋸 (<strong>かねのこ</strong>, kanenoko), which his daughter confuses with a
baby turtle 亀の子 (<strong>かめのこ</strong>, kamenoko).</p>
<p>Next he asks for three items. The first item requested is powder 火薬 (<strong>かやく</strong> kayaku),
but she brings instead a suppository blister pack 座薬 (<strong>ざやく</strong> zayaku).</p>
<p>The second item are matches <strong>マッチ</strong> (macchi), but when he asks she simply slaps his hand
<strong>タッチ</strong> (tacchi). The final item he requests is a fuse 導火線 (<strong>どうかせん</strong> doukasen),
which she heards as <strong>すいません</strong> (suimasen), which means sorry.</p>
<p>In his last attempt to escape with the help of his daughter, he asks her to bring
a rasp <strong>やすり</strong> (yasuri). This time she does bring the right item, but just not
the right type.</p>
<p>She brings a sandpaper sheet 紙やすり (<strong>紙やすり</strong> kamiyasuri).</p>I watched Shimura Ken (志村 けん) the first time doing his Bakatono-Sama character. With a simple Japanese, still hard to understand his jokes, but luckily most of his videos were translated to Portuguese or English. He passed away a few days ago, so I looked for some of his old videos to remember him. “Jailbreak” (脱獄物語) is a story about jailed Shimura. His daughter visits him in jail, and after the guard leaves, Drift Ken starts explaining to his daughter his escape plan. He demands her to bring some material to help him escape, and that’s where the comedy begins. Shimura Ken plays with Japanese words with similar meaning. That’s a great way to learn new vocabulary. He asks for a hacksaw first 金鋸 (かねのこ, kanenoko), which his daughter confuses with a baby turtle 亀の子 (かめのこ, kamenoko). Next he asks for three items. The first item requested is powder 火薬 (かやく kayaku), but she brings instead a suppository blister pack 座薬 (ざやく zayaku). The second item are matches マッチ (macchi), but when he asks she simply slaps his hand タッチ (tacchi). The final item he requests is a fuse 導火線 (どうかせん doukasen), which she heards as すいません (suimasen), which means sorry. In his last attempt to escape with the help of his daughter, he asks her to bring a rasp やすり (yasuri). This time she does bring the right item, but just not the right type. She brings a sandpaper sheet 紙やすり (紙やすり kamiyasuri).Notes on Apache Jena StreamRDFWriter2020-04-11T00:00:00+12:002020-04-11T00:00:00+12:00https://kinoshita.eti.br/2020/04/11/notes-on-apache-jena-streamrdfwriter<p><a href="https://jena.apache.org/">Apache Jena</a> project is like a box full of interesting things—at least if you love programming. One of its many features, is <strong>stream processing</strong>.</p>
<p>The graphs in Jena may contain very large datasets, with giga- or terabytes. Some queries may be very large, and then sending the whole result would be simply impracticable.</p>
<p>Instead, the data will go through ARQ. ARQ is a query engine for Jena that supports SPARQL. There is one piece of code there that I found interesting while reviewing a small pull request: <a href="https://github.com/apache/jena/blob/cbdba5edb47041a4181a00bd7660e5d4c212530a/jena-arq/src/main/java/org/apache/jena/riot/system/StreamRDFWriter.java"><code class="language-plaintext highlighter-rouge">org.apache.jena.riot.system.StreamRDFWriter</code></a>.</p>
<p>It is responsible for writing graph data in a streaming fashion. (See <a href="https://en.wikipedia.org/wiki/Stream_processing">stream processing</a> for programming models and more.)</p>
<h2 id="stream-factories">Stream factories</h2>
<p><code class="language-plaintext highlighter-rouge">StreamRDFWriter</code> holds several implementations (as <code class="language-plaintext highlighter-rouge">static</code> members) of <code class="language-plaintext highlighter-rouge">StreamRDFWriterFactory</code>. The factory has one responsibility only, to create streams (<code class="language-plaintext highlighter-rouge">StreamRDF</code>), for a certain format and context.</p>
<p><img class="fluid" src="/assets/posts/2020-04-11-notes-on-apache-jena-streamrdfwriter/01.png" /></p>
<!--more-->
<h2 id="streams-writer-registry">Streams writer registry</h2>
<p>All these factories and streams, the writer also needs a <code class="language-plaintext highlighter-rouge">registry</code>. It is used to access the writers required for streams using certain languages.</p>
<p>So if you have your graph dataset, and need to retrieve triples as thrift, you will interrogate the registry asking for a factory of that language (Turtle, N-Triples, RDF-Thrift, etc) or format (Flat Turtle, N-Quads, N-Triples-ASCII, RDF-Thrift, etc).</p>
<p><img class="fluid" src="/assets/posts/2020-04-11-notes-on-apache-jena-streamrdfwriter/02.png" /></p>
<h2 id="writing-data-to-streams">Writing data to streams</h2>
<p>Each writer has one responsibility too—I really like the design of certain modules in Jena.</p>
<p><img class="fluid" src="/assets/posts/2020-04-11-notes-on-apache-jena-streamrdfwriter/03.png" /></p>
<p>The action, however, happens somewhere else. In the <code class="language-plaintext highlighter-rouge">StreamRDFOps</code> and in the <code class="language-plaintext highlighter-rouge">Iterator</code> implementations is where the stream processing really takes place.</p>
<p><img class="fluid" src="/assets/posts/2020-04-11-notes-on-apache-jena-streamrdfwriter/04.png" /></p>
<p>But this goes beyond the <code class="language-plaintext highlighter-rouge">StreamRDFWriter</code>. So that’s all for today.</p>Apache Jena project is like a box full of interesting things—at least if you love programming. One of its many features, is stream processing. The graphs in Jena may contain very large datasets, with giga- or terabytes. Some queries may be very large, and then sending the whole result would be simply impracticable. Instead, the data will go through ARQ. ARQ is a query engine for Jena that supports SPARQL. There is one piece of code there that I found interesting while reviewing a small pull request: org.apache.jena.riot.system.StreamRDFWriter. It is responsible for writing graph data in a streaming fashion. (See stream processing for programming models and more.) Stream factories StreamRDFWriter holds several implementations (as static members) of StreamRDFWriterFactory. The factory has one responsibility only, to create streams (StreamRDF), for a certain format and context.Apple 22020-04-04T00:00:00+13:002020-04-04T00:00:00+13:00https://kinoshita.eti.br/2020/04/04/apple-2<p><img class="fluid" src="/assets/posts/2020-04-04-apple-2/apple-02.png" alt="Apple 2" /></p>Lunar vehicle2020-04-04T00:00:00+13:002020-04-04T00:00:00+13:00https://kinoshita.eti.br/2020/04/04/lunar-vehicle<p><img class="fluid" src="/assets/posts/2020-04-04-lunar-vehicle/lunar-vehicle.png" alt="Lunar vehicle sketch" /></p>Green Skull2020-04-03T00:00:00+13:002020-04-03T00:00:00+13:00https://kinoshita.eti.br/2020/04/03/green-skull<p><img src="/assets/pages/art/images/green-skull-full.png" /></p>Old Hands2020-04-03T00:00:00+13:002020-04-03T00:00:00+13:00https://kinoshita.eti.br/2020/04/03/old-hands<p><img src="/assets/pages/art/images/old-hands.png" /></p>