<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>About on kinow</title><link>https://kinoshita.eti.br/index.html</link><description>Recent content in About on kinow</description><generator>Hugo</generator><language>en-us</language><copyright>Bruno P. Kinoshita All rights reserved</copyright><atom:link href="https://kinoshita.eti.br/feed.xml" rel="self" type="application/rss+xml"/><item><title>Loading JavaScript in Jenkins Active Choices parameters</title><link>https://kinoshita.eti.br/2025/08/02/loading-javascript-in-jenkins-active-choices-parameters.html</link><pubDate>Sat, 02 Aug 2025 21:59:52 +0300</pubDate><guid>https://kinoshita.eti.br/2025/08/02/loading-javascript-in-jenkins-active-choices-parameters.html</guid><description>&lt;p>&lt;strong>Be aware that what&amp;rsquo;s described here may introduce a security risk to your
environment, and you must only do it if you really know what you are doing.
You will be breaking a few security fixes of Jenkins, such as&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>SECURITY-440 &lt;a href="https://github.com/jenkinsci/active-choices-plugin/commit/720af532b0a2c69465824af5735be2859d7c3492">https://github.com/jenkinsci/active-choices-plugin/commit/720af532b0a2c69465824af5735be2859d7c3492&lt;/a>&lt;/li>
&lt;li>Jenkins XSS prevention &lt;a href="https://wiki.jenkins-ci.org/JENKINS/Jelly-and-XSS-prevention.html">https://wiki.jenkins-ci.org/JENKINS/Jelly-and-XSS-prevention.html&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Some years ago, the Jenkins Active Choices plug-in had a security bug
reported as a Groovy script could have malicious code that would trigger
an XSS attack in Jenkins (i.e. run some arbitrary JS code in Jenkins).
The plug-in got removed from the update site until we fixed it, and the
solution was to sanitize the output of the Groovy script used to render
the Jenkins parameters.&lt;/p></description></item><item><title>Migrating the Jena editor from CodeMirror 5 to 6</title><link>https://kinoshita.eti.br/2025/06/25/migrating-the-jena-editor-from-codemirror-5-to-6.html</link><pubDate>Wed, 25 Jun 2025 09:38:52 +0300</pubDate><guid>https://kinoshita.eti.br/2025/06/25/migrating-the-jena-editor-from-codemirror-5-to-6.html</guid><description>&lt;p>On October last year, Dependabot&amp;rsquo;s bot sent Apache Jena &lt;a href="https://github.com/apache/jena/pull/2789">a pull request&lt;/a>
to update CodeMirror (a code editor component for web) to from our current 5.x version
to 6.0.1. The build failed, as there were breaking changes in the CodeMirror
API going from 5.x to 6.x.&lt;/p>
&lt;p>CodeMirror developers wrote a nice documentation for users to
&lt;a href="https://codemirror.net/docs/migration/">migrate and update their code&lt;/a>.&lt;/p>
&lt;p>After following their documentation, unfortunately there were still build
errors. Several months later, I found myself on a Saturday afternoon in
a room struggling with the first heat wave in Barcelona this year, and
decided to cool down by writing some code under the ceiling fan.&lt;/p></description></item><item><title>Running Cylc workflows on BSC MareNostrum5</title><link>https://kinoshita.eti.br/2025/05/25/running-cylc-workflows-on-bsc-marenostrum5.html</link><pubDate>Sun, 25 May 2025 09:38:52 +0300</pubDate><guid>https://kinoshita.eti.br/2025/05/25/running-cylc-workflows-on-bsc-marenostrum5.html</guid><description>&lt;blockquote>
&lt;p>TL;DR: Using the &lt;code>communication method = poll&lt;/code> of Cylc 8 you can easily run
Cylc 8 workflows on BSC MareNostrum5 HPC.&lt;/p>&lt;/blockquote>
&lt;p>A couple of years ago I gave a talk about &lt;a href="https://eflows4hpc.eu/event/hpc-workflows-for-climate-models/">“HPC workflows for climate models”&lt;/a>
at an ESiWACE3 event. There, I tried to explain in an unbiased way the differences among the workflow
managers commonly used for climate and weather, including &lt;a href="https://autosubmit.readthedocs.io/">Autosubmit&lt;/a>,
&lt;a href="https://ecflow.readthedocs.io/">ecFlow&lt;/a>, and &lt;a href="https://cylc.github.io/">Cylc&lt;/a>. I worked with
the three workflow managers, and developed Cylc while at NIWA in New Zealand, and currently I
develop Autosubmit at the Barcelona Supercomputing Center, BSC, in Barcelona Spain.&lt;/p></description></item><item><title>Prado Museum visit: favorite sculptures</title><link>https://kinoshita.eti.br/2025/04/26/prado-museum-visit-favorite-sculptures.html</link><pubDate>Sat, 26 Apr 2025 11:27:52 +0300</pubDate><guid>https://kinoshita.eti.br/2025/04/26/prado-museum-visit-favorite-sculptures.html</guid><description>&lt;p>I visited the Prado Museum, in Madrid, for the first time a few weeks ago.
These were my favorite sculptures.&lt;/p>
&lt;p>The first, &lt;a href="https://www.museodelprado.es/en/the-collection/art-work/isabel-ii-veiled/d51dff32-4043-4630-9539-d2d8e528222e">“Isabel II, veiled”&lt;/a>
by &lt;a href="https://en.wikipedia.org/wiki/Camillo_Torreggiani">Camillo Torreggiani&lt;/a>,
is a marble bust but the realism of the veil over her face is truly impressive.
I had seen similar pieces in Louvre, but Torreggiani&amp;rsquo;s sculpture is truly
mesmerizing up close.&lt;/p>



