<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='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'><id>tag:blogger.com,1999:blog-3974829641887216945</id><updated>2026-04-29T18:51:46.217-04:00</updated><category term="linux"/><category term="archlinux"/><category term="datamining"/><category term="r"/><category term="python"/><category term="JavaScript"/><category term="web"/><category term="csv"/><category term="Java"/><category term="alternativo"/><category term="bash"/><category term="cloud"/><category term="configurations"/><category term="js"/><category term="mallet"/><category term="notebook"/><category term="perl"/><category term="textmining"/><category term="tools"/><category term="topic modeling"/><category term="visualizations"/><category term="2013"/><category term="3d"/><category term="apache"/><category term="bd"/><category term="celebraciones"/><category term="cli"/><category term="config"/><category term="customizing"/><category term="data"/><category term="docker"/><category term="domingos"/><category term="dotcloud"/><category term="entretenimiento"/><category term="firefox"/><category term="formatos"/><category term="formats"/><category term="git"/><category term="github"/><category term="gitlab"/><category term="images"/><category term="index"/><category term="infovis"/><category term="json"/><category term="k8s"/><category term="kubernetes"/><category term="laptop"/><category term="man"/><category term="mysql"/><category term="octopi"/><category term="options"/><category term="papers"/><category term="peliculas"/><category term="postgresql"/><category term="raspberry"/><category term="raspberrypi"/><category term="raspbian"/><category term="scripts"/><category term="series"/><category term="systemctl"/><category term="tree"/><category term="troubleshooting"/><category term="twitter"/><category term="udev"/><category term="upgrade"/><category term="weka"/><category term="windows"/><category term="2012"/><category term="64bit"/><category term="API"/><category term="APIs"/><category term="Apollo"/><category term="Databases"/><category term="ElementTree"/><category term="Flisol 2012"/><category term="GraphQL"/><category term="GraphQL-client GraphQL-server"/><category term="Programming Language"/><category term="REST"/><category term="SD"/><category term="UEFI"/><category term="X11"/><category term="alerts"/><category term="apuntes"/><category term="apuntes."/><category term="architecture"/><category term="arduino"/><category term="basededato"/><category term="baterías"/><category term="blog"/><category term="buenosaires"/><category term="buildpack"/><category term="buildpacks"/><category term="c45"/><category term="cake php"/><category term="camara"/><category term="celarg"/><category term="checklist"/><category term="chezmoi"/><category term="chromium"/><category term="cicd"/><category term="cine"/><category term="cinnamon"/><category term="clasificador"/><category term="cmd"/><category term="cnb"/><category term="cnfc"/><category term="code"/><category term="coffee-script"/><category term="command line"/><category term="compilar"/><category term="config files"/><category term="container"/><category term="cosas"/><category term="cpantester"/><category term="crawl"/><category term="crawler"/><category term="cygwin"/><category term="d3"/><category term="db"/><category term="dd"/><category term="debian"/><category term="devices"/><category term="devops"/><category term="distroless"/><category term="dockerfile"/><category term="dotfiles"/><category term="dummy example"/><category term="ebooks"/><category term="edicion"/><category term="elegir"/><category term="email"/><category term="flisol"/><category term="forense"/><category term="foreveralone"/><category term="fotografía"/><category term="fotos"/><category term="framework"/><category term="fun"/><category term="girar"/><category term="gmail"/><category term="gnu"/><category term="grafana"/><category term="grunt"/><category term="grunt.js"/><category term="hobbie"/><category term="howto"/><category term="if"/><category term="import"/><category term="impresora"/><category term="infrastructure"/><category term="install"/><category term="installation"/><category term="j48"/><category term="journalctl"/><category term="kubectl"/><category term="largefile"/><category term="layers"/><category term="lda"/><category term="libros"/><category term="libs"/><category term="list"/><category term="localhost"/><category term="love"/><category term="ls"/><category term="lxml"/><category term="maestria."/><category term="marlin"/><category term="matrix"/><category term="mega2560"/><category term="memtest86"/><category term="mencoder"/><category term="microk8s"/><category term="microservices"/><category term="millones"/><category term="minikube"/><category term="modeler"/><category term="mojolicious"/><category term="mongodb"/><category term="mount"/><category term="mov"/><category term="ninjaIDE"/><category term="node"/><category term="noticias"/><category term="npm"/><category term="nump"/><category term="nutch"/><category term="nvidia"/><category term="ocio"/><category term="octoprint"/><category term="of"/><category term="openbox"/><category term="openbox keybind"/><category term="operative system"/><category term="oracle"/><category term="pack"/><category term="paketo"/><category term="partitions"/><category term="pendrive"/><category term="perlbrew"/><category term="perros"/><category term="photorec"/><category term="photos"/><category term="php"/><category term="pictures"/><category term="pipeline"/><category term="pivotal"/><category term="pods"/><category term="policies"/><category term="ports"/><category term="post-it"/><category term="postit"/><category term="privoxy"/><category term="processing"/><category term="prusa"/><category term="pytyle"/><category term="random forest"/><category term="raro"/><category term="recipes"/><category term="recovery"/><category term="registros"/><category term="reinstalling"/><category term="repository"/><category term="rotar"/><category term="rpy2"/><category term="rules"/><category term="sabados"/><category term="salud"/><category term="samsung no nada"/><category term="scrappers"/><category term="scrapy"/><category term="sefueelaño"/><category term="setting up"/><category term="settings"/><category term="sh"/><category term="shiny"/><category term="smartphone"/><category term="solr"/><category term="sources"/><category term="spss"/><category term="sql"/><category term="ssh"/><category term="systemd"/><category term="terminal"/><category term="tilling manager"/><category term="tor"/><category term="tornado"/><category term="tr"/><category term="tsv"/><category term="tweet"/><category term="twisted"/><category term="uba"/><category term="ubuntu"/><category term="universidad"/><category term="unix"/><category term="update"/><category term="usb"/><category term="vector"/><category term="vfat"/><category term="video"/><category term="virtualbox"/><category term="virtualenv"/><category term="visual"/><category term="web2py"/><category term="webapp"/><category term="weekend"/><category term="win"/><category term="window manager"/><category term="worktree."/><category term="xinitrc"/><category term="xml"/><category term="xorg"/><category term="yaourt"/><category term="yay"/><category term="yii"/><title type='text'>Bitácora en cápsulas.</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>183</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-556784933967676900</id><published>2025-09-01T07:44:00.009-04:00</published><updated>2025-10-12T07:34:48.896-04:00</updated><title type='text'>test octopi</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;dd if=/home/j3nnn1/octopi/octopi-1.1.0-1.11.2-20250610114348.img of=/dev/mmcblk0p1&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;dd if=/dev/source of=/dev/destination bs=4M status=progress&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;dd if=/home/j3nnn1/octopi/octopi-1.1.0-1.11.2-20250610114348.img&amp;nbsp; of=/dev/sdb&amp;nbsp; bs=4M&amp;nbsp; status=progress&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;pi@octopi:~ $ cat /boot/firmware/wifi.nmconnection&amp;nbsp;&lt;br /&gt;&lt;br /&gt;[wifi]&lt;br /&gt;mode=infrastructure&lt;br /&gt;ssid=ddddd&lt;br /&gt;&lt;br /&gt;[wifi-security]&lt;br /&gt;auth-alg=open&lt;br /&gt;key-mgmt=wpa-psk&lt;br /&gt;psk=ddddd&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;sudo systemctl restart wpa_supplicant&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;sudo journalctl -u wpa_supplicant&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;el archivo octopi-wpa_supplicant.txt no me funca. Nunca lo copia.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Configurar WIFI despues del reinicio el modem y pierdas la IP statica.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;sudo nmtui&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;nmcli device show wlan0&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;sudo raspi-config no funciona muy bien, al no poder ver o hacer debug de los errores de las apps internas que usa.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/556784933967676900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2025/09/test-octopi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/556784933967676900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/556784933967676900'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2025/09/test-octopi.html' title='test octopi'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-1666824681478855838</id><published>2023-04-27T16:49:00.001-04:00</published><updated>2023-04-27T16:49:24.938-04:00</updated><title type='text'>Pasaron casi dos años desde mi ultimo post</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Despues del post parto la vida personal se vuelve un caos, y luego la vida laboral volver al ritmo de no tener molestias fisicas y todo el tema psicologico hizo un poco dificil continuar publicando con frecuencia mensual por acå, asi sea de mis anotaciones y no quiere decir que deje la parte tecnica sino mas bien, limpiar ,formatear y dejar algo entendible para mi yo del futuro estaba muy dificil y en el orden de prioridad de ultimo.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Hoy retomando con esta peque intro de llanto de alegria, y justificaciones, parte de mi aceptacion dejo unas anotaciones de airflow que ultimamente estoy usando mucho.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;Desde entonces (2021) hice una diplomatura de deep learning y este año me anote en otra de big data. Me gusta desarrollar/ programar asi que no creo que deje de hacerlo asi mi job post title diga que ahora&amp;nbsp; estoy como data engineer.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Esta imagen la saque de stack overflow como todo skill de saber googlear. es importante. y bueno dejo las referencias: &lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo1_8fPYPoeKoG2pLq6XU_yWbUHlCofZot1J5zspTiGbXsH0sFROIDcSwbuhYnrz-F8mUr1zyEfuXfB-o_GzpyHxOaXSPHm_lygDJGVbxvOzEJMad1aLaf0orF0Ag_pcUbmudfmR5v92hN62ChBrHCwon8jY_dc2tgnPSmB1x19pIFumNDkZdhflQk/s689/airflow_concurrency.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;521&quot; data-original-width=&quot;689&quot; height=&quot;242&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo1_8fPYPoeKoG2pLq6XU_yWbUHlCofZot1J5zspTiGbXsH0sFROIDcSwbuhYnrz-F8mUr1zyEfuXfB-o_GzpyHxOaXSPHm_lygDJGVbxvOzEJMad1aLaf0orF0Ag_pcUbmudfmR5v92hN62ChBrHCwon8jY_dc2tgnPSmB1x19pIFumNDkZdhflQk/s320/airflow_concurrency.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Un abrazo calido, que esten bien.&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/1666824681478855838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2023/04/pasaron-casi-dos-anos-desde-mi-ultimo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1666824681478855838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1666824681478855838'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2023/04/pasaron-casi-dos-anos-desde-mi-ultimo.html' title='Pasaron casi dos años desde mi ultimo post'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo1_8fPYPoeKoG2pLq6XU_yWbUHlCofZot1J5zspTiGbXsH0sFROIDcSwbuhYnrz-F8mUr1zyEfuXfB-o_GzpyHxOaXSPHm_lygDJGVbxvOzEJMad1aLaf0orF0Ag_pcUbmudfmR5v92hN62ChBrHCwon8jY_dc2tgnPSmB1x19pIFumNDkZdhflQk/s72-c/airflow_concurrency.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-6764496973950116474</id><published>2021-12-15T15:33:00.001-04:00</published><updated>2021-12-15T15:33:27.656-04:00</updated><title type='text'>go tools</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;span style=&quot;font-family: Arial; font-size: 11pt; text-align: justify; text-indent: 36pt; white-space: pre-wrap;&quot;&gt;As developer we constantly use tools that let us go faster in our daily tasks, not only go faster also we have to write code with a good quality, because we need to write thinking in the next developer that will have to touch the code, so always choose explicit instead implicit, keep the things simple and Try to not repeat yourself (DRY). In this long way we always continue learning and improving our way of writing code in Go language, some of this tools&amp;nbsp; I listed here:&lt;/span&gt;&lt;/p&gt;&lt;span id=&quot;docs-internal-guid-88b11b58-7fff-3cc4-76ed-cc8c2c462a08&quot;&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;go get / go install (Go tools)&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;This cli command lets you get a dependency and install it&amp;nbsp; in your GO_PATH. In the last version of go (1.17.0), &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“go get/install”&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; was redesigned with modules, and improved usability of it, which will help speed up the process of getting users up to speed.[2]&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;With go get your will update your dependency and edit go.mod and go.sum. In the best practice of golang they &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;advise to generally not try to consume or edit go.mod and go.sum directly because this should be timeless for the foreseeable future, also it&#39;s hard for a human to fully understand the dependency graph by reading a go.mod file. Also with go get you could&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; remove dependencies, the command looks like &lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“go get example.com/theirmodule@none”&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[2]&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Using go tools to get your dependencies your requirements remain consistent and the content of your go.mod file is valid. If you need to search for packages you might find useful, you should query here: &lt;/span&gt;&lt;a href=&quot;https://pkg.go.dev/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://pkg.go.dev/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“Go mod init&lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; “ lets you initialize a new module, and when you are using conventions this ensures it’s available to others via Go tools. Each directory is considered its own package, and each file has its own package declaration line. One repository could have one module or multiple modules (decentralized publishing), the best practice is to have one module by repository because it’s better for upgrade, and maintenance is simpler.[1]&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A module could have many packages inside. When Go sees that a package is named main it knows the package should be considered a binary, and should be compiled into an executable file, instead of a library designed to be used in another program.&amp;nbsp; When Go sees a function named main inside a package named main, it knows the main function is the first function it should run. This is known as a program’s entry point. GOPATH is an environment variable where you define where the go binary is. Don&#39;t worry if you are not familiar with the GOPATH, because using modules replaces its usage.[3]&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“go list -m all” &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;list all dependencies(-m = modules ) with -u list the modules that need an upgrade&amp;nbsp; and &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;“go list -m -versions github.com/lib/pq” &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;list all versions for the lib/pq module. &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“go mod tidy”&lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;: is used for removing unnecessary or unused dependencies.&lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;“go install”&lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, let you install the application locally.&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;GVM (go version manager) &lt;/span&gt;&lt;span style=&quot;font-size: 12.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[5]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;require bison package at least, to install this:&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; text-align: justify; white-space: pre-wrap;&quot;&gt;sudo apt-get install bison &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; text-align: justify; white-space: pre-wrap;&quot;&gt;or &lt;/span&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; white-space: pre-wrap;&quot;&gt;sudo pacman -S bison&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;span id=&quot;docs-internal-guid-16faa237-7fff-fdc7-b51f-551f0898ed41&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-f52ab020-7fff-3fbc-5d46-e36b0de83061&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;The easiest way of &lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; this tools, is with the script installer, you could use bash or zsh:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-5189fd4b-7fff-742e-94bd-f57420c2cc19&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px; font-style: italic; font-weight: 700;&quot;&gt;bash &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt; &amp;lt; &amp;lt;(curl -s -S -L &lt;/span&gt;&lt;a href=&quot;https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer&quot; style=&quot;font-size: 10.5pt; text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-size: 10pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-05a323c5-7fff-2cd7-259a-6491a1322651&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;b&gt;The output should looks like:&lt;/b&gt;
Cloning from https://github.com/moovweb/gvm.git to /home/jennifer/.gvm&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Created profile &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: white; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; existing install of Go at /usr/&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dd8888; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;/go&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Installed GVM v1.0.22&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Please restart your terminal session or to get started right away run&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; `&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dd8888; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; /home/jennifer/.gvm/scripts/gvm`&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-43ad92be-7fff-ef20-68d9-9d171dbe6125&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;Gvm commands:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-00aeee7d-7fff-12fe-7b1f-32147b201237&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;➜&amp;nbsp; ~ gvm list all &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;# to list all go version on my laptop&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-94c11c6c-7fff-41cb-21f6-b212981ede4f&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;➜&amp;nbsp; ~ gvm install go1.14.1 &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;# to install a new go version&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-96754a9d-7fff-7113-6d00-fbea503d38d1&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;➜&amp;nbsp; ~ gvm use go1.17.4 &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;# to use a go version in the current terminal session&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ &lt;/span&gt;&lt;span style=&quot;color: #dd8888; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; new_project &lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;#to use many gopath directories, new_project will be added to GO_PATH&lt;/span&gt;&lt;span style=&quot;color: white; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ gvm pkgset create -&lt;/span&gt;&lt;span style=&quot;color: #dd8888; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ gvm pkgset use --&lt;/span&gt;&lt;span style=&quot;color: #dd8888; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;color: #dddddd; font-family: Consolas, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-a06a4b6d-7fff-099d-5e7a-b46c6dbd0c4d&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;Ayu [6]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Roboto, sans-serif; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span id=&quot;docs-internal-guid-46fd4f60-7fff-cadf-6c4f-003cb06a98e2&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Ayu is an extension for visual studio code IDE, this extension implements three themes: Ayu Dark, Ayu Light and Ayu Mirage, this themes lets you highlight the go syntax, as I spent long hours with IDE on my screen it’s comfortable to my eyes to have set &lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;Ayu Mirage&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; as theme.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 339px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;339&quot; src=&quot;https://lh6.googleusercontent.com/MSUgUSu_UuvIlMFPjhfszRU4K4mBtMM8ld3yrwkZIcc4hcK4ONl67IEtG4olLtMVEP9ZL6Xuvrwdipx8CLJI6GVUQVM4hKKAboXB6vAkuC1VhZ2ks0fTmFf5TGl_ueF-SAx4kXi4&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;624&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 339px; overflow: hidden; width: 624px;&quot;&gt;&lt;span id=&quot;docs-internal-guid-b766a1da-7fff-060e-085a-3c3d496112bd&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;Golines&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Golines is a go app that lets you short the length of lines in a file or in all the files in a directory. To install:&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;go install github.com/segmentio/golines@latest&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; and to use:&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&amp;nbsp; golines [paths to format]&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; you could configure this command in visual studio code to be executed every time you save the file (Run on Save plugin &lt;/span&gt;&lt;span style=&quot;font-size: 14pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[7]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 339px; overflow: hidden; width: 624px;&quot;&gt;&lt;span id=&quot;docs-internal-guid-eaddbb16-7fff-6738-458a-9bf534f29578&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;Go test and&amp;nbsp; Go mock&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;Is part of the Go language core so you do not need to define your own interface and mock classes. You do not need to depend on a third party library. The creators of Go foresaw the need to mock outbound HTTP requests a long time ago, and included an API in the standard library.&amp;nbsp; The API is provided in the package &lt;/span&gt;&lt;a href=&quot;https://pkg.go.dev/net/http/httptest&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;httptest&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;, and there are many examples of how to use it, including not only in the &lt;/span&gt;&lt;a href=&quot;https://golang.org/src/net/http/httptest/example_test.go&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;httptest package’s own Godoc example&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;. Unit tests are useful for the maintenance of code and checking if the application it’s ok after we &lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;upgrade our dependencies&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;, and let us make sure our packages and modules are working correctly. “&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;go test all&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;” runs the tests of all direct and indirect dependencies of your module, which is one way to validate that your current combination of versions work together&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #24292f; font-family: Arial; font-size: 12pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[8][9]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #24292f; font-family: Arial; font-size: 12pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;If you are curious as to why a particular module is showing up in your go.mod, you can run “&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;go mod why -m &amp;lt;module&amp;gt;”&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; to &lt;/span&gt;&lt;a href=&quot;https://tip.golang.org/cmd/go/#hdr-Explain_why_packages_or_modules_are_needed&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;answer&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; that question. Other useful tools for inspecting requirements and versions include “&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;go mod graph”&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.885716; margin-bottom: 15pt; margin-top: 6pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;Some recommendations:&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; when you have to update an API in a golang module you should create a new path for the new version in case the contract API is modified in some parameters. Choose to use interfaces to make a contract for Request and Response API’s, reserve time to do unit tests, and functional tests with a coverage over 70%, use “&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;go test -v -cover”&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt; to check this&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[10]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;. &lt;/span&gt;&lt;span style=&quot;background-color: white; font-size: 10.5pt; font-style: normal;&quot;&gt;With these tools and taking into account these recommendations we built better software, that will keep back compatibility with older versions, and make for the next developers an easy task or more comfortable the maintenance of the project.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[1] &lt;/span&gt;&lt;a href=&quot;https://go.dev/doc/modules/managing-source&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://go.dev/doc/modules/managing-source&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[2] &lt;/span&gt;&lt;a href=&quot;https://go.dev/doc/modules/managing-dependencies&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://go.dev/doc/modules/managing-dependencies&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[3] &lt;/span&gt;&lt;a href=&quot;https://go.dev/doc/modules/developing#workflow&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://go.dev/doc/modules/developing#workflow&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[4] https://go.dev/blog/module-compatibility&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[5] &lt;/span&gt;&lt;a href=&quot;https://github.com/moovweb/gvm&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://github.com/moovweb/gvm&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[6] &lt;/span&gt;&lt;a href=&quot;https://github.com/ayu-theme/vscode-ayu&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://github.com/ayu-theme/vscode-ayu&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;color: black; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[7] &lt;/span&gt;&lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[8] &lt;/span&gt;&lt;a href=&quot;https://github.com/golang/go/wiki/Modules#faqs--gomod-and-gosum&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://github.com/golang/go/wiki/Modules#faqs--gomod-and-gosum&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[9] &lt;/span&gt;&lt;a href=&quot;https://github.com/golang/go/wiki/Modules#how-to-upgrade-and-downgrade-dependencies&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://github.com/golang/go/wiki/Modules#how-to-upgrade-and-downgrade-dependencies&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 10.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline;&quot;&gt;[10] &lt;/span&gt;&lt;a href=&quot;https://gitlab.intraway.com/jennifer.maldonado/gpon-ipv4-simulator-config/tree/master/dhcp_templates&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 9.5pt; font-style: normal; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline;&quot;&gt;https://gitlab.intraway.com/jennifer.maldonado/gpon-ipv4-simulator-config/tree/master/dhcp_templates&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 339px; overflow: hidden; width: 624px;&quot;&gt;PD: sorry if there are any typos or grammar mistakes. Suggestions for corrections are accepted.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 10.5pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 339px; overflow: hidden; width: 624px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/6764496973950116474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/12/go-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/6764496973950116474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/6764496973950116474'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/12/go-tools.html' title='go tools'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh6.googleusercontent.com/MSUgUSu_UuvIlMFPjhfszRU4K4mBtMM8ld3yrwkZIcc4hcK4ONl67IEtG4olLtMVEP9ZL6Xuvrwdipx8CLJI6GVUQVM4hKKAboXB6vAkuC1VhZ2ks0fTmFf5TGl_ueF-SAx4kXi4=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-8763393835367485588</id><published>2021-12-14T16:24:00.003-04:00</published><updated>2021-12-14T16:29:54.452-04:00</updated><title type='text'>avoiding CORS ups..</title><content type='html'>&lt;p&gt;&lt;b&gt;&lt;u&gt;bad practices&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;How&amp;nbsp; to&amp;nbsp; avoid CORS error on google-chrome-stable &lt;b&gt;version&lt;/b&gt; &amp;gt;=&amp;nbsp;&lt;span face=&quot;Roboto, Cantarell, Arial, sans-serif&quot; style=&quot;color: #5f6368; font-size: 13px;&quot;&gt;96.0.4664.93&lt;/span&gt;&lt;/p&gt;&lt;p&gt;1 - execute google chrome by cli in this way:&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span id=&quot;docs-internal-guid-5f7753bc-7fff-da05-0172-313dafeef0fa&quot;&gt;&lt;b&gt;&lt;span face=&quot;Consolas, sans-serif&quot; style=&quot;background-color: black; color: #aaaaaa; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;google-chrome --&lt;/span&gt;&lt;span face=&quot;Consolas, sans-serif&quot; style=&quot;background-color: black; color: #ff55ff; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;disable&lt;/span&gt;&lt;span face=&quot;Consolas, sans-serif&quot; style=&quot;background-color: black; color: #aaaaaa; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-web-security --user-data-dir=/tmp&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;span&gt;&lt;span face=&quot;Consolas, sans-serif&quot; style=&quot;background-color: black; color: #aaaaaa; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;2 - access to this URL in the new chrome opened:&amp;nbsp;&lt;span id=&quot;docs-internal-guid-97e2e3fd-7fff-ab14-bc48-367eea221387&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;chrome://flags/#reduced-referrer-granularity &lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and disable web security.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;search by:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;span id=&quot;docs-internal-guid-ce41da9b-7fff-0831-5f8d-8ef386d96b7a&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;Roboto, sans-serif&quot; style=&quot;background-color: white; color: #202124; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Block insecure private network requests.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;Roboto, sans-serif&quot; style=&quot;background-color: white; color: #5f6368; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Prevents non-secure contexts from making sub-resource requests to more-private IP addresses. An IP address IP1 is more private than IP2 if 1) IP1 is localhost and IP2 is not, or 2) IP1 is private and IP2 is public. This is a first step towards full enforcement of CORS-RFC1918: https://wicg.github.io/cors-rfc1918 – Mac, Windows, Linux, Chrome OS, Android&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;span face=&quot;Roboto, sans-serif&quot; style=&quot;background-color: white; color: #5f6368; font-size: 10pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikhAZ0VBX4K0AU-GDC6yHFAFlUmuerNoUic2q5CFxbHbqLTyxL8hHPiGuFQ5Oct0pP5_WPJrxBZ3U_yY3g6TLa5mlbWTJamq0wSXGXAimPpujs177rcTR3PAiqMQHtAw3LV2mtUJSiC80oBaCjMeXAPAvuf4mq7PnH76WSR7VHCP1bQtLDAdAkMAFr=s1909&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1077&quot; data-original-width=&quot;1909&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEikhAZ0VBX4K0AU-GDC6yHFAFlUmuerNoUic2q5CFxbHbqLTyxL8hHPiGuFQ5Oct0pP5_WPJrxBZ3U_yY3g6TLa5mlbWTJamq0wSXGXAimPpujs177rcTR3PAiqMQHtAw3LV2mtUJSiC80oBaCjMeXAPAvuf4mq7PnH76WSR7VHCP1bQtLDAdAkMAFr=s320&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;&lt;u&gt;See Also:&lt;/u&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;div&gt;- https://developers.google.com/web/updates/2020/07/referrer-policy-new-chrome-default&lt;/div&gt;&lt;div&gt;- https://chromestatus.com/feature/6251880185331712&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/8763393835367485588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/12/avoiding-cors-ups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8763393835367485588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8763393835367485588'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/12/avoiding-cors-ups.html' title='avoiding CORS ups..'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEikhAZ0VBX4K0AU-GDC6yHFAFlUmuerNoUic2q5CFxbHbqLTyxL8hHPiGuFQ5Oct0pP5_WPJrxBZ3U_yY3g6TLa5mlbWTJamq0wSXGXAimPpujs177rcTR3PAiqMQHtAw3LV2mtUJSiC80oBaCjMeXAPAvuf4mq7PnH76WSR7VHCP1bQtLDAdAkMAFr=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-1980516295761388531</id><published>2021-11-28T13:06:00.003-04:00</published><updated>2021-11-28T13:06:47.385-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="github"/><category scheme="http://www.blogger.com/atom/ns#" term="gitlab"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="repository"/><category scheme="http://www.blogger.com/atom/ns#" term="worktree."/><title type='text'>git-worktree</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkMcjhzuqIittyR2eNIjqRBPKlxqCTUDEDB6c9KLd1R7jjZnE8aGbyoTk7M-TUUAqK6zAV3IIj786g0AcQWG6jSzyXMF6v_3IrDZ7774KJzbN3CGyfez4Gb_Ybrac6e9mKtG3Bx-s9Z8/s1280/photo_2021-11-28_14-05-44.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;720&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkMcjhzuqIittyR2eNIjqRBPKlxqCTUDEDB6c9KLd1R7jjZnE8aGbyoTk7M-TUUAqK6zAV3IIj786g0AcQWG6jSzyXMF6v_3IrDZ7774KJzbN3CGyfez4Gb_Ybrac6e9mKtG3Bx-s9Z8/s320/photo_2021-11-28_14-05-44.jpg&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;Since 2015 git added a command git-worktree. This command could be used&amp;nbsp; when you have a repository&amp;nbsp; and each branch represent an old Versions of the code, one feature_branch or simple using the main branch.&amp;nbsp; This command generate a new tree, and you can avoid doing checkout on branches every&amp;nbsp; time you have to do an urgent bug fix or edit without doing changes on the main tree locally.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Advantages.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; the Time spent by you IDE to reindex the switched branch, so you save a little of Time If you use some jetbrains IDE or eclipse.&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; No need to fetch ,if you don&#39;t want to.&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; By each tree you Will have a new project in the IDE .&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This command use a new directory un your file system, AND use the same .git/config file.&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You could compare the code by tree, branches, and directories.&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;In the old fashion way you Will have to clone each repo in diferents directories, and check or set manually&amp;nbsp; same config on .git/config,&amp;nbsp; each directory Will be a project in you IDE. In this way you only could compare by directory and by branch.&lt;br /&gt;&lt;br /&gt;Another way was use git stash to save what are you working on, and do the checkout to the branch version&amp;nbsp; with the bug on production, this way you have a Lot of context switch (to make an hotfix) , cos you Will need to do the reindex on you IDE (in case you use eclipse or some jetbrains IDE ), and later checkout to your branch_feature, unstash, AND again reindex, and always don&#39;t forget to clean cache!&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Some examples:&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-cbadae7b-7fff-2e71-1937-90c6080262f7&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;(base) ┌─[j3nnn1@caracas] - [~/git/tools] - [Sun Nov 28, 13:26]&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;└─[$] &amp;lt;git:(master)&amp;gt; git worktree add /home/j3nnn1/git/tools2&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Preparing worktree (new branch &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&#39;tools2&#39;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Updating files: 100% (2887/2887), &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;HEAD is now at db7534a Update paquetes.txt&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;When hotfix is ready and the fix it’s in production:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;└─[$] &amp;lt;git:(master)&amp;gt; git worktree remove /home/j3nnn1/git/tools2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$ git worktree add &amp;lt;path&amp;gt; &amp;lt;branch&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;With -d&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;throwaway&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; working tree&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;git worktree prune&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;To clean up any stale administrative files.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;git worktree lock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;To not delete, remove, or prune when gc.worktreePruneExpire passes.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;List all trees&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;└─[$] &amp;lt;git:(master)&amp;gt; git worktree list&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/j3nnn1/git/tools &amp;nbsp; db7534a [master]&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/j3nnn1/git/tools2&amp;nbsp; db7534a [tools2]&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/1980516295761388531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/git-worktree.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1980516295761388531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1980516295761388531'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/git-worktree.html' title='git-worktree'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDkMcjhzuqIittyR2eNIjqRBPKlxqCTUDEDB6c9KLd1R7jjZnE8aGbyoTk7M-TUUAqK6zAV3IIj786g0AcQWG6jSzyXMF6v_3IrDZ7774KJzbN3CGyfez4Gb_Ybrac6e9mKtG3Bx-s9Z8/s72-c/photo_2021-11-28_14-05-44.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-8560525127829667104</id><published>2021-11-25T13:15:00.005-04:00</published><updated>2021-11-25T13:24:09.354-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="chezmoi"/><category scheme="http://www.blogger.com/atom/ns#" term="config"/><category scheme="http://www.blogger.com/atom/ns#" term="config files"/><category scheme="http://www.blogger.com/atom/ns#" term="configurations"/><category scheme="http://www.blogger.com/atom/ns#" term="customizing"/><category scheme="http://www.blogger.com/atom/ns#" term="dotfiles"/><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="github"/><category scheme="http://www.blogger.com/atom/ns#" term="gitlab"/><category scheme="http://www.blogger.com/atom/ns#" term="install"/><category scheme="http://www.blogger.com/atom/ns#" term="laptop"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="notebook"/><category scheme="http://www.blogger.com/atom/ns#" term="reinstalling"/><title type='text'>chezmoi saving your config files versioned</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaBuQ5KyYP8Qg1x-vUvBNJ1bGkNLW83cidSB_Gza3LA2Sw1Au6EFR8Ecv8Y2v1JeGDrqXI_WnzcLXiaXiQALh8JJtxtqVXMm0lj9pk3TznaWaJVntwy5MEDfJcuxuxgKBp0GC8t6g3Qs/s1280/photo_2021-11-25_14-15-33.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;1127&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaBuQ5KyYP8Qg1x-vUvBNJ1bGkNLW83cidSB_Gza3LA2Sw1Au6EFR8Ecv8Y2v1JeGDrqXI_WnzcLXiaXiQALh8JJtxtqVXMm0lj9pk3TznaWaJVntwy5MEDfJcuxuxgKBp0GC8t6g3Qs/s320/photo_2021-11-25_14-15-33.jpg&quot; width=&quot;282&quot; /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;pacman -Syu chezmoi&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;chezmoi init (make a new dir&amp;nbsp; &lt;/b&gt;&lt;b&gt;&lt;b&gt;~/.local/share/chezmoi&lt;/b&gt;)&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;chezmoi add ~/.bashrc&lt;/b&gt;&lt;/p&gt;&lt;p&gt;chezmoi [add|edit|update]&amp;nbsp; ~/.bashrc&lt;/p&gt;&lt;p&gt;&lt;b&gt;chezmoi cd (~/.local/share/chezmoi)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;git remote add origin https://github.com/j3nnn1/dotfiles.git&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;git branch -M main&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;git push -u origin main&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;Additional config:&lt;/b&gt;&lt;/p&gt;&lt;p&gt;git config pull.ff true&lt;/p&gt;&lt;p&gt;git config pull.rebase true&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;and that&#39;s all. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/8560525127829667104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/chezmoi-saving-your-config-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8560525127829667104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8560525127829667104'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/chezmoi-saving-your-config-files.html' title='chezmoi saving your config files versioned'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaBuQ5KyYP8Qg1x-vUvBNJ1bGkNLW83cidSB_Gza3LA2Sw1Au6EFR8Ecv8Y2v1JeGDrqXI_WnzcLXiaXiQALh8JJtxtqVXMm0lj9pk3TznaWaJVntwy5MEDfJcuxuxgKBp0GC8t6g3Qs/s72-c/photo_2021-11-25_14-15-33.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-8013985126579435968</id><published>2021-11-21T22:26:00.004-04:00</published><updated>2021-11-25T13:20:59.600-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="customizing"/><category scheme="http://www.blogger.com/atom/ns#" term="debian"/><category scheme="http://www.blogger.com/atom/ns#" term="devices"/><category scheme="http://www.blogger.com/atom/ns#" term="journalctl"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="octopi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspberry"/><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><category scheme="http://www.blogger.com/atom/ns#" term="systemctl"/><category scheme="http://www.blogger.com/atom/ns#" term="systemd"/><category scheme="http://www.blogger.com/atom/ns#" term="udev"/><category scheme="http://www.blogger.com/atom/ns#" term="usb"/><title type='text'>udev events, making an udev rule and debugging rules.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF7PWnf1k6dwr2UZg_B2hIvKfwZeYA3gIZ5Q541iqH2ymiY3TJiiRB1ujV84Ow0KkCiQ3igFWS1At1vEoR2dEwbUHSZ5WEdIE7RCzJ8kE0aOunlShMshiI3DVOkCAfJewbiqGHpVoFX4M/s1280/photo_2021-11-21_23-26-12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1280&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF7PWnf1k6dwr2UZg_B2hIvKfwZeYA3gIZ5Q541iqH2ymiY3TJiiRB1ujV84Ow0KkCiQ3igFWS1At1vEoR2dEwbUHSZ5WEdIE7RCzJ8kE0aOunlShMshiI3DVOkCAfJewbiqGHpVoFX4M/s320/photo_2021-11-21_23-26-12.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;udev is a device manager for the linux kernel.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;when
 you connect some device (pendrive, camera, microphone) on a linux 