&lt;figure class="normal">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2025-04-26-prado-museum-visit-favorite-sculptures/Isabel%20II,%20veiled.jpg'
 alt=''
 title=''
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Isabel II, veiled, Camillo Torreggiani&lt;/figcaption>

&lt;/figure>


&lt;p>&lt;a href="https://www.museodelprado.es/en/the-collection/art-work/the-painter-mariano-fortuny/41cfdd7e-3b02-4ce6-b973-e4bf768e8414">“The Painter Mariano Fortuny”&lt;/a>
is special to me both for being a beautiful bust, and for portraying
&lt;a href="https://ca.wikipedia.org/wiki/Mari%C3%A0_Fortuny_i_Marsal">Marià Fortuny i Marsal&lt;/a>,
one of my favorite Catalan painters. He has a huge statue in a corner
near La Rambla with Carrer Pintor Fortuny, where Casa Pierra art store
is located (which I am about to visit today to refill some Cretacolor pastels).
&lt;a href="https://en.wikipedia.org/wiki/Vincenzo_Gemito">Vicenzo Gemito&lt;/a> met Fortuny
in Italy and made a terracotta bust and then the final bronze sculpture.&lt;/p></description></item><item><title>Using Docker to run Cypress with Maven</title><link>https://kinoshita.eti.br/2024/08/11/using-docker-to-run-cypress-with-maven.html</link><pubDate>Sun, 11 Aug 2024 00:02:52 +0300</pubDate><guid>https://kinoshita.eti.br/2024/08/11/using-docker-to-run-cypress-with-maven.html</guid><description>&lt;p>Apache Jena runs Cypress tests from Maven, which makes running everything
containerized a bit more difficult. To make it more complicated, we also
used &lt;code>wait-on&lt;/code> and &lt;code>concurrently&lt;/code> to orchestrate how the tests and API
test process are launched.&lt;/p>
&lt;p>The solution found was to combine the &lt;a href="https://hub.docker.com/_/maven">official Maven docker image&lt;/a>,
with the &lt;a href="https://hub.docker.com/r/cypress/included">&lt;code>cypress/included&lt;/code> image&lt;/a>,
in a multi-stage build.&lt;/p>
&lt;div class="popout">
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-dockerfile" data-lang="dockerfile">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#177500"># A multi-stage image with Cypress and Java+Maven for Jena... ALv2...&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># To build it:&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># `docker build -t jena/build:latest .`&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500">#&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># To run it:&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># `docker run --entrypoint &amp;#34;&amp;#34; --rm -ti jena/build:latest /bin/bash`&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">FROM&lt;/span>&lt;span style="color:#c41a16"> maven:3.9.8-eclipse-temurin-21-jammy AS maven&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># The Maven stage. Nothing to see here, we simply copy artefacts&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># from this stage onto the next one.&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># Docs: https://hub.docker.com/_/maven&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">FROM&lt;/span>&lt;span style="color:#c41a16"> cypress/included:13.13.1&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># The image with Cypress and everything else included. Compatible&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># with temurin jammy, so we can just copy Maven and Java, and set&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># the $PATH.&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># Docs: https://hub.docker.com/r/cypress/included&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500">#&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># NOTE: The Cypress image must match our Cypress version in package.json.&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># This is due to how Cypress loads the binary from the cache. It&amp;#39;ll&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># expect a binary at `/root/.cache/Cypress/$version/Cypress/`. With&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#177500"># the `$version` coming from the version from the package.json file.&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">COPY&lt;/span> --from&lt;span style="color:#000">=&lt;/span>maven /usr/share/maven/ /usr/share/maven/ &lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">COPY&lt;/span> --from&lt;span style="color:#000">=&lt;/span>maven /opt/java/ /opt/java&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">ENV&lt;/span> &lt;span style="color:#000">PATH&lt;/span>&lt;span style="color:#000">=&lt;/span>&lt;span style="color:#c41a16">&amp;#34;/usr/share/maven/bin:/opt/java/openjdk/bin:&lt;/span>&lt;span style="color:#000">$PATH&lt;/span>&lt;span style="color:#c41a16">&amp;#34;&lt;/span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">ENTRYPOINT&lt;/span> [&lt;span style="color:#c41a16">&amp;#34;&amp;#34;&lt;/span>]&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#000">&lt;/span>&lt;span style="color:#a90d91">CMD&lt;/span> [&lt;span style="color:#c41a16">&amp;#34;mvn&amp;#34;&lt;/span>]&lt;span style="color:#000">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>
&lt;p>Using the image created with the &lt;code>Dockerfile&lt;/code> above, one can test Jena
Fuseki UI with containers with:&lt;/p></description></item><item><title>Logo: Dev Multitask 100 videos</title><link>https://kinoshita.eti.br/2024/05/11/logo-dev-multitask-100-videos.html</link><pubDate>Sat, 11 May 2024 01:33:52 +0300</pubDate><guid>https://kinoshita.eti.br/2024/05/11/logo-dev-multitask-100-videos.html</guid><description>&lt;p>I modified the DevMultitask channel logo for their 100th video: &lt;a href="https://twitter.com/DevMultitask">https://twitter.com/DevMultitask&lt;/a>&lt;/p>