machine, you have a daemon listen to events that are fired when the 
kernel register a new device. All devices are mapped to a file on /dev so you could check some info about the device with this command:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;udevadm info -a -n&amp;nbsp; /dev/DEVICE_NAME&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;i.e.: &lt;b&gt;&lt;i&gt;udevadm info -a -n&amp;nbsp; /dev/ttyUSB2&lt;/i&gt;&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;b&gt;udevadm info -a -n&amp;nbsp; /dev/ttyUSB2 | grep &#39;{devpath}&#39; | head -n 1&lt;br clear=&quot;none&quot; /&gt;udevadm info -a -n&amp;nbsp; /dev/ttyUSB2 | grep &#39;{idVendor}&#39; | head -n 1&lt;br clear=&quot;none&quot; /&gt;udevadm info -a -n&amp;nbsp; /dev/ttyUSB2 | grep &#39;{idProduct}&#39; | head -n 1&lt;br clear=&quot;none&quot; /&gt;udevadm info -a -n&amp;nbsp; /dev/ttyUSB2 | grep &#39;{serial}&#39; | head -n 1&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;knowing
 the device info we could make a rule based in the information and 
execute a new action: make a file, make a symlink or execute a script. 
For example I want to create a rule that match with the attributes 
devpath, idVendor, idProduct, serial and generate a new symlink.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;we need to create a file into:&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;b&gt;/etc/udev/rules.d/99-some-rule.rules&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;- in this file we need to use &quot;&quot; in the values.&lt;br clear=&quot;none&quot; /&gt;- each line is a rule.&lt;br clear=&quot;none&quot; /&gt;- each line has many or one attribute and one action. When the attributes matched&amp;nbsp; the action is executed, that&#39;s all.&lt;br clear=&quot;none&quot; /&gt;- if you edit or create a new rule, you need to load and trigger all rules again.&lt;br clear=&quot;none&quot; /&gt;&lt;b&gt;&lt;br clear=&quot;none&quot; /&gt;udevadm control --reload-rules &amp;amp;&amp;amp; udevadm trigger&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;- so sometimes is tricky check why some rule is not executed. For debug you have:&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;b&gt;udevadm test /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB0/tty/ttyUSB0&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the devices path you could obtain with the comand udevadm info.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;b&gt;udevadm monitor&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; show the events that are fired.&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;b&gt;udevadm control --log-priority=debug&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set the environment on debug mode.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;b&gt;udevadm test $(udevadm info --query=path --name=ttyUSB0)&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; test all rules associated to the device name ttyUSB0&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;- when you have an syntax error on some rules file, this will appear in the logs:&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt; - journalctl -f&lt;br clear=&quot;none&quot; /&gt;&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;- restart service:&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;b&gt;systemctl restart systemd-udevd&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;- kernel messages&lt;br clear=&quot;none&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;b&gt; dmesg&lt;/b&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;- example: file called 99-new-rule.rules:&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;SUBSYSTEM==&quot;tty&quot;,
 ATTRS{idVendor}==&quot;1a86&quot;, ATTRS{idProduct}==&quot;7523&quot;, 