&lt;figure class="normal">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2024-05-11-logo-dev-multitask-100-videos/dev-multitask-100-videos-1.png'
 alt=''
 title=''
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Dev Multitask 100 videos&lt;/figcaption>

&lt;/figure>


&lt;p>The party effects are from another logo I designed for the Apache Software
Foundation 20th anniversary.&lt;/p></description></item><item><title>Logo: Java Ring</title><link>https://kinoshita.eti.br/2024/04/28/logo-java-ring.html</link><pubDate>Sun, 28 Apr 2024 22:36:52 +0300</pubDate><guid>https://kinoshita.eti.br/2024/04/28/logo-java-ring.html</guid><description>&lt;p>I created this logo sometime ago for the Java community
of a friend: &lt;a href="https://twitter.com/java_ring">https://twitter.com/java_ring&lt;/a>&lt;/p>



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2024-04-28-logo-java-ring/java-ring-logo.png'
 alt=''
 title=''
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Java Ring logo&lt;/figcaption>

&lt;/figure>


&lt;p>Acquired a license for the logo, got a copy of Duke in SVG, and
some quick Inkscape-ing to slice paths and re-order them.&lt;/p></description></item><item><title>Coverage report for a GitHub private repository with GitHub Actions</title><link>https://kinoshita.eti.br/2023/05/29/coverage-report-for-a-github-private-repository-with-github-actions.html</link><pubDate>Mon, 29 May 2023 20:36:52 +0300</pubDate><guid>https://kinoshita.eti.br/2023/05/29/coverage-report-for-a-github-private-repository-with-github-actions.html</guid><description>&lt;p>Normally when you add test coverage to a GitHub repository, the reporting part
boils down to a simple call to some API that will post to a third-party external
service like Coveralls or Codecov. Many are already on the GitHub Actions
Market Place and a few lines of YAML are enough.&lt;/p>



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2023-05-29-coverage-report-for-a-github-private-repository-with-github-actions/coverage.png'
 alt=''
 title=''
 style=''
 width=''
 height=''
 />
 &lt;figcaption>A Codecov coverage report&lt;/figcaption>