ATTRS{devpath}==&quot;1.2&quot;, ATTRS{bcdDevice}==&quot;0264&quot;, SYMLINK+=&quot;FANCY_NAME&quot;&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;The 99 number indicated the priority for execution. in this case would be the last one to execute.&lt;/p&gt;&lt;p&gt;It&#39;s important to put double quotes instead single quote. &lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/8013985126579435968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/udev-events-making-udev-rule-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8013985126579435968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/8013985126579435968'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/11/udev-events-making-udev-rule-and.html' title='udev events, making an udev rule and debugging rules.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF7PWnf1k6dwr2UZg_B2hIvKfwZeYA3gIZ5Q541iqH2ymiY3TJiiRB1ujV84Ow0KkCiQ3igFWS1At1vEoR2dEwbUHSZ5WEdIE7RCzJ8kE0aOunlShMshiI3DVOkCAfJewbiqGHpVoFX4M/s72-c/photo_2021-11-21_23-26-12.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-5713054147831643443</id><published>2021-10-29T08:31:00.006-04:00</published><updated>2021-12-28T22:21:22.714-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="buildpack"/><category scheme="http://www.blogger.com/atom/ns#" term="buildpacks"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="cnb"/><category scheme="http://www.blogger.com/atom/ns#" term="cnfc"/><category scheme="http://www.blogger.com/atom/ns#" term="container"/><category scheme="http://www.blogger.com/atom/ns#" term="distroless"/><category scheme="http://www.blogger.com/atom/ns#" term="docker"/><category scheme="http://www.blogger.com/atom/ns#" term="dockerfile"/><category scheme="http://www.blogger.com/atom/ns#" term="dotcloud"/><category scheme="http://www.blogger.com/atom/ns#" term="images"/><category scheme="http://www.blogger.com/atom/ns#" term="k8s"/><category scheme="http://www.blogger.com/atom/ns#" term="kubernetes"/><category scheme="http://www.blogger.com/atom/ns#" term="layers"/><category scheme="http://www.blogger.com/atom/ns#" term="pack"/><category scheme="http://www.blogger.com/atom/ns#" term="paketo"/><category scheme="http://www.blogger.com/atom/ns#" term="pivotal"/><title type='text'>Using Cloud Native Buildpacks and paketo to improve software as service.</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-61b3a12f-7fff-b763-1780-51a215aa7252&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;In a changing world technology is constantly evolving, so it is necessary to take action to stay tuned about it and bring the best solution to our customers. Every day are found security issues on the operative system&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[11]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; and are necessary to do patches, path to libraries, and so on. For this it is necessary to update app images in an easy, standard,&amp;nbsp; performantly, and secure way, because containers are industry standard today.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;It is a very common task in development that we have to create a docker image from a source code, and more usual is that the image needs to be ready for a cloud environment. In this case we don&#39;t have a specific way to do it, there is no standard, but exists best practices to generate a app images from our source code:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;-&amp;nbsp; [Small size image] You need an image with a small size.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;- [Multistage] You need to generate the images in two stages or more depending on the language, for example in Go you need a first stage to get all things needed by the app (dependencies, compiler, external libraries) and later when you compiled the source code&amp;nbsp; to later you could copy that binary to a minimized image. (Could be an alpine image with a small size).&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;- [Reduce Layers] You need to do an Optimize dockerfile, for example take into account how to build the layer to make it more performante[1]. Always we need to reduce the number of layers, design ephemeral containers, avoid storing application data and any other building tools that we don’t need to run or execute the application.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Besides having tools like Docker Linter &lt;/span&gt;&lt;a href=&quot;https://hadolint.github.io/hadolint/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://hadolint.github.io/hadolint/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; often we spent a lot of time doing the image and refactoring dockerfile to reach a small image size, with the best practices, and more efficient. This need was detected by the &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pivotal&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; and &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;heroku&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; approximately in the year 2011 as a result of all the complexity that can be had to set up images without having standards or guidelines. They defined &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Buildpack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;this concept of buildpacks was broadly adopted by &lt;/span&gt;&lt;a href=&quot;https://www.cloudfoundry.org/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;CloudFoundry&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://cloud.google.com/appengine&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;Google App Engine&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://about.gitlab.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;GitLab&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://knative.dev/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;Knative&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://github.com/deis/workflow&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;Deis&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, and more.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Buildpacks from pivotal and Buildpacks from heroku are slightly different, so in 2018 both companies join force to present to the &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;cnfc&amp;nbsp; (Cloud native computing foundation)&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; a project based on Buildpacks but not the same.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Once that &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;cnfc&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; approved this project, they created buildpack.io as a standard&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 14pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 14pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;5]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; and coined it “&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Cloud Native buildpacks”&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, to unify the buildpack ecosystems from pivotal y heroku and a higher level abstraction for building container images. In the same year Using the knowledge of the many years of experience with buildpacks, the CloudFoundry buildpack engineering team created the &lt;/span&gt;&lt;a href=&quot;https://paketo.io/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;Paketo.io&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;project which is &lt;/span&gt;&lt;a href=&quot;https://www.cloudfoundry.org/blog/cloud-foundry-foundation-announces-launch-paketo-buildpacks-cloud-native-developers-operators/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;based on former CloudFoundry Buildpacks&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; (CNB).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span id=&quot;docs-internal-guid-8849f2f9-7fff-2c53-eb61-ee5a510d6a1c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;border: medium none; display: inline-block; height: 456px; overflow: hidden; width: 626px;&quot;&gt;&lt;img height=&quot;456&quot; src=&quot;https://lh3.googleusercontent.com/azUqu9U9hBbe0laWTMi-WHQXdNDIQNc-NAnHnrqqKl8jr2ytNDh9eMvT5ohwrNd5OXun6Hf1fyQGd6SnlqmCU8iI8d-HCPwu1PbjOlWThYxN7X3wWNSQjPzL8w-3R6x1u6vdwyh6&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;626&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-fcd8c9ee-7fff-a614-e490-f094db0c4277&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;So what are &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Buildpack / Cloud Native Buildpack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;? is a kind of app, tool or open source scripts that transforms your application source code into an image, and the image container is more secure. &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Buildpacks (CNB)&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; ensure apps meet security and compliance requirements by CNCF, perform upgrades with minimal effort and intervention.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Inclusive with less network data transfer because this does the update by layer or stacks. &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Cloud Native Buildpacks&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; embrace modern container standards, such as the OCI image format and they take advantage of the latest capabilities of these standards, such as cross-repository blob mounting and image layer &quot;rebasing&quot; on Docker API v2 registries&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[7]&lt;/span&gt;&lt;/span&gt;&lt;span id=&quot;docs-internal-guid-234acd34-7fff-ca75-badd-2aba5674650c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;.&amp;nbsp;&lt;span style=&quot;border: medium none; display: inline-block; height: 237px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;237&quot; src=&quot;https://lh4.googleusercontent.com/bZchm3fs6jCXkhshvICN6zUSiY3pnW52CQwzyLncgjUNNV7OIN_D8Ur2GVoW07YKKdbQZFU_7BKf3DJEqLa-LvZRL84Wu25KxG3rrBrVuvj7vhkzN3Fb4jASNAFmLeGUbVKHOcd_&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;624&quot; /&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-25ddd8d5-7fff-fa3d-3259-391fa43fba21&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span id=&quot;docs-internal-guid-234acd34-7fff-ca75-badd-2aba5674650c&quot; style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;“rebasable”&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; images or image layer “rebasing” is related to ABI compatibility&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[6]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; It is the contract provided by OS vendors that guarantees that software doesn’t need to be rebuilt when security patches are applied to the OS layers. It makes “rebasable” image layers safe to rebase. So let you update the Os layer without a risk of sort incompatibility to crash your app.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;On the other hand, Is very easy to use when the code is in a good shape or has a good smell. But when it is not, &lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;you’ll need to do a refactor of your code&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;. The best way to use Buildpack is with &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;There are many form of install &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[8]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; the one that I used was by command line or the tab with the script install where you only need to execute this line with sudo or a user with grant to write on /usr/local/bin and that’s it:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-301b73e7-7fff-b06d-49b6-0f81c3163f25&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: medium none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;(curl -sSL &lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dd8888; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&quot;https://github.com/buildpacks/pack/releases/download/v0.15.1/pack-v0.15.1-linux.tgz&quot;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; | sudo tar -C /usr/&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dd8888; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;local&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;/bin/ --no-same-owner -xzv pack)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-19adacf4-7fff-eb47-cbcb-2d50c3886708&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;To use &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; we should have docker installed in our machine, basically &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; autodetect what kind of image we need to build looking into the code, based on that &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; choose a &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;builder &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;which is an image that bundles all the bits and information on how to build your apps, such as buildpacks, an implementation of the &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;lifecycle&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[9]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;(a kind of implementation of Cloud Native Buildpacks specs from CNCF) it&#39;s still in beta. In summary you have to download or write the code, change directory to the app directory or root path.&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-658ae0b8-7fff-1858-aced-a399cdb4725a&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: medium none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #777777; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;# clone the repo&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;git &lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dd8888; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;clone&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; https://github.com/buildpacks/samples&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #777777; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;# go to the app directory&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dd8888; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;cd&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; samples/apps/java-maven&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-19adacf4-7fff-eb47-cbcb-2d50c3886708&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-5e326efa-7fff-43f2-80e6-9c8e04f95705&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;You could also see in &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;samples/buildpacks/java-maven&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; how is writed the definition or specification (&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;CNB&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;10&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;) with a &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;toml&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; extension file, and how will be apply to choose the right builder, in the directory &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;stack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; we could see some &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Dockerfiles&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; with the instructions or recipe with the tools to build an image, every &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;stack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; has a Dockerfile definition.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;And execute the next line:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-df03337a-7fff-6aec-9ac5-f8816bc79eec&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: medium none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #777777; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;# build the app&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span face=&quot;Consolas,sans-serif&quot; style=&quot;background-color: #444444; color: #dddddd; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack build myapp --builder cnbs/sample-builder:bionic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-3f70bdbe-7fff-9e1f-3d81-1a7e332ac834&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;And that’s it, you’ll be using Buildpacks. The buildpacks (CNB&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[10]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;) specification and the file structure could be a little complex when the project grows up. You could have Buildpacks inside another Buildpacks definition, long buildpacks files, a lot of toml files in a hierarchical way and a lot Dockerfiles, so in the same time Vmware (Pivotal and CloudFoundry)&amp;nbsp; made &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;paketo &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;where&amp;nbsp; Paketo slogan &lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;is Let&#39;s Pack, Push and Deploy!&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Paketo is a new way to build buildpacks, redefine the relations between the components in a modular way, using &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;composition&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; in dependencies where each element has a single responsibility. This make Buildpacks easy to maintain and to do contribution, on others words is like a refactor from cloudfoundry buildpacks to avoid monolithic buildpacks and Dockerfiles:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span id=&quot;docs-internal-guid-92796b39-7fff-b6c3-da63-24451e6416f8&quot; style=&quot;background-color: white; color: #292929; font-family: Georgia; font-size: 16pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;border: medium none; display: inline-block; height: 293px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;293&quot; src=&quot;https://lh6.googleusercontent.com/WJ2wMJjWT6jf8hREeM2twb3NQfliKzI5L-a7MZE-fZZCoHGnycOqK5-0K8Gt53aEtU69bKTwlA-jDE8thf3Sx1_AhAFMpwmGwgc_YEBV3LkkpPRBVnlzhbZKG0TfzfsP5VwXu6_R&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;624&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-3b44a6ce-7fff-01b5-11b9-4deee3915198&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;written using different programming languages, for different purposes.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Paketo uses a base image called &lt;/span&gt;&lt;a href=&quot;https://github.com/paketo-buildpacks/stacks#tiny&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;tiny&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; which is effectively &lt;/span&gt;&lt;a href=&quot;https://github.com/GoogleContainerTools/distroless&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;distroless&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; and provides a method to more rapidly deploy application code in a way that eliminates the need to create customizations for each deployment platform. This eliminates the need for the container community to reinvent many times&amp;nbsp; the same wheels over again. The separation of concerns they provide, makes the developer’s life easier as they can focus more in the application and product development.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Paketo Buildpacks needs &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;docker&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; and &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pack&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; installed, the community has done a lot of samples to give it a try ( &lt;/span&gt;&lt;a href=&quot;https://github.com/paketo-buildpacks/samples&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://github.com/paketo-buildpacks/samples&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;) and they encourage you to contribute to it. Paketo Buildpacks could be the next generation or an evolution from docker (Dockerfiles) and let us focus on the business problems we’d like to solve. Let&#39;s Pack, Push and Deploy!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-f5e610a4-7fff-79b2-35e8-900072c0aade&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Referencias.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[1] &lt;/span&gt;&lt;a href=&quot;https://run.pivotal.io/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://run.pivotal.io/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[2] &lt;/span&gt;&lt;a href=&quot;https://www.heroku.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://www.heroku.com/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[3] &lt;/span&gt;&lt;a href=&quot;https://buildpacks.io/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://buildpacks.io/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[4] &lt;/span&gt;&lt;a href=&quot;https://www.cncf.io/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://www.cncf.io/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[5] &lt;/span&gt;&lt;a href=&quot;https://github.com/buildpacks/spec/blob/main/buildpack.md&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://github.com/buildpacks/spec/blob/main/buildpack.md&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[6] &lt;/span&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Application_binary_interface&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://en.wikipedia.org/wiki/Application_binary_interface&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[7] &lt;/span&gt;&lt;a href=&quot;https://buildpacks.io/docs/app-journey/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://buildpacks.io/docs/app-journey/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[8] &lt;/span&gt;&lt;a href=&quot;https://buildpacks.io/docs/tools/pack/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://buildpacks.io/docs/tools/pack/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[9] &lt;/span&gt;&lt;a href=&quot;https://github.com/buildpacks/lifecycle/releases&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://github.com/buildpacks/lifecycle/releases&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[10] Cloud native buildpacks&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[11] &lt;/span&gt;&lt;a href=&quot;https://www.researchgate.net/publication/315468931_A_Study_of_Security_Vulnerabilities_on_Docker_Hub&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://www.researchgate.net/publication/315468931_A_Study_of_Security_Vulnerabilities_on_Docker_Hub&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[12] &lt;/span&gt;&lt;a href=&quot;https://blog.codecentric.de/en/2020/11/buildpacks-spring-boot/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://blog.codecentric.de/en/2020/11/buildpacks-spring-boot/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: Arial; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;[13] &lt;/span&gt;&lt;a href=&quot;https://paketo.io/docs/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Arial; font-size: 9pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://paketo.io/docs/&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;CssComponent__CssInlineComponent-sc-1oskqb9-1 UserSelectableText___StyledCssInlineComponent-lsmoq4-0 kghFzc&quot;&gt;&lt;span class=&quot;CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF&quot;&gt;&lt;span class=&quot;q-box qu-userSelect--text&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;&quot;&gt;Sorry for any grammatical or spelling mistakes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;CssComponent__CssInlineComponent-sc-1oskqb9-1 UserSelectableText___StyledCssInlineComponent-lsmoq4-0 kghFzc&quot;&gt;&lt;span class=&quot;CssComponent__CssInlineComponent-sc-1oskqb9-1 TitleText___StyledCssInlineComponent-sc-1hpb63h-0 jPnwvF&quot;&gt;&lt;span class=&quot;q-box qu-userSelect--text&quot; style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;background: rgba(0, 0, 0, 0) none repeat scroll 0% 0%;&quot;&gt;hugs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;j3nnn1 (:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;https://kubevela.io/ and&amp;nbsp; https://github.com/oam-dev/spec last 2021 was elected as sandbox project from cncf. kubevela keep focus on application approach instead of the implementation. oam is the specification or standard.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/5713054147831643443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/10/using-cloud-native-buildpacks-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5713054147831643443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5713054147831643443'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/10/using-cloud-native-buildpacks-and.html' title='Using Cloud Native Buildpacks and paketo to improve software as service.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/azUqu9U9hBbe0laWTMi-WHQXdNDIQNc-NAnHnrqqKl8jr2ytNDh9eMvT5ohwrNd5OXun6Hf1fyQGd6SnlqmCU8iI8d-HCPwu1PbjOlWThYxN7X3wWNSQjPzL8w-3R6x1u6vdwyh6=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-866807412221270982</id><published>2021-09-06T12:18:00.007-04:00</published><updated>2021-11-25T13:23:38.811-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="cli"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="terminal"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>4 tools in javascript</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDESC7Fcb0RBFgucPdg20-wnhJnFHpHft1GXHpQ1KTUVEXe8i6R1VkYThJDcbO1cFAP2MO5Nib909yswEOu2tg31iYWxUzlhxYhppwXPuZrrgqtotcZjonPP7izElFRW3lrwjHbMVyTk/s1280/wichyCoffee.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;720&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDESC7Fcb0RBFgucPdg20-wnhJnFHpHft1GXHpQ1KTUVEXe8i6R1VkYThJDcbO1cFAP2MO5Nib909yswEOu2tg31iYWxUzlhxYhppwXPuZrrgqtotcZjonPP7izElFRW3lrwjHbMVyTk/s320/wichyCoffee.jpg&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #674ea7;&quot;&gt;picture name: wichy asking for more coffee&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-d4f45283-7fff-2e59-ec2d-ceb289dd7dba&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-d4f45283-7fff-2e59-ec2d-ceb289dd7dba&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;01 NVM:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NVM is the acronym for &lt;/span&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Node Version Manager&lt;/span&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;, which is a command-line tool that lets you install and use many Node.js versions and NPM on your computer. It is a dev tool, so I don&#39;t recommend using it in production environments. NVM works fine in Linux and Mac. You can also check the documentation here: &lt;/span&gt;&lt;a href=&quot;https://github.com/nvm-sh/nvm&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://github.com/nvm-sh/nvm&lt;/span&gt;&lt;/a&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;When &lt;/span&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;is it useful to use &lt;/span&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NVM?&lt;/span&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;* &amp;nbsp; In teams where we have different operating systems.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;* &amp;nbsp; When we have to test new things, for example, the testing version for Node.js.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;*&amp;nbsp; When we have many projects with different versions, and you cannot update Node.js and you have to maintain two or more node js versions in many projects, so is a way to tidy up the dev environment, switching between Node.js versions.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;NVM: Installation&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;Mac:&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;You can use homebrew. If you don’t know how to install it, you could check here it (&lt;/span&gt;&lt;a href=&quot;https://brew.sh/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://brew.sh/&lt;/span&gt;&lt;/a&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;) and that’s all.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-79d2555a-7fff-437b-9dd3-72568a82c51b&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;brew install nvm&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; $(brew --prefix nvm)/nvm.sh&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&#39;source $(brew --prefix nvm)/nvm.sh&#39;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; &amp;gt;&amp;gt; ~/.profile&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-fcc566d0-7fff-70d9-9549-0186e62fd2e6&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Linux:&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;The line before will have an output such as this:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-6da8951a-7fff-a9e1-1655-55fd4ebdcd09&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Downloading nvm from git to &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&#39;/home/jennifer/.nvm&#39;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Cloning into &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&#39;/home/jennifer/.nvm&#39;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;...&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;remote: Enumerating objects: 278, &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;remote: Counting objects: 100% (278/278), &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;remote: Compressing objects: 100% (249/249), &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Receiving objects: 100% (278/278), 142.36 KiB | 0 bytes/s, &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Resolving deltas: 100% (33/33), &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Checking connectivity... &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #fcc28c; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Compressing and cleaning up git repository&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Appending nvm &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; string to /home/jennifer/.bashrc&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Appending bash_completion &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; string to /home/jennifer/.bashrc&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;=&amp;gt; Close and reopen your terminal to start using nvm or run the following to use it now:&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; NVM_DIR=&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$HOME&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/.nvm&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #888888; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;# This loads nvm&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/bash_completion&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/bash_completion&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #888888; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;# This loads nvm bash_completion&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Make sure that these lines below are in your ~/.bashrc or ~/.zshrc:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; id=&quot;docs-internal-guid-0d8679cb-7fff-e229-5dab-6a517e81bb2f&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; NVM_DIR=&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$([ -z &quot;${XDG_CONFIG_HOME-}&quot; ] &amp;amp;&amp;amp; printf %s &quot;${HOME}/.nvm&quot; || printf %s &quot;${XDG_CONFIG_HOME}/nvm&quot;)&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #888888; font-family: Consolas,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;# This loads nvm&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; id=&quot;docs-internal-guid-0d9abc8f-7fff-1a1e-fc2d-9932f4241236&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;My personal desktop runs over Arch Linux,&amp;nbsp; so I used an aur package, for example &lt;/span&gt;&lt;a href=&quot;https://aur.archlinux.org/packages/nvm/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #047ac6; font-family: Roboto,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://aur.archlinux.org/packages/&lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: #c9f2d0; color: #047ac6; font-family: Roboto,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm&lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #047ac6; font-family: Roboto,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;. I downloaded the snapshot file and uncompressed the tar.gz file.&amp;nbsp; Also, you could use the same installation explained before or these lines for installing &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;:&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$ &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; nvm&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$ makepkg&amp;nbsp; -s&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #888888; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;#this will generate an Arch Linux package (nvm.tar.xz).&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$ ls -l nvm.tar.xz&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$ pacman -U nvm.tar.xz&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;NVM Usage:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm list : &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;List all versions installed on your machine&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;➜&amp;nbsp; ~ nvm list&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;-&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; system&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;iojs -&amp;gt; N/A (default)&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;node -&amp;gt; stable (-&amp;gt; N/A) (default)&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;unstable -&amp;gt; N/A (default)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;NVM install:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; Install a local version on your machine from the remote list. The remote list could be filtered by another command like: nvm ls-remote &amp;lt;versionLike&amp;gt;&amp;nbsp; for example “&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm ls-remote v11”&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; lists all versions that have v11 as prefix.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;➜&amp;nbsp; ~&amp;nbsp; nvm install v10.15.3 &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Downloading and installing node v10.15.3...&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Downloading https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz...&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #888888; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;######################################################################## 100,0%&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Computing checksum with sha256sum&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Checksums matched!&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Now using node v10.15.3 (npm v6.4.1)&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Creating default &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;: default -&amp;gt; v10.15.3&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm use:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; set in the current terminal the environments variables so all command executed related to Node.js will use the version defined by NVM.&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;➜&amp;nbsp; ~ nvm use v10.15.3&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Now using node v10.15.3 (npm v6.4.1)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;nvm which:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; show the path to the Node.js bin file.&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;➜&amp;nbsp; ~ nvm &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ffffaa; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;which&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; v10.15.3&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;/home/jennifer/.nvm/versions/node/v10.15.3/bin/node&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;02 Docker container with node js/ angular-cli:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Hub docker contains a thousand images that you could use in your daily tasks at work, in a simple search you could see (&lt;/span&gt;&lt;a href=&quot;https://hub.docker.com/search?q=angular-cli&amp;amp;type=image&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://hub.docker.com/search?q=angular-cli&amp;amp;type=image&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;About 1 - 25 of 492 results for angular-cli.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Here is my recommendation to use it in a local environment for a development process: &lt;/span&gt;&lt;a href=&quot;https://hub.docker.com/r/trion/ng-cli/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://hub.docker.com/r/trion/ng-cli/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;docker pull trion/ng-cli&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 4pt; margin-top: 16pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #434343; font-family: Arial; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;When node_modules directory already was generated.&lt;/span&gt;&lt;/h3&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;:/app trion/ng-cli&amp;nbsp; ng serve --host 0.0.0.0 --disableHostCheck&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;In this way, you need node_modules directory inside the directory defined in $PWD variable.&lt;/span&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #434343; font-family: Arial; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;When a node_modules directory is not generated. &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;And that’s all.&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;first&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;:/app trion/ng-cli npm install&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;later:&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #ade5fc; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: #a2fca2; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;:/app trion/ng-cli&amp;nbsp; ng serve --host 0.0.0.0 --disableHostCheck&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;03 Dotenv using a .env file with and avoid versioning&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Dotenv is useful to keep tidy up the code, avoid magic number, avoid push any secret key to the repo and it is a relief for many environments. With this, you can run your app anywhere by modifying the environment variables without changing your code and without rebuilding it!&lt;/span&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #333333; color: white; font-family: Consolas,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;npm install dotenv&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Later, create the .&lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; file in the root of your app and add your variables and values to it. Don’t forget to add this file to .gitignore to avoid committing it.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.env &lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;PORT=55555&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: white; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 100%;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-bottom: solid #000000 1pt; border-left: solid #000000 1pt; border-right: solid #000000 1pt; border-top: solid #000000 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt 5pt 5pt 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Server.js&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;const dotenv = require(&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #888888; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&#39;dotenv&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;dotenv.config();&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;console.log(`Your port is &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #888888; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;${process.env.PORT}&lt;/span&gt;&lt;span style=&quot;background-color: white; color: black; font-family: Consolas,sans-serif; font-size: 12pt; font-style: italic; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;`);&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;4 Cloud solutions:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;For each project, you could use one of these, sometimes I have to share code with a friend or when I have a doubt, and I need to ask something with a context code, it’s the best way to show when you are remote, for example for an angular-cli project there is no doubt that the best is&amp;nbsp; &lt;/span&gt;&lt;a href=&quot;https://stackblitz.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://stackblitz.com/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; has a better integration with angular and let you download the project in a zip file, also is recommended by @angular documentation.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;Also for Js, HTML, and CSS, and tiny projects you could use &lt;/span&gt;&lt;a href=&quot;https://jsfiddle.net/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://jsfiddle.net/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;, &lt;/span&gt;&lt;a href=&quot;https://codepen.io/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://codepen.io/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;.&amp;nbsp; In the last one, there are many web artists and you could make you own portfolio to share it.&amp;nbsp; And From Red Hat, we have &lt;/span&gt;&lt;a href=&quot;https://codenvy.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;https://codenvy.com/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: Roboto,sans-serif; font-size: 10.5pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt; has a free subscription with limitations, but it’s ok for prototyping things.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.7999999999999998; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &#39;Proxima Nova&#39;,sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span face=&quot;&#39;Proxima Nova&#39;,sans-serif&quot; style=&quot;background-color: transparent; color: #383838; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/866807412221270982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/09/4-tools-in-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/866807412221270982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/866807412221270982'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/09/4-tools-in-javascript.html' title='4 tools in javascript'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjDESC7Fcb0RBFgucPdg20-wnhJnFHpHft1GXHpQ1KTUVEXe8i6R1VkYThJDcbO1cFAP2MO5Nib909yswEOu2tg31iYWxUzlhxYhppwXPuZrrgqtotcZjonPP7izElFRW3lrwjHbMVyTk/s72-c/wichyCoffee.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-190622502748225478</id><published>2021-08-19T12:08:00.008-04:00</published><updated>2021-12-27T17:28:03.461-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="cinnamon"/><category scheme="http://www.blogger.com/atom/ns#" term="cli"/><category scheme="http://www.blogger.com/atom/ns#" term="command line"/><category scheme="http://www.blogger.com/atom/ns#" term="installation"/><category scheme="http://www.blogger.com/atom/ns#" term="laptop"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="memtest86"/><category scheme="http://www.blogger.com/atom/ns#" term="notebook"/><category scheme="http://www.blogger.com/atom/ns#" term="nvidia"/><category scheme="http://www.blogger.com/atom/ns#" term="operative system"/><category scheme="http://www.blogger.com/atom/ns#" term="partitions"/><category scheme="http://www.blogger.com/atom/ns#" term="setting up"/><category scheme="http://www.blogger.com/atom/ns#" term="troubleshooting"/><category scheme="http://www.blogger.com/atom/ns#" term="UEFI"/><category scheme="http://www.blogger.com/atom/ns#" term="xinitrc"/><category scheme="http://www.blogger.com/atom/ns#" term="xorg"/><category scheme="http://www.blogger.com/atom/ns#" term="yaourt"/><category scheme="http://www.blogger.com/atom/ns#" term="yay"/><title type='text'>Reinstalling Archlinux on a old Laptop</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCd1ERUMAW9BwO4TpLY0m_DBt7l7YvK3yGGRa64KZOWst_AY0gEnFCnmmgqGyV-arxLixaJRiXtKeXOKTQFFJySuX8hfnnbph3zWsm92nBLd3TYBsYBxpcYGqhAxqixqY_FxfcBXxAFI/s2048/memtest86Error.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1152&quot; data-original-width=&quot;2048&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCd1ERUMAW9BwO4TpLY0m_DBt7l7YvK3yGGRa64KZOWst_AY0gEnFCnmmgqGyV-arxLixaJRiXtKeXOKTQFFJySuX8hfnnbph3zWsm92nBLd3TYBsYBxpcYGqhAxqixqY_FxfcBXxAFI/s320/memtest86Error.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Yesterday I accidentally run rm -rf /&amp;nbsp; because everybody makes mistakes.&amp;nbsp;&lt;/p&gt;each step is written here:&lt;p&gt;&lt;/p&gt;&lt;p&gt;1 - first memtest86&amp;nbsp;&lt;/p&gt;&lt;p&gt;2 - swap memories, test one memory slot each time, and test a new one memory module from another laptop that it&#39;s working. So in this part I figure out that my laptop was broken, so Nico borrow me an old laptop :&#39;-( . &lt;br /&gt;&lt;/p&gt;&lt;p&gt;3 - UEFI, installing Archlinux on UEFI require use the pen-drive on UEFI mode. after boot on UEFI mode, I did a back up to the files on the /home directory and install the Operative System again.&amp;nbsp;&lt;/p&gt;&lt;p&gt;4 - first I already have the partition so, this part is not new. the only thing with this new laptop is that I have to do a new UEFI partition to the grub, my old laptop does not have UEFI mode, so the grub was installed in the BIOS MBR sort of. &lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;After I did the new UEFI Archlinux partition with &lt;b&gt;&quot;cfdisk /dev/sda&quot;&lt;/b&gt; change&lt;b&gt; Type to UEFI system&lt;/b&gt;, and verify if the notebook has a the boot mode UEFI listing this directory:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;ls -l /sys/firmware/efi/efivars&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;If the output show you a list of files! Bingo you are currently booting in UEFI mode. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;In UEFI we need the partition table in this Disklabel &quot;GPT&quot;, so we check with &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;fdisk -l if the partition table is type BIOS or GPT. &lt;/b&gt;the output should be like:&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&quot;Disklabel type: gpt&quot;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Also used parted -l to fix an error that was show up when we execute &quot;fdisk -l&quot;:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&quot;something that GPT partition was different from MBR partition&quot;&lt;/p&gt;&lt;p&gt;&quot;GPT PMBR size mismatch&quot; something like that.&lt;/p&gt;&lt;p&gt;&amp;nbsp;To do that: I installed parted&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;$pacman -S parted &amp;amp;&amp;amp; parted -l /dev/sda&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;5 -&amp;nbsp; After that I formatted the partitions to do a fresh installation.&lt;/p&gt;&lt;p&gt;mkswap /dev/sda6 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;swapon /dev/sda6&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;mkfs.ext4 /dev/sda5 =&amp;gt; /root&lt;/p&gt;&lt;p&gt;mkfs.vfat -F32 /dev/sda7 =&amp;gt; /boot/grub/efi&lt;br /&gt;&lt;/p&gt;&lt;p&gt;6 - preparing for the chroot&lt;/p&gt;&lt;p&gt;&lt;u&gt;from general to specify&amp;nbsp;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;mount /dev/sda5 /mnt&lt;/p&gt;&lt;p&gt;mkdir -p /mnt/boot/efi&lt;/p&gt;&lt;p&gt;mount /dev/sda7 /mnt/boot/efi&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;7 - using pacstrap to install base system&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;pacstrap /mnt base base-devel grub os-prober ntfs-3g networkmanager efibootmgr gvfs gvfs-afc dhcpcd vim linux-headers linux-firmware linux&amp;nbsp; netctl wpa_supplicant xf86-input-synaptics pavucontrol htop lshw meld transmission-gtk docker docker-compose gvfs-mtp xdg-user-dirs lightdm&amp;nbsp; xorg xorg-xinit gnome-keyring xorg-server xorg-server-common xf86-video-vesa xorg-font-util&amp;nbsp; ttf-dejavu opencl-nvidia dkms git terminator rsync go-tools cinnamon-desktop cinnamon gnome-terminal lightdm-gtk-greeter&amp;nbsp; pulseaudio&amp;nbsp; pulseaudio-alsa firefox vlc&amp;nbsp; gimp xfburn gedit gnome-system-monitor faenza-icon-theme smartmontools&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;(xorg is an alias and in this case I installed ALL :O, just in case).&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;At first I did the install of &lt;u&gt;nvidia&lt;/u&gt; and nvidia-&lt;u&gt;utils&lt;/u&gt;&amp;nbsp; nvidia-304, driver BUT&amp;nbsp; doesn&#39;t have the correct version of the drivers that I need. so I have to uninstall later to install the correct one.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Something to remember if you install nvidia-lts you need to install kernel-lts and header-lts, and re run mkinitcpio -p.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;u&gt;nvidia-xconfig&lt;/u&gt;&lt;/i&gt; to set Xorg configuration.&amp;nbsp; See Also &lt;i&gt;&lt;u&gt;nvidia-settings&lt;/u&gt;&lt;/i&gt; and &lt;i&gt;&lt;u&gt;nvidia-smi.&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;nouveau-dri&amp;nbsp; I tried to install the open source driver but was a failed, after many modprobe and rmprobe&amp;nbsp; with nouveau and nvidia and debuging with &lt;b&gt;&lt;i&gt;&lt;u&gt;modinfo -p video&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;, &lt;b&gt;&lt;i&gt;&lt;u&gt;lshw -c video&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;, so I&amp;nbsp; install the legacy driver from an AUR package with the tool &lt;b&gt;&quot;yay&quot;&lt;/b&gt; is a client writen on golang, and is easy to use and install from Cli.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;Cinnamon package to see sections&lt;span&gt;&lt;/span&gt;:&lt;/u&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ pacman -Ql cinnamon | awk -F &#39;[_.]&#39; &#39;/cs_.+\.py/ {print $2}&#39;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;8 - generar fstab&lt;/p&gt;&lt;p&gt;genfstab -pU /mnt &amp;gt;&amp;gt; /mnt/etc/fstab &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;9 - the chroot to make some configurations and installing the grub in the new uefi partition.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;arch-chroot /mnt&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;10 - without&amp;nbsp; GUI, setting configuration files, service, and customizations:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;u&gt;hostname&lt;/u&gt;:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;CoolName&quot; &amp;gt;&amp;gt; /etc/hostname &lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;   &lt;u&gt;Timezone:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;       ln -sf /usr/share/zoneinfo/America/Buenos_Aires  /etc/&lt;span&gt;&lt;/span&gt;localtime&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;   &lt;u&gt;Setting Locale:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;       uncomment a line on this file &quot;/etc/locale.gen&quot; and run the command cli  $ locale-gen&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;   &lt;u&gt;Setting keymap:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&amp;nbsp;&lt;span&gt;        &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;localectl list-keymaps | grep -i us&amp;nbsp; (list all available keymaps)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;         echo &quot;KEYMAP=us&quot; &amp;gt; /etc/vconsole.conf  (do the setting)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&amp;nbsp;  &lt;u&gt;Making grub config file:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; echo &quot;GRUB_DISABLE_OS_PROBER=false&quot; &amp;gt;&amp;gt; /etc/default/grub &lt;/span&gt;(edit /etc/default/grub)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;         grub-install --efi-directory=/boot/efi --bootloader-id=&quot;Archlinux&quot; --target=x86_64-efi --removable&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;         os-prober (testing if we have another OS like windows)&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;         grub-mkconfig -o /boot/grub/grub.cfg&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;    &lt;u&gt;Adding a new user to use with sudo:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        useradd -m -g users -G audio,lp,optical,video,wheel,games,power,scanner -s /bin/bash j3nnn1&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        passwd j3nnn1&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;    &lt;u&gt;Installing nvidia driver via &lt;b&gt;Yay:&lt;/b&gt;&lt;/u&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - git clone https://aur.archlinux.org/yay.git&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - cd yay&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - makepkg -si (don&#39;t forget to add this user to sudoers file)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;   &amp;nbsp;    - if you run without -i use pacman -U package.gz (optional)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - yay -S nvidia-390xx-dkms&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - yay -S google-chrome&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - yay -S numix-gtk-theme&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;    &lt;u&gt;Setting&amp;nbsp; Time:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - timedatectl set-ntp true. (only if you did previously the setting of timezone on the file: /etc/localtime)&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - timedatectl timesync-status&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;       &amp;nbsp;- timedatectl status&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;    &lt;u&gt;Related to Kernel:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - mkinitcpio -P&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;    &lt;u&gt;Enable display manager and network manager and GUI:&lt;/u&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - systemctl enable lightdm&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - systemctl enable NetworkManager&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;        - systemctl isolate  graphical.target ( testing graphical UI, on next reboot will be dismiss this change)&amp;nbsp;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;b&gt;        - systemctl set-default multi-user.target (CLI)&lt;/b&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;b&gt;        - systemctl set-default graphical.target (GUI)&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;b&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;  - systemctl get-default&lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;p&gt;11 - enable GUI. &lt;/p&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;b&gt;     - systemctl set-default graphical.target (GUI)&amp;nbsp;&lt;/b&gt;&lt;/pre&gt;&lt;p&gt;12 - disable GUI (troubleshooting).&lt;/p&gt;&lt;pre style=&quot;border-bottom: medium none; margin-bottom: 0px; padding-bottom: 0.8em;&quot;&gt;&lt;b&gt;     - systemctl set-default multi-user.target (CLI)&lt;/b&gt;&lt;/pre&gt;&lt;p&gt;13 - testing with startx (xorg-xinit and xorg-apps should be installed)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - edit file &quot;~/.xinitrc&quot;.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; vim ~/.xinitrc&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OR&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;exec cinnamon-session&quot; &amp;gt; ~/.xinitrc &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - from CLI execute: startx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And That&#39;s all.&amp;nbsp;&lt;/p&gt;&lt;p&gt;By now..&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Sorry about&amp;nbsp; the Spanglish and grammatical errors.&lt;/p&gt;&lt;p&gt;14 - tools nvidia&lt;/p&gt;&lt;p&gt;&lt;b&gt;is loaded nvidia driver?&lt;/b&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;dkms install --no-depmod nvidia/390.144 -k 5.15.3-arch1-1 &amp;amp;&amp;amp; depmod 5.15.3-arch1-1&lt;/p&gt;&lt;p&gt;&lt;b&gt;Logs&lt;/b&gt;&lt;/p&gt;&lt;p&gt;cat /var/log/Xorg.0.log&lt;/p&gt;&lt;p&gt;&lt;b&gt;Blacklist noveau&lt;/b&gt;&lt;/p&gt;&lt;p&gt;caracas# cat /usr/lib/modprobe.d/nvidia-390xx-dkms.conf &lt;br /&gt;blacklist nouveau&lt;b&gt;&amp;nbsp;&lt;/b&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;When The Xorg Server API is not compatible with the driver:&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;caracas# cat /etc/X11/xorg.conf.d/20-server_flags.conf&lt;br /&gt;&lt;br /&gt;Section &quot;ServerFlags&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Option &quot;IgnoreABI&quot; &quot;1&quot;&lt;br /&gt;EndSection&lt;/p&gt;&lt;p&gt;cat /usr/lib/modprobe.d/nvidia-lts.conf&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;update nvidia driver with new API&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;..@TODO&lt;/p&gt;&lt;p&gt;References:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;https://wiki.archlinux.org/title/NVIDIA#Installation&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;gdm locked user.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;vim /etc/security/faillock.conf&lt;/p&gt;&lt;p&gt;deny = 9999 &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/190622502748225478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/08/reinstalling-archlinux-on-old-notebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/190622502748225478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/190622502748225478'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/08/reinstalling-archlinux-on-old-notebook.html' title='Reinstalling Archlinux on a old Laptop'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCd1ERUMAW9BwO4TpLY0m_DBt7l7YvK3yGGRa64KZOWst_AY0gEnFCnmmgqGyV-arxLixaJRiXtKeXOKTQFFJySuX8hfnnbph3zWsm92nBLd3TYBsYBxpcYGqhAxqixqY_FxfcBXxAFI/s72-c/memtest86Error.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-7418335573812854623</id><published>2021-08-08T19:08:00.004-04:00</published><updated>2021-08-08T19:58:49.954-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>tools en linux</title><content type='html'>&lt;pre&gt;&lt;b&gt;&lt;span style=&quot;color: #274e13;&quot;&gt;generar clave de 4 palabras. &lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;shuf -n4 /usr/share/dict/words | tr -d &#39;\n&#39;&lt;/pre&gt;
&lt;pre style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;todas las ips conectadas a mi host.&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;netstat -lantp | grep ESTABLISHED |awk &#39;{print $5}&#39; | awk -F: &#39;{print $1}&#39; | sort -u&lt;/pre&gt;
&lt;pre style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;chequear sintaxis&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;find . -name \*.php -exec php -l &quot;{}&quot; \;&amp;nbsp;&lt;/pre&gt;
&lt;pre style=&quot;color: #274e13;&quot;&gt;&lt;b&gt;listar solo directorios.&lt;/b&gt;&lt;/pre&gt;
&lt;pre&gt;find . -maxdepth 1 -type d | sort&lt;/pre&gt;
&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;recuperar archivos y se ejecuta como root o con sudo.&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;testdisk &lt;/pre&gt;
&lt;pre&gt; &lt;/pre&gt;