&lt;/figure>


&lt;p>We had to report the test coverage of a private GitHub repository of a project
I am working on at the moment, that could not have integration with other services
besides GitHub. So no Coveralls and no Codecov.&lt;/p></description></item><item><title>r/functionalprogramming turned 10</title><link>https://kinoshita.eti.br/2022/10/26/r/functionalprogramming-turned-10.html</link><pubDate>Wed, 26 Oct 2022 19:30:52 +1300</pubDate><guid>https://kinoshita.eti.br/2022/10/26/r/functionalprogramming-turned-10.html</guid><description>&lt;div>



 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2022-10-26-r-functionalprogramming-turned-10/alonzo-church.png'
 alt='Caricature of Alonzo Church'
 title='Caricature of Alonzo Church'
 style='float: right; max-width: 300px; width: 100%; height: auto;'
 width=''
 height=''
 />
 &lt;figcaption>&lt;/figcaption>


&lt;p>Last week &lt;a href="https://old.reddit.com/r/functionalprogramming/">r/functionalprogramming&lt;/a>
turned 10 years old! Time passed very quickly since I created the subreddit.&lt;/p>
&lt;p>I had heard about functional programming before at university and from co-workers,
but hadn't much need for it at work. But when I started working on
&lt;a href="https://github.com/apache/commons-functor/">Apache Commons Functor&lt;/a>,
I realized I needed somewhere to start collecting all the blog posts, papers,
and other links I was finding on a part of the Internet I had no idea it
existed before.&lt;/p></description></item><item><title>Cyclic Workflows with Prefect</title><link>https://kinoshita.eti.br/2021/11/08/cyclic-workflows-with-prefect.html</link><pubDate>Mon, 08 Nov 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/11/08/cyclic-workflows-with-prefect.html</guid><description>&lt;div style="width: 50%; margin: 0 auto;">
 
 
 
 &lt;figure class="feature">
 
 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-11-08-cyclic-workflows-with-prefect/prefect.svg'
 alt='Prefect logo'
 title='Prefect logo'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>&lt;/figcaption>
 
 &lt;/figure>
 

&lt;/div>
&lt;p>Last month I wrote about
&lt;a href="https://kinoshita.eti.br/2021/10/01/cyclic-workflows-with-cylc-and-stackstorm.html">Cyclic Workflows with Cylc and StackStorm&lt;/a>
and how few workflow managers support cyclic workflows.&lt;/p>
&lt;p>I was surprised today while reading Prefect documentation to see this paragraph:&lt;/p>
&lt;blockquote>
&lt;p>Most workflow frameworks act as if looping is impossible (stressing the Acyclic part of the DAG),
but it&amp;rsquo;s actually trivial to implement. We simply dynamically unroll the loop, similar to how RNN
gradients are sometimes computed.&lt;/p>&lt;/blockquote></description></item><item><title>Removing invisible unread GitHub notifications</title><link>https://kinoshita.eti.br/2021/10/22/removing-invisible-unread-github-notifications.html</link><pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/10/22/removing-invisible-unread-github-notifications.html</guid><description>&lt;p>Some months ago I noticed that even after I marked all my GitHub notifications
as read, the unread icon displayed at the right top corner was still showing as
if I had unread notifications.&lt;/p>



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-10-22-removing-invisible-unread-github-notifications/notifications.png'
 alt='GitHub Notifications icon always-on mode'
 title='GitHub Notifications icon always-on mode'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>GitHub Notifications icon always-on mode&lt;/figcaption>

&lt;/figure>


&lt;p>I tried changing the filters, waiting for a new notification to appear so that
I could mark it as read, all hoping that icon would then change. But no matter
what I tried in the GitHub UI, the icon was still there.&lt;/p></description></item><item><title>Blender rendering on NVIDIA Jetson Nano</title><link>https://kinoshita.eti.br/2021/10/17/blender-rendering-on-nvidia-jetson-nano.html</link><pubDate>Sun, 17 Oct 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/10/17/blender-rendering-on-nvidia-jetson-nano.html</guid><description>&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-10-17-blender-rendering-on-nvidia-jetson-nano/jetson.jpg'
 alt='NVIDIA Jetson Nano computer'
 title='NVIDIA Jetson Nano computer'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>NVIDIA Jetson Nano computer&lt;/figcaption>

&lt;/figure>


&lt;p>I had used Blender during my graduation at the Mackenzie University and started learning
Blender 2.8+ again a few weeks ago. Unfortunately rendering the basic tutorials like Andrew
Price&amp;rsquo;s donut takes several minutes on my old (but excellent for programming) Thinkpad
T550 i7 16 GB with a simple Samsung SSD. The reason is that my GPU, a
&lt;a href="https://www.techpowerup.com/gpu-specs/nvs-5400m.c1742">NVIDIA NVS 5400M&lt;/a>
with 2 GB memory and 96 cores cannot be used with Blender as it only supports CUDA 2.1.
Blender 2.8+ GPU rendering requires CUDA 3.0 and higher, which means Blender Cycles
render is using my CPU, which is slower than using a decent GPU.&lt;/p></description></item><item><title>Cyclic Workflows with Cylc and StackStorm</title><link>https://kinoshita.eti.br/2021/10/01/cyclic-workflows-with-cylc-and-stackstorm.html</link><pubDate>Fri, 01 Oct 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/10/01/cyclic-workflows-with-cylc-and-stackstorm.html</guid><description>&lt;p>I am aware of only two workflow managers that support cyclic workflows.
&lt;a href="https://cylc.github.io/">Cylc&lt;/a> and &lt;a href="https://stackstorm.com/">StackStorm&lt;/a>. I won&amp;rsquo;t
enter into details about these two tools, but I must note that I worked on Cylc
during my employment with NIWA, in New Zealand.&lt;/p>
&lt;p>In this post I will only show a very simple workflow called &lt;code>five&lt;/code> first using
Cylc, and then the same workflow with StackStorm.&lt;/p>
&lt;h2 id="cylc">Cylc&lt;/h2>
&lt;p>First let&amp;rsquo;s take a look at the source code of this workflow with Cylc 8 and plot it.&lt;/p></description></item><item><title>Random traffic light</title><link>https://kinoshita.eti.br/2021/04/06/random-traffic-light.html</link><pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/04/06/random-traffic-light.html</guid><description>&lt;p>From a reference photo found &lt;a href="https://twitter.com/BlackLCult/status/1376896997647646720">on Twitter&lt;/a>.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/random-traffic-light.png" alt="Gouache painting of a random traffic light" class="center-aligned" />



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-04-06-random-traffic-light/ExroxZAWgAIQq1M.jpeg'
 alt='Original photograph from Twitter'
 title='Original photograph from Twitter'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Original photograph from Twitter&lt;/figcaption>

&lt;/figure></description></item><item><title>Tufted Titmouse</title><link>https://kinoshita.eti.br/2021/04/05/tufted-titmouse.html</link><pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/04/05/tufted-titmouse.html</guid><description>&lt;p>From a reference photo by &lt;a href="https://twitter.com/ioannismou/status/1378365876878069761">Ioannis Moutsatsos&lt;/a>.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/tufted-titmouse.png" alt="Drawing of a Tufted Titmouse on a fence" class="center-aligned" />



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-04-05-tufted-titmouse/EyDv6GkXMAEF36-.jpeg'
 alt='Original photograph of the Tufted Titmouse by Ioannis Moutsatsos'
 title='Original photograph of the Tufted Titmouse by Ioannis Moutsatsos'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Original photograph of the Tufted Titmouse by Ioannis Moutsatsos&lt;/figcaption>

&lt;/figure>