&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;
listar tamaño de uso de un archivo o directorio:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
du -h . | egrep -i j3nnn1/santiagozarate$&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;eliminar procesos luego de una búsqueda.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;ps -fea | grep perl | awk &#39;{print $2}&#39; | xargs kill -9&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;matar un proceso zombie&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;dhcpcd zombi&amp;nbsp;&lt;code&gt;kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e &#39;^[Zz]&#39; | awk &#39;{print $2}&#39;`&lt;/code&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7418335573812854623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7418335573812854623'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/08/tools-en-linux.html' title='tools en linux'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-7060636748569026160</id><published>2021-08-08T09:56:00.004-04:00</published><updated>2021-08-08T10:15:18.973-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="APIs"/><category scheme="http://www.blogger.com/atom/ns#" term="Apollo"/><category scheme="http://www.blogger.com/atom/ns#" term="csv"/><category scheme="http://www.blogger.com/atom/ns#" term="Databases"/><category scheme="http://www.blogger.com/atom/ns#" term="GraphQL"/><category scheme="http://www.blogger.com/atom/ns#" term="GraphQL-client GraphQL-server"/><category scheme="http://www.blogger.com/atom/ns#" term="json"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming Language"/><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="sources"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Apuntes varios de GraphQL</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-uLl757MOj35Oo_1WhlIzNqA8_KiFu01S-I7YT8mrsiTSMczTxIKObJ7PyK9zoh-MZn1OuFtmjUpxeMCkSjTX-BjbEAFtCPpyIxwoDKWJ3qMUhI8NTJ62wozlRyPJ67fwssY777ZgTmE/s1132/Untitled.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;635&quot; data-original-width=&quot;1132&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-uLl757MOj35Oo_1WhlIzNqA8_KiFu01S-I7YT8mrsiTSMczTxIKObJ7PyK9zoh-MZn1OuFtmjUpxeMCkSjTX-BjbEAFtCPpyIxwoDKWJ3qMUhI8NTJ62wozlRyPJ67fwssY777ZgTmE/s320/Untitled.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;span style=&quot;font-family: Arial; font-size: 11pt; text-align: justify; text-indent: 36pt; white-space: pre-wrap;&quot;&gt;What is GraphQL? Is a query language and it’s focused on data manipulation of APIs, like an abstraction layer that lets us have many sources of data (Relational Database, APIs, documents databases, key-values databases) attached to one entrypoint, that let us filter fields from the client and take only the attributes/columns/data that we need and get in the response only what we defined as needed data.&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Why use GraphQL in this process? because it is designed to make APIs fast, flexible, and developer-friendly. It can even be deployed within an integrated development environment (IDE) known as GraphiQL. As an alternative to REST, GraphQL lets developers construct requests that pull data from multiple data sources in a single API call. GraphQL gives API maintainers the flexibility to add or deprecate fields without impacting existing queries, that’s a plus to avoid errors from versioned API and have a lower impact on production changes.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Things to take into account when we iterate over a product API:&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; margin-left: 36pt; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Schema first design:&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; The first thing you must do is agree on a schema with the team who will be building the backend. This will save a lot of refactoring later on, and if all goes according to plan you will be able to swap out the MockedProvider for the real one and your application should work seamlessly.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; margin-left: 36pt; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Design and implement with the user in mind.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; margin-left: 36pt; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Remember API retirement and change Management.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;&lt;span style=&quot;color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Common GraphQL terms.&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Graphql is a strongly typed language&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[1]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; this means that Graphql defines various data&amp;nbsp; types to define the schema in this way is a fixed contract between client and server, so we communicate in the same way with each request, and allows us to talk about GraphQL schemas in a language-agnostic way (we don’t care if we are using javaScript, java or golang).&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The most basic components of a GraphQL schema are object types, which just represent a kind of object you can fetch from your service, and what fields it has.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Some of Type System’s schema are:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Object Type&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Fields&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Query&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mutations&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Array&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;List&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;And a set of default scalar types out of the box: Int (a signed 32 bits), float (A signed double precision), String (UTF-8 character sequence), Boolean (true or false), ID (The ID scalar type represents a unique identifier).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;After we did a resume about the type system of Graphql, we could use several tools to mock data into this services, one of them is:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- Apollo graphql (server/client)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- mock.io/graphql ( it’s no a free, you’ll have to pay to used it)&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;- hasura.io&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-size: 0.6em; vertical-align: sub;&quot;&gt;[2]&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp; (server, works with apollo client or any client for graphql) is an open source service that gives you production-grade APIs on your data without having to build, operate &amp;amp; scale a GraphQL server. This has a developer tier free. You could try it.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;&lt;span style=&quot;color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Advantages and Drawbacks of GraphQL.&lt;/span&gt;&lt;/h3&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;color: #666666; font-family: Arial; font-size: 12pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Advantages.&lt;/span&gt;&lt;/h4&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Reducing the amount of data returned between your frontend and the backend.&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; Solves the issue of over-fetching or under-fetching data. Over-fetching is fetching all the data from an endpoint, but using only a portion of that data for, say, a mobile application. Under-fetching is fetching all the data from an endpoint, but not having enough data. This usually requires a call to a second endpoint.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Developers can build APIs with whatever methods they prefer&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, and the GraphQL specification will ensure they function in predictable ways to clients without impacting existing queries.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Aggregate that data together into a single meaningful response&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. GraphQL can be set up to call multiple backend services as it assembles its query response.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GraphQL is a way to simplify the interactions with your backend data&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, by using an interface whose &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;schemas describe the system behavior &lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;so you can get efficient data from your APIs, bringing you flexibility in retrieving information. has general usefulness for simplifying the use of complex APIs.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Can be scalable using Apollo Federation[3], in this way you have one entrypoint (GraphQL Schema Server) and many implementations of resolvers behind this schema. Apollo Federation encourages a design principle called separation of concerns. This enables different teams to work on different products and features within a single data graph, without interfering with each other. This promised the benefits of a unified schema with distributed ownership and implementation.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;color: #666666; font-family: Arial; font-size: 12pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Drawbacks.&lt;/span&gt;&lt;/h4&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The basic framework cannot be avoided&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. You have to do things according to the GraphQL way.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GraphQL presents a learning curve for developers familiar with REST APIs.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;GraphQL shifts much of the work of a data query to the server side, which adds complexity for server developers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: decimal; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;API maintainers have the additional task of writing maintainable GraphQL schema.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;&lt;span style=&quot;color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Tools on GraphQL.&lt;/span&gt;&lt;/h3&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;strapi&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, allow you to auto generate documentation from GraphQL schemas. &lt;/span&gt;&lt;a href=&quot;https://strapi.io/documentation&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://strapi.io/documentation&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;hotchocolate&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, .Net Platform to implement&amp;nbsp; a GraphQL server (C#).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://github.com/ChilliCream/hotchocolate&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://github.com/ChilliCream/hotchocolate&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Offix&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, an offline client that allows GraphQL mutations and queries to execute even when an application is unreachable.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://offix.dev/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://offix.dev/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Graphback&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, a command line-client for generating GraphQL-enabled Node.js servers.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://graphback.dev/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://graphback.dev/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px; padding-inline-start: 48px;&quot;&gt;&lt;li aria-level=&quot;1&quot; dir=&quot;ltr&quot; style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; list-style-type: disc; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: 11pt; font-style: italic; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 700; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;OpenAPI-to-GraphQL&lt;/span&gt;&lt;span style=&quot;font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, a command-line interface and library for translating APIs described by OpenAPI Specifications or Swagger into GraphQL.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://github.com/IBM/openapi-to-graphql&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://github.com/IBM/openapi-to-graphql&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; id=&quot;docs-internal-guid-6a7ced93-7fff-dc29-d2f2-32e43ab87eab&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt; text-align: justify;&quot;&gt;&lt;span style=&quot;color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Links referenced.&lt;/span&gt;&lt;/h3&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[1] &lt;/span&gt;&lt;a href=&quot;https://graphql.org/learn/schema/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://graphql.org/learn/schema/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[2] &lt;/span&gt;&lt;a href=&quot;https://hasura.io/&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://hasura.io/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-align: left; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[3] &lt;/span&gt;&lt;a href=&quot;https://www.apollographql.com/docs/federation/&quot; style=&quot;text-align: left; text-decoration-line: none;&quot;&gt;&lt;span style=&quot;color: #1155cc; font-family: Arial; font-size: 11pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://www.apollographql.com/docs/federation/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3 dir=&quot;ltr&quot; id=&quot;docs-internal-guid-6a7ced93-7fff-dc29-d2f2-32e43ab87eab&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt; text-align: justify;&quot;&gt;&lt;span style=&quot;color: #434343; font-family: Arial; font-size: 14pt; font-variant-east-asian: normal; font-variant-numeric: normal; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;See Also:&lt;/span&gt;&lt;/h3&gt;&lt;p style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt; text-align: left;&quot;&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;https://www.redhat.com/architect/apis-soap-rest-graphql-grpc&lt;/li&gt;&lt;li&gt;https://www.apollographql.com/docs/federation/&lt;/li&gt;&lt;li&gt;https://opensourcelibs.com/libs/graphql-schema&lt;/li&gt;&lt;li&gt;https://www.howtographql.com/&lt;/li&gt;&lt;li&gt;https://graphql.org/&lt;/li&gt;&lt;li&gt;https://graphql.org/swapi-graphql/&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/7060636748569026160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/08/apuntes-varios-de-graphql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7060636748569026160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7060636748569026160'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/08/apuntes-varios-de-graphql.html' title='Apuntes varios de GraphQL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-uLl757MOj35Oo_1WhlIzNqA8_KiFu01S-I7YT8mrsiTSMczTxIKObJ7PyK9zoh-MZn1OuFtmjUpxeMCkSjTX-BjbEAFtCPpyIxwoDKWJ3qMUhI8NTJ62wozlRyPJ67fwssY777ZgTmE/s72-c/Untitled.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-5008861958311380228</id><published>2021-01-15T11:58:00.001-04:00</published><updated>2021-01-15T11:58:20.320-04:00</updated><title type='text'>Apuntes varios de yum y mis aventuras con rpms.</title><content type='html'>&lt;p&gt;esto es un respaldo de mis post it, que suelo tener en el escritorio.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;yum groupinstall &#39;MySQl&#39;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum groupremove &#39;MySQl&#39;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum repolist all&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum --enable-repo=epel install phpmyadmin&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum clean all&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum shell&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum history&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum -y [install | remove | update]&amp;nbsp; firefox&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum &lt;b&gt;exacto&lt;/b&gt; list firefox&lt;/p&gt;&lt;p&gt;yum * search&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum info firefox&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum provides /etc/httpd/conf/httpd.conf&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;yum grouplist&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;rpm -qi &amp;lt;pkg&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;rpm -qpl &amp;lt;pkg&amp;gt; listar los archivos que el paquete tiene.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;rpm -qpc &amp;lt;pkg&amp;gt; lista los archivos de configuración que tiene el paquete.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;rpm -qp --changelog &amp;lt;pkg&amp;gt; ver cambios asociados a bugfixes con el paquete.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/5008861958311380228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/01/apuntes-varios-de-yum-y-mis-aventuras.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5008861958311380228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5008861958311380228'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2021/01/apuntes-varios-de-yum-y-mis-aventuras.html' title='Apuntes varios de yum y mis aventuras con rpms.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-2396151855517742868</id><published>2020-09-24T09:58:00.004-04:00</published><updated>2025-08-31T16:00:39.060-04:00</updated><title type='text'>Raspberry Pi 4</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbhYFaN8qAZtg8klRqL1V9TMTucHaro8pck88fhzEQBh5C95vz3hxp8dxkgd1ESxVfmJjN__lbuj2uaUDBj8l3ci0oAVKm4hVhSFPfJiEBUn_oMCgImMdJbeXYEV72MhL7-W-jd7wYxU/s2048/DSC_0021.JPG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;1536&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbhYFaN8qAZtg8klRqL1V9TMTucHaro8pck88fhzEQBh5C95vz3hxp8dxkgd1ESxVfmJjN__lbuj2uaUDBj8l3ci0oAVKm4hVhSFPfJiEBUn_oMCgImMdJbeXYEV72MhL7-W-jd7wYxU/s320/DSC_0021.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Hola! dejo anotaciones cada vez es más fácil usar estas cositas, y hay nuevas cosas y herramientas que son faciles de usar pero me olvido de todo asi que lo anoto por acá.&lt;/p&gt;&lt;p&gt;¿Qué utilizar para instalar el sistema operativo?&lt;/p&gt;&lt;p&gt;- &lt;b&gt;imager&lt;/b&gt;, esta interfaz es muy practica y facil de usar, es un software que se baja de la pagina o de los repositorios oficiales de cada distribucion, sino en la página de raspberry pi:&amp;nbsp; creo que bajé la imagen:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;u&gt;raspberryRaspberry Pi Desktop&lt;/u&gt;, y automagicamente inicia el entorno de escritorio si tiene conectado un monitor o tv.&lt;/p&gt;&lt;p&gt;https://www.raspberrypi.org/downloads/&lt;/p&gt;&lt;p&gt;- ¿&lt;b&gt;dd if of &lt;/b&gt;? anteriomente usaba esto pero ando en modo chusmeando lo nuevo.&lt;/p&gt;&lt;p&gt;- &lt;b&gt;etcher&lt;/b&gt; https://www.balena.io/etcher/&lt;/p&gt;&lt;p&gt;-&amp;nbsp;&lt;b&gt;raspberry-pi-imager&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;sudo apt install rpi-imager&lt;/code&gt;.&lt;b&gt;&amp;nbsp;&lt;/b&gt; (www.raspberrypi.com/software/)&lt;/p&gt;&lt;p&gt;https://www.raspberrypi.com/documentation/computers/getting-started.html#raspberry-pi-imager&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;¿Donde bajar la imagen a instalar?&lt;/p&gt;&lt;p&gt;- hay una imagen de debian que ya viene con el escritorio.&lt;/p&gt;&lt;p&gt;- la version LITE viene sin entorno de escritorio lo que es practico si solo la quieres usar para algo X como octoprint, pyhole, y asi.&lt;/p&gt;&lt;p&gt;https://www.raspberrypi.org/downloads/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;* Viene con mini hdmi y no tengo monitor pero no es necesario instalar un entorno grafico, para comenzar a usarla, solo se necesita &lt;u&gt;editar un archivo de config de /boot. &lt;/u&gt;y colocar el usuario y password del wifi, esto es lo que llaman headless te permite habilitar ssh y configurar wifi:&lt;/p&gt;&lt;p&gt;&lt;b&gt;para wifi:&lt;/b&gt;&amp;nbsp; en &lt;b&gt;/boot/wpa_supplicant.conf&lt;/b&gt; OR /etc/wpa_supplicant/wpa_supplicant.conf&lt;/p&gt;&lt;p&gt;ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev&lt;/p&gt;&lt;p&gt;update_config=1&lt;/p&gt;&lt;p&gt;country=AR&lt;/p&gt;&lt;p&gt;network={&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;ssid=&quot;&amp;lt;ssid&amp;gt;&quot;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;psk=&quot;&amp;lt;password&amp;gt;&quot;&lt;/p&gt;&lt;p&gt;}&lt;/p&gt;&lt;p&gt;Algo que sirvió es colocarle una ip statica en la interfaz de la wlan0 en el archivo:&lt;/p&gt;&lt;p&gt;&lt;b&gt;/rootfs/etc/dhcpcd.conf&lt;/b&gt; en caso que falle el dhcp usara esta config como fallback, y tendremos acceso por SSH.&lt;/p&gt;&lt;p&gt;Algo así está en el archivo:&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;-webkit-tap-highlight-color: transparent; background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 30px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; word-break: break-all;&quot;&gt;# It is possible to fall back to a static IP if DHCP fails:
interface wlan0&lt;br style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot; /&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;static ip_address=192.168.0.24/24&lt;/span&gt;&lt;br style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot; /&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;static routers=192.168.0.1&lt;/span&gt;&lt;br style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot; /&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; white-space: normal;&quot;&gt;static domain_name_servers=8.8.8.8&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px;&quot;&gt;y para revisar config:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style=&quot;-webkit-tap-highlight-color: transparent; background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 30px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; word-break: break-all;&quot;&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px;&quot;&gt;sudo iwlist wlan0 scan&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;-webkit-tap-highlight-color: transparent; background-color: whitesmoke; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 13px; line-height: 1.42857; margin-bottom: 30px; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 9.5px; word-break: break-all;&quot;&gt;ifconfig wlan0&lt;/pre&gt;&lt;div&gt;&lt;b&gt;Activar el servicio de dhcp:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;luego volver a comentar estas lineas (/rootfs/etc/dhcpcd.conf) sobre la ip estática sino revisar en el router que nadie mas tenga esa ip. y colocarla como fija a este dispositivo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;para ssh:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;For headless setup, SSH can be enabled by placing a file named ssh, without any extension, onto the boot partition of the SD card from another computer. When the Pi boots, it looks for the ssh file. If it is found, SSH is enabled and the file is deleted.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre style=&quot;background: rgb(242, 241, 240); border: 1px solid rgb(221, 221, 221); color: #222222; font-family: Courier, monospace; font-size: 14px; line-height: 20px; max-width: 100%; padding: 10px; white-space: pre-wrap; width: 540px;&quot;&gt;&lt;code style=&quot;background: transparent; border: 0px; font-family: Courier, monospace; padding: 0px; white-space: pre;&quot;&gt;ssh pi@&amp;lt;IP&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;* Otro problemita que tuve es la autodeteccion del monitor si esta apagado y la raspberry estuvo encendida, a veces no detectaba el plug in del monitor, tambien editando unos parametros del archivo :&lt;/div&gt;&lt;p&gt;se cambian las configuraciones necesarias: /boot/config.txt&lt;/p&gt;&lt;p&gt;# uncomment to increase signal to HDMI, if you have interference, blanking, or&lt;/p&gt;&lt;p&gt;# no display&lt;/p&gt;&lt;p&gt;&lt;b&gt;config_hdmi_boost=7&lt;/b&gt;&lt;/p&gt;&lt;p&gt;y se agrega&amp;nbsp;export DISPLAY=0.0 y&amp;nbsp;startx&amp;amp;&lt;/p&gt;&lt;p&gt;* Cada tanto hay un error de audio, es decir no detecta correctamente cual de las salidas de audio deberia utilizar, pero evitar esto es mejor definirle una salida de audio directamente,&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHbYIWRQ1e-xJWStheREctkrDJvPq7LIZ6qr6qRpF_To_aKPNyOxxDrdmdMPq-tmETHzDBogVBotjF2Qmsoy3tzhxMiBNdqmE59X2Nz9dojCENFKw7tXXMFXOOaKxeuFNBsFWkLiIeeA/s1280/audioRaspberry.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1280&quot; data-original-width=&quot;720&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHbYIWRQ1e-xJWStheREctkrDJvPq7LIZ6qr6qRpF_To_aKPNyOxxDrdmdMPq-tmETHzDBogVBotjF2Qmsoy3tzhxMiBNdqmE59X2Nz9dojCENFKw7tXXMFXOOaKxeuFNBsFWkLiIeeA/s320/audioRaspberry.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Force the monitor to HDMI mode so that sound will be sent over HDMI cable&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;hdmi_drive=2&lt;/b&gt;&lt;/p&gt;&lt;p&gt;* Una cosa que instale fue kodi, esto me falta pulir un poco mas porque esta poco configurado:&lt;/p&gt;&lt;br /&gt;sudo apt-get install software-properties-common&lt;br /&gt;sudo aptitude install kodi&lt;br /&gt;sudo apt-get install kodi-audiodecoder-modplug&lt;div&gt;sudo apt-get install kodi-audiodecoder-nosefart&lt;br /&gt;sudo apt-get install kodi-audiodecoder-sidplay&lt;br /&gt;sudo apt-get install kodi-audiodecoder-sneapu&lt;br /&gt;sudo apt-get install kodi-audiodecoder-snesapu&lt;br /&gt;sudo apt-get install kodi-audiodecoder-stsound&lt;br /&gt;sudo apt-get install kodi-audiodecoder-timidity&lt;br /&gt;sudo apt-get install kodi-audiodecoder-vgmstream&lt;br /&gt;sudo apt-get install kodi-visualization-goom&lt;br /&gt;sudo apt-get install kodi-visualization-projectm &lt;br /&gt;sudo apt-get install kodi-visualization-projectm&lt;br /&gt;sudo apt-get install kodi-visualization-shadertoy&lt;br /&gt;sudo apt-get install kodi-visualization-spectrum&lt;br /&gt;sudo apt-get install kodi-visualization-waveform&lt;br /&gt;sudo apt-get install kodi-visualization-fishbmc&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;La raspberry py 4 no usa codecs para videos lo cual es bueno!.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;configuración adicional:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px; white-space: pre;&quot;&gt;sudo raspi-config&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Algo importante es la temperatura es recomendable instalar lm-sensors:&lt;/b&gt;&lt;div&gt;&lt;br /&gt;pi@ona:/bin $ sensors &lt;br /&gt;cpu_thermal-virtual-0&amp;nbsp;&lt;div&gt;Adapter: Virtual device temp1: +38.0°C&lt;/div&gt;&lt;div&gt;rpi_volt-isa-0000&amp;nbsp;&lt;/div&gt;&lt;div&gt;Adapter: ISA adapter in0: N/A &lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Setting locale and lang.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px; white-space: pre;&quot;&gt;sudo raspi-config&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: #f2f1f0; color: #222222; font-family: Courier, monospace; font-size: 14px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;installing pi hole.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;como soy media vaga use la version automatizada de la instalación:&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;https://github.com/pi-hole/pi-hole/#one-step-automated-install&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;curl -sSL https://install.pi-hole.net | bash&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;luego hago el set del dns en cada cliente.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: rgba(27, 31, 35, 0.05);&quot;&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;/etc/&lt;/span&gt;&lt;/span&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;resolv.conf&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;nameserver &amp;lt;IP pihole&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;&lt;b&gt;tiene GUI:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace&quot; style=&quot;color: #24292e;&quot;&gt;&lt;div&gt;View the web interface at http://pi.hole/admin or&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ http://192.168.0.20/admin&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Your Admin Webpage login password is XXXXXX&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;Como fibertel no te deja editar el dns en el router queda&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;- cambiar a un router particular o&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span face=&quot;SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, monospace&quot; style=&quot;background-color: rgba(27, 31, 35, 0.05); color: #24292e; font-size: inherit;&quot;&gt;- hacer los sets del dns&amp;nbsp; en cada cliente.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/2396151855517742868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/09/raspberry-pi-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/2396151855517742868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/2396151855517742868'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/09/raspberry-pi-4.html' title='Raspberry Pi 4'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbbhYFaN8qAZtg8klRqL1V9TMTucHaro8pck88fhzEQBh5C95vz3hxp8dxkgd1ESxVfmJjN__lbuj2uaUDBj8l3ci0oAVKm4hVhSFPfJiEBUn_oMCgImMdJbeXYEV72MhL7-W-jd7wYxU/s72-c/DSC_0021.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-7373925012525623416</id><published>2020-07-20T11:44:00.004-04:00</published><updated>2020-07-20T12:10:31.596-04:00</updated><title type='text'>Múltiples versiones de java </title><content type='html'>&lt;div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;b&gt;variables de ambiente que tengo que definir usualmente:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;div style=&quot;border: 0px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_37&lt;br clear=&quot;none&quot; /&gt;Configurar la variable JRE_HOME.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;# export JRE_HOME=/usr/lib/jvm/jdk1.6.0_37/jre&lt;br clear=&quot;none&quot; /&gt;Configurar la variable PATH.&lt;br clear=&quot;none&quot; /&gt;&lt;br clear=&quot;none&quot; /&gt;# export PATH=$PATH:/usr/lib/jvm/jdk1.6.0_37/bin:/usr/lib/jvm/jdk1.6.0_37/jre/bin&lt;/div&gt;&lt;div style=&quot;border: 0px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;export JAVA_HOME=/usr/lib/jvm/&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/span&gt;-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64&lt;/div&gt;&lt;div style=&quot;border: 0px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;export JRE_HOME=/usr/lib/jvm/&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/span&gt;-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre&lt;/div&gt;&lt;div style=&quot;border: 0px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Las diferentes versiones de openjdk(s) se guardan en:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;/usr/lib/jvm/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Otra ruta importante de java eso un&amp;nbsp; symbolic&amp;nbsp;&lt;/b&gt;&lt;b&gt;link&lt;/b&gt;&lt;b&gt;&amp;nbsp;en:&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;/usr/lib/jvm/default &amp;lt;- el sistema utiliza esto  por defecto en cualquier dependencia&lt;br /&gt; &lt;br /&gt;/usr/lib/jvm/default-java &amp;lt;- ubuntu&lt;div&gt;&lt;br /&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;line-height: 1.57143em;&quot;&gt;Se guarda un enlace simbolico a la version por defecto de&amp;nbsp;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;ls -l /etc/alternatives/java&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;b&gt;Cambiar de&amp;nbsp;java version, con versiones&amp;nbsp; instaladas por paquetes (ubuntu)&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;pre style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;code style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;-&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;alternatives &lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;--&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;list&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span&gt;sudo update-&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span&gt;-alternatives --set /usr/lib/jvm/&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span&gt;-1.8.0-openjdk-amd64&lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span&gt;OR &lt;/span&gt;&lt;/pre&gt;&lt;pre style=&quot;border: 0px; font-family: monaco, courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot; xml:space=&quot;preserve&quot;&gt;&lt;span&gt;&lt;pre style=&quot;border: 0px; color: #383838; font-family: Monaco, Courier, monospace; line-height: 1.57143em; margin-bottom: 0px; margin-top: 0px; padding: 0px;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Monaco, Courier, monospace; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;sudo update-java-alternatives --jre-headless --jre --set java-1.8.0-openjdk-amd64&lt;/code&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;OR&lt;br clear=&quot;none&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;sudo update-alternatives --config&amp;nbsp;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;br clear=&quot;none&quot; /&gt;sudo update-alternatives --config javac&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#383838&quot; face=&quot;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;Como instalar multiples&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;en centos.&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;font color=&quot;#383838&quot; face=&quot;&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;sudo yum install&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;-1.8.0-openjdk.x86_64&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&lt;b&gt;Esto instala aca:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;[centos@ip-10-0-100-147 lib]$ whereis&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;br clear=&quot;none&quot; style=&quot;color: #383838; font-size: 14px;&quot; /&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;: /usr/bin/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;/usr/lib/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;/etc/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;/usr/share/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;/usr/share/man/man1/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;.1.gz&lt;/span&gt;&lt;br clear=&quot;none&quot; style=&quot;color: #383838; font-size: 14px;&quot; /&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;---------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br clear=&quot;none&quot; style=&quot;color: #383838; font-size: 14px;&quot; /&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;/usr/bin/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;-&amp;gt; /etc/alternatives/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;br clear=&quot;none&quot; style=&quot;color: #383838; font-size: 14px;&quot; /&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;-----------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br clear=&quot;none&quot; style=&quot;color: #383838; font-size: 14px;&quot; /&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;/etc/alternatives/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&amp;nbsp;-&amp;gt; /usr/lib/jvm/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;&lt;b&gt;Copiar las nuevas versiones en el path o instalar por el gestor de paquetes la version de jdk:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #383838; font-size: 14px; line-height: 1.57143em;&quot;&gt;/usr/lib/jvm/&lt;br clear=&quot;none&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;b&gt;y ejecutamos (solo centos):&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;alternatives --install /usr/bin/&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&amp;nbsp;/usr/lib/jvm/&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/bin/&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&amp;nbsp;1&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br clear=&quot;none&quot; /&gt;alternatives --config&amp;nbsp;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;java&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;line-height: 1.57143em;&quot;&gt;&lt;b&gt;también se tiene que actualizar (solo centos):&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #383838; font-size: 14px;&quot;&gt;alternatives --set jar&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;font color=&quot;#383838&quot;&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;/usr/lib/jvm/java-8-openjdk-amd64/bin/jar&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;alternatives --set javac&amp;nbsp;&amp;nbsp;&lt;font color=&quot;#383838&quot;&gt;/usr/lib/jvm/java-8-openjdk-amd64/bin/javac&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;border: 0px; color: #383838; font-size: 14px; line-height: 1.57143em; margin: 0px; padding: 0px;&quot;&gt;&lt;font color=&quot;#383838&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/7373925012525623416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/07/multiples-versiones-de-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7373925012525623416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7373925012525623416'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/07/multiples-versiones-de-java.html' title='Múltiples versiones de java '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-5133925610351915906</id><published>2020-06-14T12:34:00.015-04:00</published><updated>2021-09-06T12:09:29.537-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="archlinux"/><category scheme="http://www.blogger.com/atom/ns#" term="cicd"/><category scheme="http://www.blogger.com/atom/ns#" term="devops"/><category scheme="http://www.blogger.com/atom/ns#" term="docker"/><category scheme="http://www.blogger.com/atom/ns#" term="dummy example"/><category scheme="http://www.blogger.com/atom/ns#" term="infrastructure"/><category scheme="http://www.blogger.com/atom/ns#" term="k8s"/><category scheme="http://www.blogger.com/atom/ns#" term="kubectl"/><category scheme="http://www.blogger.com/atom/ns#" term="kubernetes"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="localhost"/><category scheme="http://www.blogger.com/atom/ns#" term="microk8s"/><category scheme="http://www.blogger.com/atom/ns#" term="microservices"/><category scheme="http://www.blogger.com/atom/ns#" term="minikube"/><category scheme="http://www.blogger.com/atom/ns#" term="pipeline"/><category scheme="http://www.blogger.com/atom/ns#" term="pods"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="virtualbox"/><title type='text'>Learning about k8s</title><content type='html'>&lt;span id=&quot;docs-internal-guid-f24f48a6-7fff-9282-4b05-e44843a6044e&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQeJ3p0ELNGr0y8AZ8wiU92yvAsc0yHJxc9k-UMyCyOItfpU17BuuMkix0fH5lt3NSK7Aa_Pskc7eW2cvV-BY9hArKOoymK2TVOtyT-BWNsFyjBI3ZSIV7WYdkaewlXniyazpe6IDoOm4/s3685/DSC_0187.JPG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;3685&quot; data-original-width=&quot;3234&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQeJ3p0ELNGr0y8AZ8wiU92yvAsc0yHJxc9k-UMyCyOItfpU17BuuMkix0fH5lt3NSK7Aa_Pskc7eW2cvV-BY9hArKOoymK2TVOtyT-BWNsFyjBI3ZSIV7WYdkaewlXniyazpe6IDoOm4/s320/DSC_0187.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: arial; font-size: 11pt; text-align: justify; text-indent: 36pt; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Today in agile teams is crucial embracing a GitOps Model to achieve a major level of maturity of process development, and thus evolving the product faster, the goals should be small in the way we could iterate over it.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;When I write about “maturity levels” I refer to automation of traceability, configuration, and secret management, least privilege access.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The term GitOps was coined by Alexis Richardson at Weaveworks around 2017 [1] where he explained that.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Some people could see the GitOps term like the next level in the process development, I think could be a level up from the “DevOps” term in the process development.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It is a new&lt;a href=&quot;https://www.blogger.com/#&quot;&gt; way&lt;/a&gt; of looking at the operation process.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Before dive into something practical we need to recall which are the principles of GitOps:&lt;br /&gt;&lt;br /&gt;Infrastructure as code (IaC): allows us to treat the configuration of infrastructure and deployment of code in the same way how we usually manage the software development process using a familiar tool: Git. Some references you could find definitions like “Git as a single source of truth” this means using Git to operate almost everything, even configuration, and secrets. &lt;br /&gt;&lt;br /&gt;Self-Service: GitOps flow aims to break the barrier by automating and making it self-service (a pull request and code review). In this way, we as developers are close to the operation or deployment of environments in a simple way.&lt;br /&gt;&lt;br /&gt;Declarative infrastructure configuration: In several references they recommend the use of a pure declarative infrastructure configuration, is an easy and simple way to map the state of our deployment and is more intuitive. This type of configuration lets us do code review, comments and pull requests of configuration files. &lt;br /&gt;&lt;br /&gt;Observability: We need software agents to ensure correctness and alert on divergence in our system, we need alerts, healthchecks, that inform us if something went wrong with some element or application, checking through Git the desired state of system against the actual state, and doing the best to self-healing.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;Taking this into account you could improve stability, higher reliability, consistency, and Standardization, also this could enhance the development experience making transparent the deployment process (with a commit approved you could deploy in a simple way, because Git is the source of true). &lt;br /&gt;&lt;br /&gt;We could use these principles without using kubernetes, You could choose the tech stack that adjusts more to your situation or platform. In this blog we use minikube in a practical way making a review about subjects on GitOps and how kubernetes (minikube) help us to understand the flow of gitops.&lt;br /&gt;&lt;br /&gt;Kubernetes was first developed by a team at Google, they called Borg around 2003 [2] in the middle of 2014 Google presented Borg in an open-source version called “Kubernetes”  the definition is “Kubernetes is an open-source reference implementation of container cluster management.”[3] In several bibliographies you could find Kubernetes term abbreviated like “k8s” so from now on I will refer to Kubernetes in this way.&lt;br /&gt;&lt;br /&gt;The k8s cluster should subscribe to changes made in a repository. So the first requirement we have is having a Git repository. You could use github[5], gitlab[4], bitbucket [6]. Second you need to install minikube, this is a software that lets you try basic commands from a k8s cluster and test the development workflow[7]. &lt;br /&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Install minikube&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;sudo dpkg -i minikube_latest_amd64.deb&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;After this you could see something like this:&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Selecting previously unselected package minikube.&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;(Reading database ... 332649 files and directories currently installed.)&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Preparing to unpack minikube_latest_amd64.deb ...&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Unpacking minikube (1.11.0) ...&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Setting up minikube (1.11.0) ...&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;You could choose how to use minikube, I mean how k8s will compose the pod (later we see this term), only you have to set up the driver. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Stable drivers  are docker, virtualbox, &lt;a href=&quot;https://www.blogger.com/#&quot;&gt;VMWare&lt;/a&gt;, Parallels, kvm, &lt;a href=&quot;https://www.blogger.com/#&quot;&gt;Hyperkit&lt;/a&gt;, &lt;a href=&quot;https://www.blogger.com/#&quot;&gt;Hyper-V&lt;/a&gt;. In an experimental and active development  is podman.&lt;br /&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #777777; font-family: consolas, sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;minikube start --vm-driver=virtualbox&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/p&gt;If “vm-driver” is blank by default minikube will use docker. Once you created the cluster with a specific driver you couldn’t start with another driver type (you’ll get an error when you do it). I will create the cluster with the docker driver, so I executed without setting the driver. This will be a little slow the first time only because is pulling all images, the next execution will be faster, you will see sometime like this:&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #38761d; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Output:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; /tmp minikube start &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;😄&amp;nbsp; minikube v1.9.0 on Ubuntu 18.04&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;✨&amp;nbsp; Using the docker driver based on existing profile&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;🚜&amp;nbsp; Pulling base image ...&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;🔄&amp;nbsp; Restarting existing docker container for &quot;minikube&quot; ...&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;🐳&amp;nbsp; Preparing Kubernetes v1.18.0 on Docker 19.03.2 ...&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; ▪ kubeadm.pod-network-cidr=10.244.0.0/16&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;🌟&amp;nbsp; Enabling addons: dashboard, default-storageclass, storage-provisioner&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;🏄&amp;nbsp; Done! kubectl is now configured to use &quot;minikube&quot;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Installing kubectl:&lt;/span&gt;&lt;/h4&gt;After that you need another tool “kubectl” that lets you manage (create, update and delete) the k8s resources, kubectl supports imperative commands as declarative commands.  About the installation you could use you package manager or download  and install in this way[8]:&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #777777; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #777777; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; chmod +x ./kubectl&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #777777; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; sudo mv ./kubectl /usr/&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dd8888; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;local&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;/bin/kubectl&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #777777; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; kubectl version --client&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #38761d; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Output:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; /tmp kubectl version --client&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Client Version: version.Info{Major:&quot;1&quot;, Minor:&quot;18&quot;, GitVersion:&quot;v1.18.3&quot;, GitCommit:&quot;2e7996e3e2712684bc73f0dec0200d64eec7fe40&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2020-05-20T12:52:00Z&quot;, GoVersion:&quot;go1.13.9&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;We are going to mention the elements in a k8s cluster: In a k8s cluster, you could find a master and nodes at first Level. At least one node should exist, a node is representing a virtual or physical machine. Where each node has elements like kubelet, kubelet proxy, Pods, and some add ons related to Dns, UI[9].&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Listing Nodes in a cluster:&lt;/span&gt;&lt;/h4&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; Desktop kubectl get nodes&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NAME &amp;nbsp; &amp;nbsp; &amp;nbsp; STATUS &amp;nbsp; ROLES&amp;nbsp; &amp;nbsp; AGE &amp;nbsp; VERSION&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;minikube &amp;nbsp; Ready&amp;nbsp; &amp;nbsp; master &amp;nbsp; 34h &amp;nbsp; v1.18.0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;font color=&quot;#cccccc&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0); border-style: solid; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;K8s Cluster:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Master&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;nodes&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0); border-style: solid; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;K8s Node:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Kubelet&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Kubelet Proxy&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Pod(s)&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0); border-style: solid; border-width: 1pt; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;K8s Master:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Etcd&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Controller manager&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Api server&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Scheduler&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;font color=&quot;#cccccc&quot;&gt;Cloud manager&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span style=&quot;border: none; display: inline-block; height: 285px; overflow: hidden; width: 624px;&quot;&gt;&lt;img height=&quot;293&quot; src=&quot;https://lh6.googleusercontent.com/UlRdf5kg6HHeQ9CvAKfFuXmGDmAknN0e5wC6Zg5BgctIwK8ICmqPIKhImRJNOcTknzoFlRIDBrF5K29hTSXaxILoyXaLpzPUxJotcETxBNIXAslSTlY5LNFMidrQIK9q9HXqa_i1=w640-h293&quot; style=&quot;margin-left: 0px; margin-top: 0px;&quot; width=&quot;640&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;A Pod is the smallest unit in k8s cluster, they are representing a running process in a cluster. You could have more than one container in a pod. In this example, we have docker containers in each pod because we selected that driver at the beginning when we init our cluster with minikube.&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;color: #666666; font-family: arial; font-size: 12pt; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;color: #666666; font-family: arial; font-size: 12pt; white-space: pre;&quot;&gt;Creating a Pod (this command will add the pod to the default namespace later we explain this):&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; /code kubectl run db --image mongo&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pod/db created&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another way to create a pod is using a yml file that defines our deployment in a declarative way, this is the recommended because it is following one of the GitOps principles, when we talk about a declarative way we define in a yml the desired state we want.&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;br /&gt;In an imperative way we put steps one after another or execute commands in order to get the desired state, i.e: when I execute kubectl run and later kubectl delete.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;The next links are yml examples In a declarative way, the first one nginx-pod will create a pod using two docker images: nginx and docker/whalesay, but the final result is one docker container, showing “Hello kubernetes” in a html file. The second one  will create another docker container with a mongodb instance. You shouldn’t mix declarative and imperative commands in a deployment.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;ol style=&quot;margin-bottom: 0px; margin-top: 0px;&quot;&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/nginx-pod.yaml&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/nginx-pod.yaml&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot; style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;p dir=&quot;ltr&quot; role=&quot;presentation&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;a href=&quot;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/pod/db.yml&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/pod/db.yml&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Using a declarative way to create a Pod.&lt;/span&gt;&lt;/h4&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;kubectl create -f pod/db.yml&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Listing Pods in a node with the default namespace:&lt;/span&gt;&lt;/h4&gt;Add -o wide to get more information or to specify a format like json or yaml.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; /code kubectl get pods&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NAME &amp;nbsp; READY &amp;nbsp; STATUS&amp;nbsp; &amp;nbsp; RESTARTS &amp;nbsp; AGE&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;db &amp;nbsp; &amp;nbsp; 1/1 &amp;nbsp; &amp;nbsp; Running &amp;nbsp; 0&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 91s&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Listing pods running in a cluster:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;kubectl get pods --all-namespaces&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Describe POD:&lt;/span&gt;&lt;/h4&gt;When I read for the first time this command, I related it to the command  docker inspect, when we need information about the pod, we could get it with this command, the output is extensive and have a lot of information: the more relevant items are namespace, status could be pending or running, node, Start Time, Restart Count, and Event related to it:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; k8s git:(master) ✗&amp;nbsp; kubectl describe pod db &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Name: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Namespace:&amp;nbsp; &amp;nbsp; default&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Priority: &amp;nbsp; &amp;nbsp; 0&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Node: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; minikube/172.17.0.2&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Start Time: &amp;nbsp; Thu, 11 Jun 2020 16:07:26 -0300&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Labels: &amp;nbsp; &amp;nbsp; &amp;nbsp; type=db&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vendor=MongoLabs&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Annotations:&amp;nbsp; &amp;lt;none&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Status: &amp;nbsp; &amp;nbsp; &amp;nbsp; Pending&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;IP: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;IPs:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;none&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Containers:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; db:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; Container ID:&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; Image: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mongo:3.3&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;…&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Events:&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Type&amp;nbsp; &amp;nbsp; Reason &amp;nbsp; &amp;nbsp; Age&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; From &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Message&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;----&amp;nbsp; &amp;nbsp; ------ &amp;nbsp; &amp;nbsp; ---- &amp;nbsp; &amp;nbsp; &amp;nbsp; ---- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Normal&amp;nbsp; Scheduled&amp;nbsp; &amp;lt;unknown&amp;gt;&amp;nbsp; default-scheduler&amp;nbsp; Successfully assigned default/db to minikube&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Normal&amp;nbsp; Pulling&amp;nbsp; &amp;nbsp; 7m47s&amp;nbsp; &amp;nbsp; &amp;nbsp; kubelet, minikube&amp;nbsp; Pulling image &quot;mongo:3.3&quot;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Normal&amp;nbsp; Pulled &amp;nbsp; &amp;nbsp; 6m57s&amp;nbsp; &amp;nbsp; &amp;nbsp; kubelet, minikube&amp;nbsp; Successfully pulled image &quot;mongo:3.3&quot;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Normal&amp;nbsp; Created&amp;nbsp; &amp;nbsp; 6m56s&amp;nbsp; &amp;nbsp; &amp;nbsp; kubelet, minikube&amp;nbsp; Created container db&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;&amp;nbsp;Normal&amp;nbsp; Started&amp;nbsp; &amp;nbsp; 6m56s&amp;nbsp; &amp;nbsp; &amp;nbsp; kubelet, minikube&amp;nbsp; Started container db&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;...&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;A Pod in “Running” state means that all containers successfully started, and the db Pod is ready to serve requests. If the db pod in your cluster is running, then we can try accessing it or executing a well known “ps” command to prove that it is actually working. We’ll kill the mongodb process (change the deployment state) and we’ll could observe that k8s will do the necessary to bring us the desire state defined in the yml file:&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Executing a command inside a POD in the first container that found, use -c to specify a container (remember a pod could have multiple containers).&amp;nbsp;&lt;/span&gt;&lt;/h4&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; k8s git:(master) ✗ kubectl exec db -- ps aux&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;USER &amp;nbsp; &amp;nbsp; &amp;nbsp; PID %CPU %MEM&amp;nbsp; &amp;nbsp; VSZ &amp;nbsp; RSS TTY&amp;nbsp; &amp;nbsp; &amp;nbsp; STAT START &amp;nbsp; TIME COMMAND&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;root &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; 0.8&amp;nbsp; 0.2 286084 59136 ?&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ssl&amp;nbsp; 19:08 &amp;nbsp; 0:26 mongod --rest --httpinterface&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;root&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 29&amp;nbsp; 0.0&amp;nbsp; 0.0&amp;nbsp; 17496&amp;nbsp; 2036 ?&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rs &amp;nbsp; 19:59 &amp;nbsp; 0:00 ps aux&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt; text-align: justify; text-indent: 36pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Accessing to the POD (running a shell inside the container):&lt;/span&gt;&lt;/h4&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜ kubectl exec -it db --&amp;nbsp; sh&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Killing a process inside the container and getting pod status:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/h4&gt;You could see the Restarts column increase in one, this k8s features let us keep redundancy and stability. Remember the fourth principle where we have a software agent checking the actual state vs the desired state of application, and making actions to achieve the desired state defined in the Yaml file.&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; k8s git:(master) ✗ kubectl exec -it db -- pkill mongod &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; k8s git:(master) ✗ kubectl get pods &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NAME &amp;nbsp; READY &amp;nbsp; STATUS&amp;nbsp; &amp;nbsp; &amp;nbsp; RESTARTS &amp;nbsp; AGE&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;db &amp;nbsp; &amp;nbsp; 0/1 &amp;nbsp; &amp;nbsp; Completed &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 75m&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;To delete the pod:&lt;/span&gt;&amp;nbsp;&lt;/h4&gt;After this practical we could delete the Pod to become a new practical and the last one. Also you could delete the entire deployment and the pod will be deleted too:&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜ kubectl delete pod db&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;pod &quot;db&quot; deleted&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜ kubectl delete deployment db&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜ kubectl delete -f pod/db.yml #declarative way&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;A &lt;u&gt;deployment&lt;/u&gt; contains nodes, pods, use images, and all defined in a yml file called the manifest. The deployment could be organized by namespace, also you could use annotations to select objects/resources.  The first part of a yml file declarative with a deployment looks like: &lt;br /&gt;&lt;br /&gt;We set  three replicas, some metadata “environment” and “organization”, and we specified the nginx image in the container. The Yml file with this kind of definition is called “manifest”&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;apiVersion: apps/v1&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;kind: Deployment&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;metadata:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; name: nginx-declarative&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; annotations:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; environment: prod&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; organization: marketing&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;spec:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; replicas: 3&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; selector:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; matchLabels:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; template:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; metadata:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; labels:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app: nginx&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; spec:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; containers:&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - name: nginx&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image: nginx:latest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Creating a deployment:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/h4&gt;Download it the file, from:&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt; text-align: justify;&quot;&gt;&lt;a href=&quot;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/step2/declarative-deployment.yaml&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://gitlab.com/j3nnn1/blogspot/-/blob/master/blogspot2/k8s/step2/declarative-deployment.yaml&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; step2 git:(master) ✗ kubectl apply -f declarative-deployment.yaml&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;deployment.apps/nginx-declarative created&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Listing deployment:&lt;/span&gt;&lt;/h4&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; step2 git:(master) ✗ kubectl get deployments&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;NAME&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; READY &amp;nbsp; UP-TO-DATE &amp;nbsp; AVAILABLE &amp;nbsp; AGE&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;nginx-declarative &amp;nbsp; 3/3 &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 63s&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;h4 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #666666; font-family: arial; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;Update a deployment:&lt;/span&gt;&lt;/h4&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If you edit declarative-deployment.yaml you couldn’t see the change immediately in the k8s cluster, to see the changes edited in the file you need to execute the command kubectl apply or kubectl patch, an alternative is use watch with this command kubectl will subscribe to changes made into the declarative-deployment.yaml. And when you update the deployment you could see the output message change a little bit when you created the deployment.&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;b style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #444444; overflow-wrap: break-word; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;➜&amp;nbsp; step2 git:(master) ✗ kubectl apply -f declarative-deployment.yaml&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;deployment.apps/nginx-declarative &lt;/span&gt;&lt;span style=&quot;background-color: #444444; color: #dddddd; font-family: consolas, sans-serif; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;configured&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;In a GitOps flow you have an element that maintains an infinite loop and continuously reconciles the desired and actual state, checking if a change was made to this file, are called controllers. There are many patterns to implement a controller[10], K8s comes with built-in controllers and you also could write it in different languages, the controller should use the API server to manage the cluster. It’s recommended that we have many simple controllers instead of one monolithic controller, I.e use a controller for each rk8s resource to manage. And when we talk about automation we need to include a new term the GitOps operator [11]  tha lets  automate a task beyond what Kubernetes itself provides.&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There are many tools to implement CI/CD. Some of these tools are: graden.io, skaffold, Draft, Squash, Helm, Charts, Ksonnet, Fluxcd, Argo CD. The path is the same, you should choose the option more suitable for the environment or kind of software application, there is no unique way or a magic equation to apply these principles, each company has different needs and structure.&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: arial; font-size: 8pt; font-variant-east-asian: normal; font-variant-numeric: normal; vertical-align: baseline; white-space: pre;&quot;&gt;1 &lt;/span&gt;&lt;a href=&quot;https://www.weave.works/blog/gitops-operations-by-pull-request&quot; style=&quot;text-decoration-line: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; color: #1155cc; font-family: arial; font-size: 8pt; font-variant-east-asian: normal; font-variant-numeric: normal; text-decoration-line: underline; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre;&quot;&gt;https://www.weave.works/blog/gitops-operations-by-pull-request&lt;/span&gt;&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;2 &lt;/span&gt;&lt;a href=&quot;https://research.google/pubs/pub43438/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://research.google/pubs/pub43438/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt; h&lt;/span&gt;&lt;a href=&quot;https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;ttps://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;4 &lt;/span&gt;&lt;a href=&quot;https://about.gitlab.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://about.gitlab.com/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;5 &lt;/span&gt;&lt;a href=&quot;https://github.com/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://github.com/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;6 &lt;/span&gt;&lt;a href=&quot;https://bitbucket.org/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://bitbucket.org/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;7 &lt;/span&gt;&lt;a href=&quot;https://minikube.sigs.k8s.io/docs/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://minikube.sigs.k8s.io/docs/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;&amp;nbsp;“minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes”&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;8 &lt;/span&gt;&lt;a href=&quot;https://kubernetes.io/docs/tasks/tools/install-kubectl/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://kubernetes.io/docs/tasks/tools/install-kubectl/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;9 &lt;/span&gt;&lt;a href=&quot;https://kubernetes.io/docs/concepts/overview/components/&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://kubernetes.io/docs/concepts/overview/components/&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;10 &lt;/span&gt;&lt;a href=&quot;https://kubernetes.io/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns&quot; style=&quot;text-decoration: none;&quot;&gt;&lt;span style=&quot;-webkit-text-decoration-skip: none; background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre;&quot;&gt;https://kubernetes.io/docs/concepts/extend-kubernetes/extend-cluster/#extension-patterns&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;&quot;&gt;11 &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #1155cc; font-family: arial; font-size: 8pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration-skip-ink: none; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;https://kubernetes.io/docs/concepts/extend-kubernetes/operator/&quot; style=&quot;text-decoration: none;&quot;&gt;https://kubernetes.io/docs/concepts/extend-kubernetes/operator/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PD:&amp;nbsp;sorry for any grammar mistake made in the text,&amp;nbsp;send corrections if you want.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/5133925610351915906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/06/learning-about-k8s.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5133925610351915906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5133925610351915906'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/06/learning-about-k8s.html' title='Learning about k8s'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQeJ3p0ELNGr0y8AZ8wiU92yvAsc0yHJxc9k-UMyCyOItfpU17BuuMkix0fH5lt3NSK7Aa_Pskc7eW2cvV-BY9hArKOoymK2TVOtyT-BWNsFyjBI3ZSIV7WYdkaewlXniyazpe6IDoOm4/s72-c/DSC_0187.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-449015797984188952</id><published>2020-05-03T20:51:00.002-04:00</published><updated>2020-05-03T20:54:08.881-04:00</updated><title type='text'>DHCP resumen de lo que leí alguna vez.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTAGrj_0PW_N4nVHlyHBz_bdpesWALtE-DfUazAMyNuyatp5Rptmw&amp;amp;s&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;194&quot; data-original-width=&quot;260&quot; src=&quot;https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTAGrj_0PW_N4nVHlyHBz_bdpesWALtE-DfUazAMyNuyatp5Rptmw&amp;amp;s&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
- Utiliza el puerto 67 (Servidor) y 68 (cliente) Para IPv4&lt;br /&gt;
- Utiliza el puerto 547 (Servidor) y 546 (cliente) Para IPv6&lt;br /&gt;
- Maneja mensajes del tipo broadcast y unicast.&lt;br /&gt;
- Para IPv4 son 4 tipos de paquetes:&lt;br /&gt;
&lt;br /&gt;
Discover (broadcast)&lt;br /&gt;
Offer (broadcast)&lt;br /&gt;
Request (broadcast) (&lt;b&gt;Put server id&lt;/b&gt;&amp;nbsp; en el paquete)&lt;br /&gt;
Ack (unicast?)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Para IPv6 son:&lt;br /&gt;
&lt;br /&gt;
Solicit&lt;br /&gt;
Advertisement&lt;br /&gt;
Request&lt;br /&gt;
Reply&lt;br /&gt;
&lt;br /&gt;
- En un dhcp server se definen scopes, que se componen de:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- range&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- lease duration&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- mask appress&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- client&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- default gateway&lt;br /&gt;
&lt;br /&gt;
De acuerdo a un RFC se definieron opciones aca menciono algunas que anote:&lt;br /&gt;
&lt;br /&gt;
Option 53: message type&lt;br /&gt;
Option 6: domain server&lt;br /&gt;
** Option 1 es requerido y tiene la máscara de red.&lt;br /&gt;
Option 3: Router ip&lt;br /&gt;
Option 150: tftp server ip&lt;br /&gt;
&lt;b&gt;Option 51 lease time&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Nota: cuando un cliente va a renovar la ip porque ya expiro el tiempo de su lease, envia un mensaje por unicast (REQUEST) y le devuelven un ACK con el lease del time nuevo.&lt;/b&gt;&lt;br /&gt;
Esto lo realiza por 3 T.&lt;br /&gt;
&lt;br /&gt;
T1&lt;br /&gt;
..&lt;br /&gt;
T2&lt;br /&gt;
..&lt;br /&gt;
y al tercero de acuerdo al rfc creo, genera otro broadcast con el request del lease time y si no responde&amp;nbsp; nadie queda marcado como que expiro, es dropeado este mensaje y vuelve al estado inicial...&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;El discover&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Y eso es todo amigos, tirando papeles!&lt;br /&gt;
&lt;br /&gt;
PD: esta sujeto a edición es de uno de los apuntes que alguna vez hice a mano, y quizas mal entendi algun paso :P&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/449015797984188952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/dhcp-resumen-de-lo-que-lei-alguna-vez.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/449015797984188952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/449015797984188952'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/dhcp-resumen-de-lo-que-lei-alguna-vez.html' title='DHCP resumen de lo que leí alguna vez.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-6882360700246878767</id><published>2020-05-03T20:03:00.000-04:00</published><updated>2020-05-03T20:03:08.254-04:00</updated><title type='text'>Sobre pluralsight free april month, data, cuentos, visualizaciones</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://images.squarespace-cdn.com/content/v1/55b6a6dce4b089e11621d3ed/1438044558046-8YF32EC0XZCUP9CSQ5DW/ke17ZwdGBToddI8pDm48kDYu1atnh2QQwSzBq4WP1zNZw-zPPgdn4jUwVcJE1ZvWEtT5uBSRWt4vQZAgTJucoTqqXjS3CfNDSuuf31e0tVHmiyhVcJZOWvdM5eJ8gItYBBtkl72tNVbFO13tgQkwO-prwWHJePaZ7hckU30dJmQ/image-asset.jpeg?format=500w&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;258&quot; data-original-width=&quot;400&quot; height=&quot;206&quot; src=&quot;https://images.squarespace-cdn.com/content/v1/55b6a6dce4b089e11621d3ed/1438044558046-8YF32EC0XZCUP9CSQ5DW/ke17ZwdGBToddI8pDm48kDYu1atnh2QQwSzBq4WP1zNZw-zPPgdn4jUwVcJE1ZvWEtT5uBSRWt4vQZAgTJucoTqqXjS3CfNDSuuf31e0tVHmiyhVcJZOWvdM5eJ8gItYBBtkl72tNVbFO13tgQkwO-prwWHJePaZ7hckU30dJmQ/image-asset.jpeg?format=500w&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
buenas buenas,&lt;br /&gt;
&lt;br /&gt;
Ahora en free april month existió la promoción que permitía acceder al contenido de cursos online, no se si aún continua, pero pueden chusmear en este link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.pluralsight.com/offer/2020/free-april-month&quot;&gt;https://www.pluralsight.com/offer/2020/free-april-month&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Como&amp;nbsp; me olvido de todo decidí agregar este artículo resumen de las cosas relevante que me llamaron la atención y esta bueno recordar. De los cursos que revisé en base a la fecha de publicación (elegir los más nuevos) estan:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://app.pluralsight.com/library/courses/storytelling-to-engage-motivate/table-of-contents&quot;&gt;https://app.pluralsight.com/library/courses/storytelling-to-engage-motivate/table-of-contents&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
y&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://app.pluralsight.com/library/courses/data-visualization-best-practices/table-of-contents&quot;&gt;https://app.pluralsight.com/library/courses/data-visualization-best-practices/table-of-contents&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
vi otros que no parecieron buenos, así que ni los menciono. Entre los puntos o anotaciones importantes sobre las visualizaciones y storytelling, menciono:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;storytelling:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
- Elementos que ayudan a hacer una historia efectiva, logrando una efectiva comunicación.&lt;br /&gt;
- Arquetipos de un &quot;cuento&quot; o ser un cuentacuentos? o storytelling? efectivo&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; mencionan que existen estos frameworks:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 -&quot;Stranger goes to town man goes on a journey&quot;&amp;nbsp; se refiere a jornadas de viaje metafóricas.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 - Comedy vs Tragedy. (comedy = survival of community, and tragedy = indivual failure)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3 - the hero quest.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 4 - The rags to rich story. (cuando comienza de 0 o la nada misma y llega a un punto cumbre final de exito)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 5- The fall. (es el punto 4 invertido.. del exito va al fracaso.)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 6 - Mistery (desde un punto o sujeto incognito explica los elemento necesarios para hallar el punto cumbre y develar quien o como llego a ese punto cumbre)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7 - Romance (aca menciona un poco relacionado a una publicidad donde usar el romance para explicar que solemos tener un afecto mayor por nuestros telefonos ya que pasamos mucho tiempo con esto)&lt;br /&gt;
&lt;br /&gt;
- Tres U de una historia (todas comienzan con la palabra understand, en español podría ser las tres E de una historia o cuento).&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 1 - fuentes&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 2 - audiencia&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 3 - cada tipo de dato o términos de negocio.&lt;br /&gt;
&lt;br /&gt;
- Como elegir tipos efectivos de gráficos.&lt;br /&gt;
- Mejorando atributos (explica muy por encima el procesamiento de datos)&lt;br /&gt;
- Contexto&amp;nbsp; =&amp;gt; Who, What, How&lt;br /&gt;
- Mencionan de usar herramientas como Qlikview, D3, Tableau.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;Data visualizations:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
- Encontrar data que comunique un mensaje.&lt;br /&gt;
-&amp;nbsp;&lt;u style=&quot;font-style: italic;&quot;&gt;Sobre la alineación del texto:&lt;/u&gt;&amp;nbsp; números (alineación a la derecha), texto (alineación a la izquierda)&lt;br /&gt;
- Recomienta los gráficos de barra&amp;nbsp; en porcentajes, en lugar de un número fijo y que sean de orientación horizontal, de esta forma considera que es más fácil de interpretar.&lt;br /&gt;
- Wafle charts donde cada cuadro es un % de un total, recomienda si es posible sino el grafico de barras en cascada.&lt;br /&gt;
- usar color y tamaño para enfatizar una idea.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Que cosas evitar:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
- Evitar hacer gráficos complejos .&lt;br /&gt;
- Evitar la redundancia de data en las tablas.&lt;br /&gt;
&lt;i&gt;- Evitar redundancia de data.&lt;/i&gt;&lt;br /&gt;
- Usar ejes o etiquetas, recomienda no usar ambas.&lt;br /&gt;
- Evitar los gráficos espaguettis (imagen del artículo).&lt;br /&gt;
-&lt;i&gt;&amp;nbsp;&lt;u&gt;En cuanto a colores:&lt;/u&gt;&lt;/i&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;de un gráfico recomienda usar 2 o máximo 4, más de este número conviene hacer un subgráfico. Y sobre los colores rojo y verde menciona que a veces es mejor evitarlos si no conoces a la audiencia, y menciona como sustito orange para rojo, y azul para el verde.&lt;br /&gt;
- En los graficos de graficos de tortas recomienda no usar más 3 slices (trozos o pedazos o partes).&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Que cosas repensar si son necesarias:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;i&gt;&lt;u&gt;- gridlines:&amp;nbsp;&lt;/u&gt;&lt;/i&gt;las grillas a veces&amp;nbsp; pueden evitarse, siempre cuestionar si suman a la visualización, o el mensaje que se quiere transmitir.&lt;br /&gt;
- sobre pie charts, recomienda usar los donuts charts en lugar de los pie charts.&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;u&gt;- En los gráficos de barra: &lt;/u&gt;&lt;/i&gt;si aplica ordenar, bien o de mayor a menor o en orden alfabetico.&amp;nbsp;&lt;/div&gt;
&lt;i&gt;&lt;u&gt;- Orientación de las dimensiones. &lt;/u&gt;&lt;/i&gt;tener cuidado con... A veces las barras horizontales son más leibles.&lt;br /&gt;
&lt;i&gt;- Multiples series: r&lt;/i&gt;ecomienda utilizar barras, o line plot, también acota la importancia de agrupar estas barras o líneas, en caso de que aplique.&lt;br /&gt;
&lt;u&gt;&lt;i&gt;- A veces un gráfico puede ser sustituido por Texto,&lt;/i&gt;&lt;/u&gt; y muestra ejemplos donde no se necesita un gráfico para transmitir la idea.&lt;br /&gt;
- Los gráficos cascadas, son graficos aditivos y ayudan a visualizar que elementos y proporcion componen un total.&lt;br /&gt;
&lt;br /&gt;
Y para cerrar:&lt;br /&gt;
&lt;b&gt;Frases zen que menciona:&lt;/b&gt; Remove to improve&lt;br /&gt;
(yo creo que aplica para todo, mantener las cosas sencillas es mejor que complejizarlas...)&lt;br /&gt;
&lt;br /&gt;
Asi que ya termine de pasar mis notas sobre lo leido, esta un poco más digerido y para no olvidar parte lo agregue acá, esto me recuerda cosas que vimos durante la maestría, me divertía aprendiendo.&lt;br /&gt;
&lt;br /&gt;
Hasta otro artículo digitalizando lo escrito a mano..&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/6882360700246878767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/sobre-pluralsight-free-april-month-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/6882360700246878767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/6882360700246878767'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/sobre-pluralsight-free-april-month-data.html' title='Sobre pluralsight free april month, data, cuentos, visualizaciones'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-4247684360295543149</id><published>2020-05-01T22:02:00.000-04:00</published><updated>2020-05-03T14:49:47.910-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="post-it"/><category scheme="http://www.blogger.com/atom/ns#" term="postit"/><title type='text'>Post-its</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVX55edVXtkHv5nU3baI8V7i3OKxJ5FG-p5k5bD2WWJLFOdz3TwX5mYlHFBtjK65frReHZ2aMoJ3sYh4OpRYHGC7P8GyxtMx9QZeWdrEhuJLkvlGfGCgaWrE3fas_bu2ncBkQNrWSblBQ/s1600/DSC_0103.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVX55edVXtkHv5nU3baI8V7i3OKxJ5FG-p5k5bD2WWJLFOdz3TwX5mYlHFBtjK65frReHZ2aMoJ3sYh4OpRYHGC7P8GyxtMx9QZeWdrEhuJLkvlGfGCgaWrE3fas_bu2ncBkQNrWSblBQ/s320/DSC_0103.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Este post&amp;nbsp; va a crear un nuevo tag en este sitio llamado &lt;b&gt;post-it&lt;/b&gt; , tengo como costumbre usar esto para anotar comandos utiles que suelo usar y no tengo la cabeza para no olvidarlos, y como esto no lo debe ver nadie, no creo que afecte mucho si lo guardo aca o google keep, en esta forma me gusta mas porque le agrego notas, fotos y formatos, lo voy a dividir en secciones: asi que comienza:&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;sobre mi compu personal (alias olivetti):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
sda1 =&amp;gt; tengo un window 7 de hace muchos años no creo que lo actualice quizas la formatee.&lt;br /&gt;
&lt;br /&gt;
sda5 =&amp;gt; otra partición de window =&amp;gt; mis documentos creo, en general creo una particion de documentos y programas a instalar por si quiero reinstalar al final no he tenido que reinstalar de hecho no suelo usar mucho esta partición.&lt;br /&gt;
&lt;br /&gt;
6,7,9 =&amp;gt; linux y otras cosas&lt;br /&gt;
6 =&amp;gt; raíz (/)&lt;br /&gt;
7 =&amp;gt; home&lt;br /&gt;
9 =&amp;gt; misperoles&lt;br /&gt;
&lt;br /&gt;
me paso que no recordé donde había instalado y borré&amp;nbsp; uno de los dos sistemas operativos y archivos guardados.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;se rompió linux por algo relacionado&amp;nbsp; el kernel, me olvide la clave (esto solo si no&amp;nbsp; esta encriptado el disco)&lt;/b&gt;&lt;br /&gt;
(usar un livecd de arch, ubuntu o su distribución favorita.)&lt;br /&gt;
&lt;br /&gt;
#mount /dev/sda6 /mnt&lt;br /&gt;
#mount /dev/sda7 /mnt/home&lt;br /&gt;
#arch-chroot /mnt&lt;br /&gt;
# hacer lo que quiero hacer&amp;nbsp; y no puedo porque esta roto.&lt;br /&gt;
#mkinitcpio -p linux&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;agregar gpg key externa&lt;/b&gt; (spotify por ejemplo)&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;curl -sS https://download.spotify.com/debian/pubkey.gpg | gpg --import -&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Problemas con el grub o generar de nuevo el grubfile (groot)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
grub-mkconfig -o &amp;gt;&amp;gt; /boot/grubfile.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Eliminar paquete (este lo aprendi pero igual lo agrego.)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Pacman -Rsnc &lt;package&gt;&lt;/package&gt;&lt;br /&gt;
&lt;br /&gt;
Pacman -Rd --no-deps &lt;package&gt;&lt;/package&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Temas con monitor que reconozca el monitor hdmi/vga o cosas con los monitores (no lo he usado en mucho tiempo.. ya todo lo reconoce y ajusta bien)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
xrandr --output vga-1 --mode 1920x1080&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Con este post-it me siento como mi mamá&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A veces sin intención presiono la funcion de bloqueo de la tecla fn, entonces mi teclado cambia y donde tenía letras ahora solo tengo números, es algo que algunas&amp;nbsp; notebooks tiene como un feature yo no se si estoy de acuerdo como algo positivo, lo cierto es que consegui como desactivarlo.&lt;br /&gt;
&lt;br /&gt;
Presionar simultaneamente.&lt;br /&gt;
&lt;br /&gt;
Fn + Bloq Num&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hazelcast&lt;/b&gt;&lt;br /&gt;
Java.util.Map =&amp;gt; core.IMap (hazelcast) esto lo tenia anotado porque aún estoy aprendiendo de este tema, y es más fácil relacionarlos.&lt;br /&gt;
&lt;br /&gt;
Y eso es todo por ahora esto solo va a tener el tag de linux y postit o post-it&lt;br /&gt;
para seguirlos llenando.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/4247684360295543149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/este-post-va-crear-un-nuevo-tag-en-este.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/4247684360295543149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/4247684360295543149'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/05/este-post-va-crear-un-nuevo-tag-en-este.html' title='Post-its'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVX55edVXtkHv5nU3baI8V7i3OKxJ5FG-p5k5bD2WWJLFOdz3TwX5mYlHFBtjK65frReHZ2aMoJ3sYh4OpRYHGC7P8GyxtMx9QZeWdrEhuJLkvlGfGCgaWrE3fas_bu2ncBkQNrWSblBQ/s72-c/DSC_0103.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-1291339387941819816</id><published>2020-01-05T20:44:00.001-04:00</published><updated>2020-01-05T20:44:46.215-04:00</updated><title type='text'>Numbers</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Este libro lo consegui creo que por twitter lo lei y me gustó mucho el enfoque diferente para enseñar matemáticas básicas, creo que lo que más me gusto es su forma cercana de redactar y la forma de mostrar diferentes enfoques para analizar un problema.&lt;br /&gt;
&lt;br /&gt;
Me encanto la parte cercana donde muestra el interes y lo explican de forma entendible, es genial que los chicos lean&amp;nbsp; o se les acerque esta información, y tengan concienca de que es un interes,&amp;nbsp; ahorros, conversion de velocidad de descarga y llevar estos conceptos básicos a situaciones reales.&lt;br /&gt;
&lt;br /&gt;
:D&lt;br /&gt;
&lt;br /&gt;
Lo trate de buscar en amazon pero no lo conseguí lo agrego acá en este enlace:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://filebin.net/q99pnqouoing69nh&quot;&gt;https://filebin.net/q99pnqouoing69nh&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
esto expira, si no lo consiguen avisenme por twitter, y les paso el archivo por ahí.&lt;br /&gt;
&lt;br /&gt;
Sólo conseguí referencias al actor de inside 9, que entiendo tiene el mismo nombre.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/1291339387941819816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/01/numbers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1291339387941819816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/1291339387941819816'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/01/numbers.html' title='Numbers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-702606063885045336</id><published>2020-01-05T17:47:00.001-04:00</published><updated>2020-01-05T17:47:19.139-04:00</updated><title type='text'>Cosas que quiero regalar y no se como</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYCo3d4nU-jJeCud2av9EfN6qABtWgl1GffqsE1qakvdnM3tkRt5xL1wrLCYMTCkP4RJH1bJzZHmiPf_mAeRBnBTiBbC5OVCl0cDaZWPe429n8HiWEcUYrIFeVaQOH4AUHwFvj2wrKMCo/s1600/DSC_1298.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYCo3d4nU-jJeCud2av9EfN6qABtWgl1GffqsE1qakvdnM3tkRt5xL1wrLCYMTCkP4RJH1bJzZHmiPf_mAeRBnBTiBbC5OVCl0cDaZWPe429n8HiWEcUYrIFeVaQOH4AUHwFvj2wrKMCo/s320/DSC_1298.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwDBtRv6mdCRvFPHsb4My6gMzrsU3B_vSPyRWd6AIX8CCCZtVWxBx9NEW-Dfmt114Y81XGPpPuLNih2qIZGFClYPKC15laprk_OKD4oD8t4bqA-ZdTvRdNYha03hR_wbAWoSERmTUNNm0/s1600/DSC_1305.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwDBtRv6mdCRvFPHsb4My6gMzrsU3B_vSPyRWd6AIX8CCCZtVWxBx9NEW-Dfmt114Y81XGPpPuLNih2qIZGFClYPKC15laprk_OKD4oD8t4bqA-ZdTvRdNYha03hR_wbAWoSERmTUNNm0/s320/DSC_1305.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJUeiIr_Fr5fIDEDXwsYeyaLAf3t1C3ZGuMEQ3Eg8QPwkSM-QzuQyk2RAUJKTKnkZpYCRQwwsGmwaexnNta0EW_y8_x9O9c0gF6eXPNgtenwHgGLZ8XySXAYm_0gKlCnrm0eh49fdwlw/s1600/DSC_1309.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJUeiIr_Fr5fIDEDXwsYeyaLAf3t1C3ZGuMEQ3Eg8QPwkSM-QzuQyk2RAUJKTKnkZpYCRQwwsGmwaexnNta0EW_y8_x9O9c0gF6eXPNgtenwHgGLZ8XySXAYm_0gKlCnrm0eh49fdwlw/s320/DSC_1309.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkL7b285WRBxIelSvtEyfIccSsk91ZT3JFan5crftwEy0Z3SnTJJa7QnY3G_i97fabVl6js8T5IPNzh7DqsCfl9BGUZkl51Tm2D-mnNuWXlXux-3Wo84C9CCAiyhtraM03NGsPW9ulE0k/s1600/DSC_1310.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkL7b285WRBxIelSvtEyfIccSsk91ZT3JFan5crftwEy0Z3SnTJJa7QnY3G_i97fabVl6js8T5IPNzh7DqsCfl9BGUZkl51Tm2D-mnNuWXlXux-3Wo84C9CCAiyhtraM03NGsPW9ulE0k/s320/DSC_1310.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsgc8bv490h_JVONaHoVGuo1llQgXfk4RGsw5TTznMRzt2ihWfG01_bwG2k8DKEGVjQQePLYwQwXi9ypw-ITDuUu3naN3EjBysiQ9MB_ky6QTCiwKR1Cjjd1aeSH4Z5_k3xbNeNwt63aE/s1600/DSC_1311.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsgc8bv490h_JVONaHoVGuo1llQgXfk4RGsw5TTznMRzt2ihWfG01_bwG2k8DKEGVjQQePLYwQwXi9ypw-ITDuUu3naN3EjBysiQ9MB_ky6QTCiwKR1Cjjd1aeSH4Z5_k3xbNeNwt63aE/s320/DSC_1311.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf5JSS65TU9hqisbBDv9w26u0qC187ewOJvo-Lq2Z00Szi1VXzUxhVth1s1v5ukIdoRXnFCumBXyvg9QWfA5FGFUKBpfcMWwNCpMkYjnoxjyLm6nyYyvfJxTjgUo9HOse3q4Oc0YTqRgQ/s1600/DSC_1312.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf5JSS65TU9hqisbBDv9w26u0qC187ewOJvo-Lq2Z00Szi1VXzUxhVth1s1v5ukIdoRXnFCumBXyvg9QWfA5FGFUKBpfcMWwNCpMkYjnoxjyLm6nyYyvfJxTjgUo9HOse3q4Oc0YTqRgQ/s320/DSC_1312.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkPpJkVMLK02mA2yK-KPwytNKjSjW1vS5gQa9P-mW5QT9b0eiDqmcBzWmYrBduWW2Kj0oclSzAppl9X-z41udru_gMyHV5MaAJV0C07Tzt75xGg0pJAaOxfK5DAxPAjyKAi4dBFx62h14/s1600/DSC_1313.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1200&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkPpJkVMLK02mA2yK-KPwytNKjSjW1vS5gQa9P-mW5QT9b0eiDqmcBzWmYrBduWW2Kj0oclSzAppl9X-z41udru_gMyHV5MaAJV0C07Tzt75xGg0pJAaOxfK5DAxPAjyKAi4dBFx62h14/s320/DSC_1313.JPG&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/702606063885045336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/01/cosas-que-quiero-regalar-y-no-se-como.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/702606063885045336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/702606063885045336'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2020/01/cosas-que-quiero-regalar-y-no-se-como.html' title='Cosas que quiero regalar y no se como'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYCo3d4nU-jJeCud2av9EfN6qABtWgl1GffqsE1qakvdnM3tkRt5xL1wrLCYMTCkP4RJH1bJzZHmiPf_mAeRBnBTiBbC5OVCl0cDaZWPe429n8HiWEcUYrIFeVaQOH4AUHwFvj2wrKMCo/s72-c/DSC_1298.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-7099085771174061652</id><published>2019-12-30T17:33:00.002-04:00</published><updated>2019-12-30T17:40:34.536-04:00</updated><title type='text'>4 tools useful to everyday in js</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMuFVwaamyiLmBK9gJQHBeJLVyaKFglje_kuYSNHvE8wbITBaZ6WJOxMI_z8gFGDuM5ukT7bNtMF4mrpomYNiZyeICB3TVZ_6nsAk-uYuTm6I2-sp6J_tU8p9Eb225g-7-3J38_VNYvS4/s1600/DSC_0032.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;900&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMuFVwaamyiLmBK9gJQHBeJLVyaKFglje_kuYSNHvE8wbITBaZ6WJOxMI_z8gFGDuM5ukT7bNtMF4mrpomYNiZyeICB3TVZ_6nsAk-uYuTm6I2-sp6J_tU8p9Eb225g-7-3J38_VNYvS4/s320/DSC_0032.JPG&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;01 NVM:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NVM is the acronym for &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Node Version Manager&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, which is a command-line tool that lets you install and use many Node.js versions and NPM on your computer. It is a dev tool, so I don&#39;t recommend using it in production environments. NVM works fine in Linux and Mac. You can also check the documentation here: &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://github.com/nvm-sh/nvm&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNE2DEeTRaMbofbjZT4IM34lg_HXrg&quot; href=&quot;https://github.com/nvm-sh/nvm&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://github.com/nvm-sh/nvm&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;When &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;is it useful to use &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NVM?&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;* &amp;nbsp; In teams where we have different operating systems.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;* &amp;nbsp; When we have to test new things, for example, the testing version for Node.js.&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;*&amp;nbsp; When we have many projects with different versions, and you cannot update Node.js and you have to maintain two or more node js versions in many projects, so is a way to tidy up the dev environment, switching between Node.js versions.&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NVM: Installation&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Mac:&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;You can use homebrew. If you don’t know how to install it, you could check here it (&lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://brew.sh/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNF9OCfZ10vRc0porelyA-aBB2DvqA&quot; href=&quot;https://brew.sh/&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://brew.sh/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;) and that’s all.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;brew install nvm&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; $(brew --prefix nvm)/nvm.sh&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;echo&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&#39;source $(brew --prefix nvm)/nvm.sh&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &amp;gt;&amp;gt; ~/.profile&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Linux:&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;curl -o- &lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNGlugEpk8xN33sXn8UXbWxAf0KEVw&quot; href=&quot;https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;https://raw.githubusercontent.&lt;wbr&gt;&lt;/wbr&gt;com/nvm-sh/nvm/v0.34.0/&lt;wbr&gt;&lt;/wbr&gt;install.sh&lt;/a&gt; | bash&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;The line before will have an output such as this:&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Downloading nvm from git to &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&#39;/home/jennifer/.nvm&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Cloning into &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&#39;/home/jennifer/.nvm&#39;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;...&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;remote: Enumerating objects: 278, &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;remote: Counting objects: 100% (278/278), &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;remote: Compressing objects: 100% (249/249), &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Receiving objects: 100% (278/278), 142.36 KiB | 0 bytes/s, &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Resolving deltas: 100% (33/33), &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Checking connectivity... &lt;/span&gt;&lt;span style=&quot;color: #fcc28c; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;done&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Compressing and cleaning up git repository&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Appending nvm &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; string to /home/jennifer/.bashrc&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Appending bash_completion &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; string to /home/jennifer/.bashrc&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;=&amp;gt; Close and reopen your terminal to start using nvm or run the following to use it now:&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; NVM_DIR=&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$HOME&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/.nvm&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;# This loads nvm&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/bash_completion&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/bash_completion&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;# This loads nvm bash_completion&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Make sure that these lines below are in your ~/.bashrc or ~/.zshrc:&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;export&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; NVM_DIR=&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$([ -z &quot;${XDG_CONFIG_HOME-}&quot; ] &amp;amp;&amp;amp; printf %s &quot;${HOME}/.nvm&quot; || printf %s &quot;${XDG_CONFIG_HOME}/nvm&quot;)&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;[ -s &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; ] &amp;amp;&amp;amp; \. &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$NVM_DIR&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/nvm.sh&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;# This loads nvm&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify; text-indent: 36pt;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;My personal desktop runs over Arch Linux,&amp;nbsp; so I used an aur package, for example &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://aur.archlinux.org/packages/nvm/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNHUvMmMEAQVcKTVmSyVolOO1cvd3Q&quot; href=&quot;https://aur.archlinux.org/packages/nvm/&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #047ac6; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://aur.archlinux.org/&lt;wbr&gt;&lt;/wbr&gt;packages/&lt;/span&gt;&lt;span style=&quot;background-color: #c9f2d0; color: #047ac6; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #047ac6; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;. I downloaded the snapshot file and uncompressed the tar.gz file.&amp;nbsp; Also, you could use the same installation explained before or these lines for installing &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 10pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$ &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;cd&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; nvm&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$ makepkg&amp;nbsp; -s  &lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;#this will generate an Arch Linux package (nvm.tar.xz).&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$ ls -l nvm.tar.xz&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$ pacman -U nvm.tar.xz&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NVM Usage:&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm list : &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;List all versions installed on your machine&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ nvm list&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;-&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; system&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;iojs -&amp;gt; N/A (default)&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;node -&amp;gt; stable (-&amp;gt; N/A) (default)&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;unstable -&amp;gt; N/A (default)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;NVM install:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; Install a local version on your machine from the remote list. The remote list could be filtered by another command like: nvm ls-remote &lt;versionlike&gt;&amp;nbsp; for example “&lt;/versionlike&gt;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm ls-remote v11”&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; lists all versions that have v11 as prefix.&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~  nvm install v10.15.3 &lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Downloading and installing node v10.15.3...&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Downloading &lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz.&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNEbJNj8ZVlhzQmzDmmpt5SgA6ZCTA&quot; href=&quot;https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.xz.&quot; style=&quot;color: #1155cc;&quot; target=&quot;_blank&quot;&gt;https://nodejs.org/dist/v10.&lt;wbr&gt;&lt;/wbr&gt;15.3/node-v10.15.3-linux-x64.&lt;wbr&gt;&lt;/wbr&gt;tar.xz.&lt;/a&gt;..&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;##############################&lt;wbr&gt;&lt;/wbr&gt;##############################&lt;wbr&gt;&lt;/wbr&gt;############ 100,0%&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Computing checksum with sha256sum&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Checksums matched!&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Now using node v10.15.3 (npm v6.4.1)&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Creating default &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;alias&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;: default -&amp;gt; v10.15.3&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm use:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; set in the current terminal the environments variables so all command executed related to Node.js will use the version defined by NVM.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ nvm use v10.15.3&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Now using node v10.15.3 (npm v6.4.1)&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;nvm which:&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; show the path to the Node.js bin file.&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;➜&amp;nbsp; ~ nvm &lt;/span&gt;&lt;span style=&quot;color: #ffffaa; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;which&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; v10.15.3&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 8pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;/home/jennifer/.nvm/versions/&lt;wbr&gt;&lt;/wbr&gt;node/v10.15.3/bin/node&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;02 Docker container with node js/ angular-cli:&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Hub docker contains a thousand images that you could use in your daily tasks at work, in a simple search you could see (&lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://hub.docker.com/search?q%3Dangular-cli%26type%3Dimage&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNHOv2vASgfnFQY7XeIMfnX6Vfpqgw&quot; href=&quot;https://hub.docker.com/search?q=angular-cli&amp;amp;type=image&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://hub.docker.com/&lt;wbr&gt;&lt;/wbr&gt;search?q=angular-cli&amp;amp;type=&lt;wbr&gt;&lt;/wbr&gt;image&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;About 1 - 25 of 492 results for angular-cli.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Here is my recommendation to use it in a local environment for a development process: &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://hub.docker.com/r/trion/ng-cli/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNEb8idptO0k7Dt2hHqrSt5FCJos6A&quot; href=&quot;https://hub.docker.com/r/trion/ng-cli/&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://hub.docker.com/r/&lt;wbr&gt;&lt;/wbr&gt;trion/ng-cli/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;docker pull trion/ng-cli&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 1.8; margin-bottom: 4pt; margin-top: 16pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #434343; font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;When node_modules directory already was generated.&lt;/span&gt;&lt;/h3&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;:/app trion/ng-cli&amp;nbsp; ng serve --host 0.0.0.0 --disableHostCheck&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In this way, you need node_modules directory inside the directory defined in $PWD variable.&lt;/span&gt;&lt;/div&gt;
&lt;h3 dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #434343; font-family: &amp;quot;arial&amp;quot;; font-size: 14pt; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;When a node_modules directory is not generated. &lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 12pt; font-weight: 400; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;And that’s all.&lt;/span&gt;&lt;/h3&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;arial&amp;quot;; font-size: 11pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;first&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;:/app trion/ng-cli npm install&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;later:&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;docker run -u $(id -u) --rm -p 4200:4200 -v &lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #ade5fc; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$PWD&lt;/span&gt;&lt;span style=&quot;color: #a2fca2; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;:/app trion/ng-cli&amp;nbsp; ng serve --host 0.0.0.0 --disableHostCheck&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;03 Dotenv using a .env file with and avoid versioning&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Dotenv is useful to keep tidy up the code, avoid magic number, avoid push any secret key to the repo and it is a relief for many environments. With this, you can run your app anywhere by modifying the environment variables without changing your code and without rebuilding it!&lt;/span&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;background-color: #333333; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;color: white; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;npm install dotenv&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Later, create the .&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;env&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; file in the root of your app and add your variables and values to it. Don’t forget to add this file to .gitignore to avoid committing it.&lt;/span&gt;&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 468pt;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0); border-style: solid; border-width: 1pt; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.env &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;PORT=55555&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small;&quot; /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none;&quot;&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;br /&gt;
&lt;div align=&quot;left&quot; dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;
&lt;table style=&quot;border-collapse: collapse; border: none; table-layout: fixed; width: 794.545px;&quot;&gt;&lt;colgroup&gt;&lt;col&gt;&lt;/col&gt;&lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 0pt;&quot;&gt;&lt;td style=&quot;border-color: rgb(0, 0, 0); border-style: solid; border-width: 1pt; margin: 0px; overflow: hidden; padding: 5pt; vertical-align: top;&quot;&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Server.js&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;const dotenv = require(&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&#39;dotenv&#39;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;dotenv.config();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;console.log(`Your port is &lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;${process.env.PORT}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;consolas&amp;quot; , sans-serif; font-size: 12pt; font-style: italic; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;`);&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;4 Cloud solutions:&lt;/span&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: white; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: small; line-height: 1.8; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;For each project, you could use one of these, sometimes I have to share code with a friend or when I have a doubt, and I need to ask something with a context code, it’s the best way to show when you are remote, for example for an angular-cli project there is no doubt that the best is&amp;nbsp; &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://stackblitz.com/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNFdSo23w346kONrlriBXG_zydWOPA&quot; href=&quot;https://stackblitz.com/&quot; style=&quot;color: #1155cc; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://stackblitz.com/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;background-color: transparent; color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; has a better integration with angular and let you download the project in a zip file, also is recommended by @angular documentation.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #383838; font-family: &amp;quot;proxima nova&amp;quot; , sans-serif; font-size: 12pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Also for Js, HTML, and CSS, and tiny projects you could use &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://jsfiddle.net/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNEKfIFOh6C1dhfs9e4ky5Pm85objA&quot; href=&quot;https://jsfiddle.net/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://jsfiddle.net/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;, &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://codepen.io/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNFtWdBOxeJS9QMxyC7uSAb1zfwTWg&quot; href=&quot;https://codepen.io/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; font-weight: 700; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://codepen.io/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.&amp;nbsp; In the last one, there are many web artists and you could make you own portfolio to share it.&amp;nbsp; And From Red Hat, we have &lt;/span&gt;&lt;a data-saferedirecturl=&quot;https://www.google.com/url?q=https://codenvy.com/&amp;amp;source=gmail&amp;amp;ust=1577827929877000&amp;amp;usg=AFQjCNF9eaoE1RSSDPfpqnDWsyKEff4R9A&quot; href=&quot;https://codenvy.com/&quot; style=&quot;background-color: white; color: #1155cc; font-family: Arial, Helvetica, sans-serif; font-size: small; text-decoration-line: none;&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;background-color: transparent; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;https://codenvy.com/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: #383838; font-family: &amp;quot;roboto&amp;quot; , sans-serif; font-size: 10.5pt; vertical-align: baseline; white-space: pre-wrap;&quot;&gt; has a free subscription with limitations, but it’s ok for prototyping things&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/7099085771174061652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/12/4-tools-useful-to-every-day-in-js.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7099085771174061652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7099085771174061652'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/12/4-tools-useful-to-every-day-in-js.html' title='4 tools useful to everyday in js'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMuFVwaamyiLmBK9gJQHBeJLVyaKFglje_kuYSNHvE8wbITBaZ6WJOxMI_z8gFGDuM5ukT7bNtMF4mrpomYNiZyeICB3TVZ_6nsAk-uYuTm6I2-sp6J_tU8p9Eb225g-7-3J38_VNYvS4/s72-c/DSC_0032.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-9030502181165010542</id><published>2019-08-25T23:18:00.002-04:00</published><updated>2019-08-25T23:23:49.179-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="pendrive"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>pendrives y misceláneos</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisLGJlPuTw6uDh4rvOtKv3RBVo6FPz7OmNpy0f4M9v2IZgoZ8W7Oe53nbUWvgcqylNNibrfi5NzC5MM0s3Y1CPOTS7AYbcu0Okab9slZtc1pzQxfDKnQDyAj3RSPttptPApdOX33D9-h8/s1600/2017-08-14+18.16.33.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;1484&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisLGJlPuTw6uDh4rvOtKv3RBVo6FPz7OmNpy0f4M9v2IZgoZ8W7Oe53nbUWvgcqylNNibrfi5NzC5MM0s3Y1CPOTS7AYbcu0Okab9slZtc1pzQxfDKnQDyAj3RSPttptPApdOX33D9-h8/s320/2017-08-14+18.16.33.jpg&quot; width=&quot;296&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Este es un post que comencé hace muchos muchos años y cada cierto tiempo agrego cosas para no olvidarme, y me causó gracia al leerlo, ya que hubo una época había un marketing de un pendrive con U3, que venía a ser una especie de partición con aplicaciones ejecutables portables que sólo funcionaban en windows, y luego mutó en algo llamado start key.&lt;/div&gt;
&lt;br /&gt;
más info:&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/U3_(software)&quot;&gt;https://en.wikipedia.org/wiki/U3_(software)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Por suerte ya no existe más jaja, pero el uso de un pendrive aún se sigue manteniendo para ciertas cosas como instalar un SO, o tener apps portables, tanto como linux como windows en el día a día de alguien de soporte siempre se genera un pendrive que sea booteable para instalar X sistema operativo.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
Acá algunas formas de hacer este pendrive booteable para instalar el SO.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Grabar una imagen ISO en un pendrive (desde esa época no ha cambiado nada si y sólo si el pendrive es para bootear un linux y windows de los viejitos).&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
dd if=sabayon-x86.iso  of=/dev/sdX&lt;br /&gt;
&lt;br /&gt;
donde X es la unidad física, pendrive. no debe estar particionado.&lt;br /&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;dd if=sabayon-x86.iso of=/dev/sdb&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;b&gt;Grabar una imagen ISO en un pendrive con U3.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;necesito descargar la imagen ISO. solo funciona en windows.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;y una aplicación que se llama: Universal U3 Customizer. link:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;&lt;br /&gt;http://www.mediafire.com/?ozm5y2utare&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;La imagen ISO a instalar la tengo que renonbrar&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;U3CUSTOM.ISO y dejarla en&lt;/span&gt;&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;el directorio BIN del software U3C.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;luego ejecutamos U3C.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;y listo reboot&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;display: block; overflow: hidden; width: 735px;&quot;&gt;Por suerte ya no se usa más y no te venden pendrives más costosos por este tipo de filosofía&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
Que ha pasado en estos años... (UEFI... cof cof) hace tiempo que no instalaba en una notebook windows, el último que instalé fue win7 o el anterior, pero han cambiado un poco las cosas, tuve líos al intentar instalar windows10 (haciendo soporte técnico familiar) con un pendrive generado desde linux, excepto por esta herramienta:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Grabar un ISO windows10 con woeusb&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Tiene una interfaz gráfica pero puedes no usarla, realmente es bastante simple la herramienta y funcionó a la primera lo probé en ubuntu 18.10 y en archlinux con un paquete de aur (&lt;a href=&quot;https://aur.archlinux.org/packages/woeusb/&quot;&gt;https://aur.archlinux.org/packages/woeusb/&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://github.com/slacka/WoeUSB&quot;&gt;https://github.com/slacka/WoeUSB&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
En el README pueden encontrar otros repositorios para otras distribuciones&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
básicamente la línea de la terminal es:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
woeusb -v --device /home/j3nnn1/en_windows_7_ultimate_x86_dvd_x15-65921.iso /dev/sdb&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
-v =&amp;gt; modo verbose&lt;/div&gt;
&lt;div&gt;
--device =&amp;gt; el modo de hacer el pendrive si usa todo el almacenamiento o si usa una partición en su lugar se coloca --partition&lt;/div&gt;
&lt;div&gt;
imagen_de_origen.iso&lt;/div&gt;
&lt;div&gt;
y la ruta destino es decir en la ruta /dev del dispositivo.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;gracias woeusb&lt;/b&gt; hizo mi fin de semana.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;y Bueno ahora para quien está desde windows puede usar algo llamado rufus&lt;/b&gt;, como es windows es click, click, siguiente, siguiente y para más información pueden visitar:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://rufus.ie/&quot;&gt;https://rufus.ie/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
PD: la fotito es mi querida ona, hace unos años ♥ como cambian... como crecen...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/9030502181165010542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/08/pendrives-y-miscelaneos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/9030502181165010542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/9030502181165010542'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/08/pendrives-y-miscelaneos.html' title='pendrives y misceláneos'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisLGJlPuTw6uDh4rvOtKv3RBVo6FPz7OmNpy0f4M9v2IZgoZ8W7Oe53nbUWvgcqylNNibrfi5NzC5MM0s3Y1CPOTS7AYbcu0Okab9slZtc1pzQxfDKnQDyAj3RSPttptPApdOX33D9-h8/s72-c/2017-08-14+18.16.33.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-7493876938163791537</id><published>2019-06-10T22:56:00.002-04:00</published><updated>2019-12-30T19:40:41.412-04:00</updated><title type='text'>SMB archlinux/ubuntu (SAMBA PA TI)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbdz9TlN4Xth8HP6XkopZgGKY80JAEDtvDf-sWN4KAms77e_fNzfglQWF1kj16dPm7EbLpJAMpq-NuXKR2hznJqN6rG3IRYWymeEKy5Y0HHVc2b95klnMPfVgTqz_UtZIndyyRsNi0kI/s1600/2017-08-16+13.46.27-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;1600&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbdz9TlN4Xth8HP6XkopZgGKY80JAEDtvDf-sWN4KAms77e_fNzfglQWF1kj16dPm7EbLpJAMpq-NuXKR2hznJqN6rG3IRYWymeEKy5Y0HHVc2b95klnMPfVgTqz_UtZIndyyRsNi0kI/s320/2017-08-16+13.46.27-1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
0 - paquetes instalados.&lt;br /&gt;
extra/samba 4.10.10-2 [installed]&lt;br /&gt;
extra/smbclient 4.10.10-2 [installed]&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;highlight&quot;&gt;1 -comprobar que el servidor samba este arriba (&lt;/span&gt;&lt;span class=&quot;highlight&quot;&gt;smb&lt;/span&gt;.service y nmb.service)&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;systemctl status smb.service&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
puede salir algo así eso nos dice que está detenido el servidor:&lt;br /&gt;
&lt;br /&gt;
* smb.service - Samba SMB Daemon&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Active: &lt;b&gt;inactive (dead)&lt;/b&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Docs: man:smbd(8)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;man:samba(7)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;man:smb.conf(5)&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;i&gt;systemctl status nmb.service &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
puede no iniciar si no localiza el archivo /etc/samba/smb.conf, para esto cree un directorio en /media/misperoles/nas_winterfell&lt;br /&gt;
&lt;br /&gt;
si sale OK, UP, o running ya esta instalado. Revisar la configuración con un cliente de samba:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;smbclient -L localhost&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;consulta por nombre de la red.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;nmblookup WINTERFELL&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
1- Agregar el usuario al grupo de sambashare, en el caso de ubuntu mint al instalarlo ya lo agregaba al grupo, en caso de duda verificar en el archivo:&lt;br /&gt;
&lt;br /&gt;
# cat /etc/group | grep sambashare&lt;br /&gt;
&lt;br /&gt;
sino agregarlo asi&lt;br /&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;# gpasswd sambashare -a &lt;em&gt;your_username&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt; &lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;2- en el caso de arch, samba requiere que se agregue el usuario creado&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;y que pertenece al grupo samba share. se agrega asi:&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;
&lt;/em&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;pre&gt;# smbpasswd -a &lt;em&gt;samba_user&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;en el caso de ubuntu ya lo hace is magic!&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;3- por ultimo agregar los permisos del directorio compartido&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;en:&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;/etc/samba/&lt;span class=&quot;highlight&quot;&gt;&lt;/span&gt;&lt;span class=&quot;highlight&quot;&gt;smb&lt;/span&gt;.conf&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;algo asi al final del archivo:&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;/etc/samba/&lt;span class=&quot;highlight&quot;&gt;smb&lt;/span&gt;.conf
[media]
&amp;nbsp; comment = Media share accessible by greg and pcusers
&amp;nbsp; path = /media/nas
&amp;nbsp; public = yes
&amp;nbsp; writable = yes
&amp;nbsp; browseable = yes
&amp;nbsp; create mask = 0664
&amp;nbsp; directory mask = 2775
&amp;nbsp; force create mode = 0664
&amp;nbsp; force directory mode = 2775&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;esto es publico compartido sin contrasenia.&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;Para configuración con contraseña y usuario:&lt;/pre&gt;
&lt;pre&gt;
&lt;/pre&gt;
&lt;pre&gt;[archivos]
path = /media/misperoles/nas_winterfell
comment = take a look and save your files here!
public = yes
browseable = yes
guest ok = yes
writable = yes
available = yes
valid users = j3nnn1
create mask = 0664
directory mask = 2775
force create mode = 0664
force directory mode = 2775
&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&lt;b&gt;los permisos en el directorio compartido es importante, en la nueva instalación que hice&lt;/b&gt;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&lt;b&gt;deje chmod 744 sino devuelve error de restriccion por el administrador.&lt;/b&gt;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&lt;b&gt;
&lt;/b&gt;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;Los paquetes en ubuntu son similares los nombres.&lt;/pre&gt;
&lt;pre&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;PD: teclado en ingles me comi algunos acentos.&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;PD: siempre que pienso en samba, me recuerdo a esta cancion&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;https://www.youtube.com/watch?v=j5AUm_xaE9A (Samba pa ti / santana)&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;chau &lt;/em&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;pre&gt;&lt;em&gt;&lt;/em&gt;&lt;/pre&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/7493876938163791537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/06/smb-archlinuxubuntu-samba-pa-ti.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7493876938163791537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/7493876938163791537'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/06/smb-archlinuxubuntu-samba-pa-ti.html' title='SMB archlinux/ubuntu (SAMBA PA TI)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbdz9TlN4Xth8HP6XkopZgGKY80JAEDtvDf-sWN4KAms77e_fNzfglQWF1kj16dPm7EbLpJAMpq-NuXKR2hznJqN6rG3IRYWymeEKy5Y0HHVc2b95klnMPfVgTqz_UtZIndyyRsNi0kI/s72-c/2017-08-16+13.46.27-1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3974829641887216945.post-5985677482356203359</id><published>2019-05-03T00:48:00.001-04:00</published><updated>2019-05-03T00:49:23.917-04:00</updated><title type='text'>FliSol 2019</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Este año se realizó el flisol en el centro cultural San Martín en la 
ciudad de Buenos Aires, estuvo muy bueno lleno de actividades, y lo más 
importante de muchas instalaciones, de mi parte solo pude hacer dos 
instalaciones, hace un tiempo que no uso Windows y me olvidé de las 
mañas con las que venía, tarde un montón pero me divertí.&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
Estuvieron
 los chicxs de Pvm y code live como una guerra de djs, jajaja mentira 
esto último no fue así.&amp;nbsp; En dos espacios de tiempo cada grupo se 
destacó&amp;nbsp; con música alternativa. (no le pregunten a papo)&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
En
 una de las instalaciones alguien me planteó la pregunta porque ayudaba 
en las instalaciones, y al final quede pensativa, de verdad que buena 
pregunta, lo cierto es que hace un tiempo siempre sacaba un poquito de 
espacio para participar y ayudar en esto porque veo importante&amp;nbsp; tener 
alguien a quien preguntar sobre Linux indistinto de la distribución, 
escuchar charlas o talleres de alguna tecnología, o diversos tópicos, 
reunirse con amigos.&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
Me gusta hacer esto porque es un evento que ofrece una alternativa.&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
Nos vemos el próximo flisol.&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;img alt=&quot;🤗&quot; data-goomoji=&quot;1f917&quot; data-image-whitelisted=&quot;&quot; src=&quot;https://mail.google.com/mail/e/1f917&quot; style=&quot;margin: 0 0.2ex; max-height: 24px; vertical-align: middle;&quot; /&gt; Abrazo!&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;auto&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;auto&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Fotos sacadas de twitter, :D así que deben ser públicas.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgjJQYebBnfhA65Rz8MFzjT22FFQ9K4PRBH1rkBYXl3rWma0lVPVfkC6nyaJcUvavFhlvYlOOFniqZn42lcmQWHsPCSocTzqGjhFie6HuPTQ6g99dDfzqnSaAGD3FMLYLTX0Na8UuBhY/s1600/DSC_0001_BURST20190427171729643.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;900&quot; data-original-width=&quot;1600&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgjJQYebBnfhA65Rz8MFzjT22FFQ9K4PRBH1rkBYXl3rWma0lVPVfkC6nyaJcUvavFhlvYlOOFniqZn42lcmQWHsPCSocTzqGjhFie6HuPTQ6g99dDfzqnSaAGD3FMLYLTX0Na8UuBhY/s320/DSC_0001_BURST20190427171729643.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdVk4ndBI_G5fYh9nvJ4cl1jzvNNsclf4DsaXaoWsXekuo6Mvifc7DcIdPAbfF_hhusk1MEmj2P6BUpd5a8wHcmz0UbODhflo6LMHrwRG_hKCNCqOrB_canOMCmhJ4axHYLr1tuhk3mv4/s1600/DSC_0946.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1600&quot; data-original-width=&quot;900&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdVk4ndBI_G5fYh9nvJ4cl1jzvNNsclf4DsaXaoWsXekuo6Mvifc7DcIdPAbfF_hhusk1MEmj2P6BUpd5a8wHcmz0UbODhflo6LMHrwRG_hKCNCqOrB_canOMCmhJ4axHYLr1tuhk3mv4/s320/DSC_0946.JPG&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
DDD
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlW8mc04-ZNDQtJNcBadqp-ZeFpPMyxvHYROYEYlP5gZstUfyPMIZKB6KX30eE9VC_gZ0jpRt1AL6Ca4hnI0i5cOvhuY9vcKlr0Arb1EUtFUsNg6PV9Rh1_46g52xdoMx1Dk-kGbkZ5i0/s1600/IMG_20190428_005901.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1200&quot; data-original-width=&quot;1600&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlW8mc04-ZNDQtJNcBadqp-ZeFpPMyxvHYROYEYlP5gZstUfyPMIZKB6KX30eE9VC_gZ0jpRt1AL6Ca4hnI0i5cOvhuY9vcKlr0Arb1EUtFUsNg6PV9Rh1_46g52xdoMx1Dk-kGbkZ5i0/s320/IMG_20190428_005901.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://bitacoraencapsulas.blogspot.com/feeds/5985677482356203359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/05/flisol-2019.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5985677482356203359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3974829641887216945/posts/default/5985677482356203359'/><link rel='alternate' type='text/html' href='http://bitacoraencapsulas.blogspot.com/2019/05/flisol-2019.html' title='FliSol 2019'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVgjJQYebBnfhA65Rz8MFzjT22FFQ9K4PRBH1rkBYXl3rWma0lVPVfkC6nyaJcUvavFhlvYlOOFniqZn42lcmQWHsPCSocTzqGjhFie6HuPTQ6g99dDfzqnSaAGD3FMLYLTX0Na8UuBhY/s72-c/DSC_0001_BURST20190427171729643.JPG" height="72" width="72"/><thr:total>0</thr:total></entry></feed>