&lt;p>Painted using recently learned techniques after watching a video
by &lt;a href="https://www.youtube.com/watch?v=ZrJrNGpl9-c&amp;amp;list=PLPXRG6jaep0VJfm_nuD-F_aifQLbkv34D&amp;amp;index=11">Sarah Burns Studio&lt;/a>,
and also other mixed media technique from a &lt;a href="https://www.domestika.org/en/courses/1434-pictorial-sketchbook-with-gouache/course">Domestika course by Maru Godas&lt;/a>.&lt;/p></description></item><item><title>Bezerra da Silva</title><link>https://kinoshita.eti.br/2021/03/27/bezerra-da-silva.html</link><pubDate>Sat, 27 Mar 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/03/27/bezerra-da-silva.html</guid><description>&lt;p>Created with Staedtler colored pencils, then digitalized and post-processed
in GIMP. Used a photo for reference.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/bezerra-03.png" alt="Drawing of Bezerra da Silva" class="center-aligned" />



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-03-27-bezerra-da-silva/bezerra-03-pre.png'
 alt='Drawing of Bezerra da Silva in red colored pencil'
 title='Drawing of Bezerra da Silva in red colored pencil'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Drawing of Bezerra da Silva in red colored pencil&lt;/figcaption>

&lt;/figure>


&lt;p>Used in Speak Like A Brazilian in &lt;a href="https://speaklikeabrazilian.com/blog/2019/09/21/brazilian-portuguese-expressions-in-songs-bezerra-da-silva-malandro-%C3%A9-malandro-e-man%C3%A9-%C3%A9-man%C3%A9.html">this post&lt;/a>.&lt;/p>



&lt;figure class="feature">

 &lt;img
 src='https://kinoshita.eti.br/assets/posts/2021-03-27-bezerra-da-silva/Screen%20Shot%202021-03-30%20at%2015.31.32-fullpage.png'
 alt='Drawing of Bezerra da Silva in Speak Like A Brazilian screenshot'
 title='Drawing of Bezerra da Silva in Speak Like A Brazilian screenshot'
 style=''
 width=''
 height=''
 />
 &lt;figcaption>Drawing of Bezerra da Silva in Speak Like A Brazilian screenshot&lt;/figcaption>

&lt;/figure></description></item><item><title>Figurative drawing line of action 2021-03-11</title><link>https://kinoshita.eti.br/2021/03/11/figurative-drawing-line-of-action-2021-03-11.html</link><pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/03/11/figurative-drawing-line-of-action-2021-03-11.html</guid><description>&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/255.png" alt="Figurative drawing from Line of Action site"></description></item><item><title>Low poly in Inkscape</title><link>https://kinoshita.eti.br/2021/03/11/low-poly-in-inkscape.html</link><pubDate>Thu, 11 Mar 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/03/11/low-poly-in-inkscape.html</guid><description>&lt;p>The &lt;a href="https://inkscape.org/news/2021/01/23/about-screen-contest-inkscape-11-started/">last Inkscape about screen contest&lt;/a>
had two entries that called my attention for being created in Inkscape and for
how nice they looked. Not having used Inkscape for low poly before, I decided
to give it a try.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/low-poly-01.png" alt="Low poly image" class="center-aligned" />
&lt;p>After reading a handful of tutorials, I realized it is a very interesting
and relaxing process. You use a reference photo with low opacity as background,
and then create the polygons manually with a vector pen.&lt;/p></description></item><item><title>Yandê pães logo</title><link>https://kinoshita.eti.br/2021/03/07/yand%C3%AA-p%C3%A3es-logo.html</link><pubDate>Sun, 07 Mar 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/03/07/yand%C3%AA-p%C3%A3es-logo.html</guid><description>&lt;p>Logo created on Inkscape, based on ideas and sketches given by customer.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/yande-1.png" alt="Yandê logo" class="center-aligned" />
&lt;p>Used both for the store and for the social media and web sites.&lt;/p>
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/yande-2.jpg" alt="Yandê logo" class="center-aligned" />
&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/yande-3.png" alt="Yandê logo" class="center-aligned" /></description></item><item><title>Figurative drawing line of action 2021-02-20</title><link>https://kinoshita.eti.br/2021/02/20/figurative-drawing-line-of-action-2021-02-20.html</link><pubDate>Sat, 20 Feb 2021 00:00:00 +0000</pubDate><guid>https://kinoshita.eti.br/2021/02/20/figurative-drawing-line-of-action-2021-02-20.html</guid><description>&lt;img src="https://kinoshita.eti.br/assets/pages/art/images/251.png" alt="Figurative drawing from Line of Action site"></description></item></channel></rss>