<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alen</title>
    <description>The latest articles on DEV Community by Alen (@orbjet).</description>
    <link>https://dev.to/orbjet</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F257982%2Fb0a8b625-61db-40be-8ff0-8573b3720316.jpg</url>
      <title>DEV Community: Alen</title>
      <link>https://dev.to/orbjet</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/orbjet"/>
    <language>en</language>
    <item>
      <title>Dvorak, more than a week</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Wed, 26 Aug 2020 18:59:39 +0000</pubDate>
      <link>https://dev.to/orbjet/dvorak-more-than-a-week-31ef</link>
      <guid>https://dev.to/orbjet/dvorak-more-than-a-week-31ef</guid>
      <description>&lt;p&gt;Original post: &lt;a href="https://www.orbjet.org/post/2020-08-26/dvorak-more-than-a-week/"&gt;orbjet.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After getting proficient with the Colemak layout I got somewhat disappointed in what it promised to deliver. The finger-rolling magic wears off as soon as you move away from the English language and I was hoping it would transition well into other typing variants (Swedish, Italian…). &lt;/p&gt;

&lt;p&gt;That being said, it was yet again that my curiosity got the best of me as I wasn’t ready to go back to the old querty layout. So, I took a look at the next alternative layout I had in the list (and it was either Colemak or Dvorak to begin with).&lt;/p&gt;

&lt;p&gt;It’s important to note that Dvorak is also primarily aimed for the English language but the alternating way of typing makes it pleasant to use with other languages too, as all vowels are located on the left side of the keyboard (aoeui).&lt;/p&gt;

&lt;p&gt;Ok, that all sounds great but what about getting good at typing in Dvorak? The learning curve follows the same process I had with Colemak (read about that in a previous post). The only difference I noticed was that I was slightly faster and less prone to errors compared to the aforementioned layout.&lt;/p&gt;

&lt;p&gt;The one week practice investment got me up to 37 wpm with a total of 5 hours keyboard typing time.&lt;/p&gt;

&lt;p&gt;I’d like to emphasize that I’m not looking for typing speed as much as typing comfort and Dvorak is truly relaxing to type. I’ve also noticed that the learning process was much faster compared to Colemak but that is entirely subjective and YMMW.&lt;/p&gt;

&lt;p&gt;My reflections so far? I’m sticking with it. I tried to use it over long typing sessions with different languages and I didn’t get that tiring sensation as with the old querty layout.&lt;/p&gt;

&lt;p&gt;Copy, paste, cut and undo mechanics? These seem the main problem for some but I’m using a programmable keyboard so no issues with the common shortcuts.&lt;/p&gt;

&lt;p&gt;The whole keyboard layout quest has been a fun and educating journey. I’ve learned a lot about ergonomics and the importance of it for your hands. As someone who makes a living working on a keyboard, keeping healthy hands for a lasting career is imperative. Sadly it’s a topic not commonly discussed among fellow typists. It gets attention mostly when someone can’t type anymore on a regular keyboard due to RSI, carpal tunnel issues, finger numbness etc.&lt;/p&gt;

&lt;p&gt;I would also like to note that this should be an individual exploration task. Something that works for me, will unlikely fit your typing needs.&lt;/p&gt;

&lt;p&gt;I do need to put a side note here, Colemak is great, but it’s not for me. It just didn’t fit my needs. If you type only in English, I would highly recommend it. It’s really a joy to type with but for me… it’s team Dvorak.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8GSmDFYj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jjf0kbc40kpmwo20v6ch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8GSmDFYj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jjf0kbc40kpmwo20v6ch.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ergonomics</category>
      <category>dvorak</category>
      <category>keyboard</category>
      <category>typing</category>
    </item>
    <item>
      <title>The ergonomic backspace</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Sat, 22 Aug 2020 12:01:22 +0000</pubDate>
      <link>https://dev.to/orbjet/the-ergonomic-backspace-2bi</link>
      <guid>https://dev.to/orbjet/the-ergonomic-backspace-2bi</guid>
      <description>&lt;p&gt;TLDR; taken from &lt;a href="https://www.orbjet.org"&gt;orbjet.org&lt;/a&gt; changing the useless caps-lock key into something useful - backspace.&lt;/p&gt;

&lt;p&gt;The space key is the most used key on every keyboard, regardless of intended usage. Fact.&lt;/p&gt;

&lt;p&gt;Probably that’s why it looks like a long kitkat bar, made to be difficult to miss I guess.&lt;/p&gt;

&lt;p&gt;The way I see it, wasted space. It’s better to have it split and use the other half as some other command (enter, tab or backspace).&lt;/p&gt;

&lt;p&gt;Anyway, back on our track. It’s only natural to think about what’s the next likely used key.As it turns out, and you will probably agree, the next most used key is - backspace.&lt;/p&gt;

&lt;p&gt;Having used Colemak as an alternative layout, I got the backspace functionality configured instead of the useless caps-lock. I found this little hack remarkable, so much that I ended up changing my home systems to have the same function. What’s cool about it is that you spare your wrist from the constant twitch in order to correct some wrongly typed key.&lt;/p&gt;

&lt;p&gt;And unless you’re a super slow typist or a professional data entry clerk, you’re reaching for that right corner key all the time.&lt;/p&gt;

&lt;p&gt;The caps-lock position is ideal for the pinky finger. Before I saw this hack, I used the key as Ctrl. It also eases with the constant usage of copy, cut and paste.&lt;/p&gt;

&lt;p&gt;If I got your curiosity running, the easiest way to try this is with autohotkey on Windows and Karabiner on MacOS systems. As for Linux, it depends on different window managers and it would require some web search in order to configure it correctly due to many distros and variants.&lt;/p&gt;

</description>
      <category>ergonomics</category>
      <category>tech</category>
      <category>keyboard</category>
    </item>
    <item>
      <title>Colemak layout - week one</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Wed, 01 Jul 2020 06:19:16 +0000</pubDate>
      <link>https://dev.to/orbjet/colemak-layout-week-one-2od3</link>
      <guid>https://dev.to/orbjet/colemak-layout-week-one-2od3</guid>
      <description>&lt;p&gt;It has been a bit more than week since I started with the Colemak keyboard layout and now I type at an average speed of 34wpm. Starting was really challenging, my wpm dropped to a low 2 :) .&lt;/p&gt;

&lt;p&gt;The truth is, I would really push myself to type a longer word, not to mention a sentence! But with practice (mostly keybr.com) I got up and running faster than expected.&lt;/p&gt;

&lt;p&gt;Read more on &lt;a href="https://www.orbjet.org/post/2020-07-01/colemak-layout-week-one/"&gt;orbjet.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>keyboard</category>
      <category>colemak</category>
      <category>qwerty</category>
    </item>
    <item>
      <title>Why I choose the planck keyboard</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Sun, 21 Jun 2020 20:13:28 +0000</pubDate>
      <link>https://dev.to/orbjet/why-i-choose-the-planck-keyboard-6bp</link>
      <guid>https://dev.to/orbjet/why-i-choose-the-planck-keyboard-6bp</guid>
      <description>&lt;p&gt;It has been a while since I started my search for a keyboard replacement/upgrade in order to improve my day-to-day computer related activities (mostly coding and shell). Of all the keyboards I tried, none seem to provide the fastest and easiest way to input program-specific symbols and characters.&lt;/p&gt;

&lt;p&gt;That being said, I would almost always require a good stretch of fingers before I could swiftly input something like … });[ . Expanding on this example, a standard keyboard would require the assistance of a Shift and possibly an Alt key - depending on the layout in use.&lt;/p&gt;

&lt;p&gt;And so, with the goal set in mind, the long exploration started… &lt;br&gt;
Read the blog post &lt;a href="https://www.orbjet.org/post/2020-06-20/why-i-choose-the-planck-keyboard/"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>colemak</category>
      <category>programming</category>
      <category>softwaredevelopment</category>
    </item>
    <item>
      <title>How to understand complex systems?</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Sun, 31 May 2020 16:26:42 +0000</pubDate>
      <link>https://dev.to/orbjet/how-to-understand-complex-systems-3ehe</link>
      <guid>https://dev.to/orbjet/how-to-understand-complex-systems-3ehe</guid>
      <description>&lt;p&gt;If you come across a system you need to understand, where do you start? How do you fix a bug or add some value with a new feature?  &lt;/p&gt;

&lt;p&gt;TLDR: A few tips for faster onboarding and less stress (hopefully).&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://www.orbjet.org/post/2020-05-26/understanding-complex-systems/"&gt;blog post&lt;/a&gt; where I describe the steps that I use to get up and running in the shortest possible time.&lt;/p&gt;

&lt;p&gt;(Why a link to my blog? I like to keep control over the content I publish and a central place for future updates. This way both ends stay relevant)&lt;/p&gt;

</description>
      <category>devlife</category>
      <category>help</category>
    </item>
    <item>
      <title>Slackware for the next decade</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Thu, 30 Jan 2020 11:34:45 +0000</pubDate>
      <link>https://dev.to/orbjet/slackware-for-the-next-decade-7f2</link>
      <guid>https://dev.to/orbjet/slackware-for-the-next-decade-7f2</guid>
      <description>&lt;p&gt;Curious about Slackware Linux and how it holds up in the next decade?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.orbjet.org%2Fslackware.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.orbjet.org%2Fslackware.jpg" alt="slackware-logo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then checkout &lt;a href="https://www.orbjet.org/post/2020-01-29/slackware-for-the-next-decade/" rel="noopener noreferrer"&gt;this&lt;/a&gt; post on getting up and running with the oldest up to date Linux distribution.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>slackware</category>
      <category>terminal</category>
    </item>
    <item>
      <title>The risk of unprotected private keys (orbjet.org)</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Sun, 05 Jan 2020 19:33:56 +0000</pubDate>
      <link>https://dev.to/orbjet/the-risk-of-unprotected-private-keys-orbjet-org-56ma</link>
      <guid>https://dev.to/orbjet/the-risk-of-unprotected-private-keys-orbjet-org-56ma</guid>
      <description>&lt;p&gt;There have been numerous occations where I’ve heard the following expression: “…yeah my stuff is safe on my computer, no need to have additional encryption, or special administrative accounts…”.&lt;/p&gt;

&lt;p&gt;Well yeah, sure, if you say so.&lt;/p&gt;

&lt;p&gt;Let that sink in as a intro. An old laptop I was using for testing stopped working and wouldn’t start anymore. So I decided to take out the disk and retrieve the data I had laying in there. For everyone else, getting data out would be impossible. For me, the good thing was that I had Linux running on it and the disk was encrypted with LUKS (Linux Unified Key Setup), meaning that only I, with the decryption password, could access the enclosing data (by no means I consider myself as a cryptography expert, I just use common sense and best practices).&lt;/p&gt;

&lt;p&gt;While copying some files, I remembered that I had an ssh key setup for accessing a VPS I used for testing. In that moment, an interesting idea popped into my head! &lt;/p&gt;

&lt;p&gt;..the post continues on the original site &lt;a href="https://www.orbjet.org/post/2020-01-05/the-risk-of-unprotected-private-keys/"&gt;orbjet.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>bash</category>
      <category>privacy</category>
      <category>encryption</category>
      <category>linux</category>
    </item>
    <item>
      <title>Multiplexing terminal sessions (orbjet.org)</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Sat, 07 Dec 2019 21:48:14 +0000</pubDate>
      <link>https://dev.to/orbjet/multiplexing-terminal-sessions-3eha</link>
      <guid>https://dev.to/orbjet/multiplexing-terminal-sessions-3eha</guid>
      <description>&lt;p&gt;Taking into consideration the UNIX philosophy (“Make each program do one thing well.”), the terminal multiplexer expands on this idea by doing several things quite well, giving the operator additional console agility and swiftness.&lt;/p&gt;

&lt;p&gt;In order to formulate this activity better, multiplexing represents a process used to send multiple data streams over a single channel or medium which is called a multiplexer.&lt;/p&gt;

&lt;p&gt;The post continues at the original site &lt;a href="https://www.orbjet.org/post/2019-12-07/multiplexing-terminal-sessions/"&gt;here&lt;/a&gt; and covers GNU screen and tmux.&lt;/p&gt;

</description>
      <category>terminal</category>
      <category>linux</category>
      <category>devops</category>
      <category>sre</category>
    </item>
    <item>
      <title>K8s Med Kit</title>
      <dc:creator>Alen</dc:creator>
      <pubDate>Fri, 25 Oct 2019 19:28:44 +0000</pubDate>
      <link>https://dev.to/orbjet/k8s-med-kit-2p5m</link>
      <guid>https://dev.to/orbjet/k8s-med-kit-2p5m</guid>
      <description>&lt;p&gt;Kubernetes is pushing &lt;a href="https://kubernetes.io/docs/setup/release/notes/#kubernetes-v1-16-0-release-notes"&gt;1.16&lt;/a&gt; and perhaps the latest version in 2019. Even though it doesn't sound much in version numbers, it holds a long way of improvements since it's first appearance in 2014. &lt;/p&gt;

&lt;p&gt;As k8s is created to ease the orchestration of containers and aid with networking, persistent data and security, it's often good to have some mission-critical commands attached to your toolbelt which, in the time of need and depending of the case, you'll most likely use. &lt;/p&gt;

&lt;p&gt;In order to apply these, a fair knowledge of kubernetes is presumed. &lt;br&gt;
Here is a list of specific use cases (most of these are ad-hoc commands): &lt;/p&gt;

&lt;p&gt;1- Tweak resources on a specific deployment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl &lt;span class="nb"&gt;set &lt;/span&gt;resources deployment &amp;lt;name-of-deployment&amp;gt; &lt;span class="nt"&gt;--limits&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;cpu&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;1,memory&lt;span class="o"&gt;=&lt;/span&gt;1Gi &lt;span class="nt"&gt;--requests&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;cpu&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;500m,memory&lt;span class="o"&gt;=&lt;/span&gt;500Mi &lt;span class="nt"&gt;-n&lt;/span&gt; &amp;lt;name-of-namespace&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;2- Even with autoscaling, you might want to change the number of instances manually (&lt;em&gt;sometimes&lt;/em&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl scale deployments/&amp;lt;name-of-deployment&amp;gt; &lt;span class="nt"&gt;--replicas&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;number&amp;gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &amp;lt;name-of-namespace&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;3- Change the image version running - aka rollback to a different image version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl &lt;span class="nb"&gt;set &lt;/span&gt;image deployment/&amp;lt;name-of-deployment&amp;gt; &amp;lt;app-name&amp;gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;registry.url:PORT&amp;gt;/&amp;lt;app-name&amp;gt;:&amp;lt;build-version&amp;gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &amp;lt;name-of-namespace&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;4- If one of the nodes is acting differently than usual, it's good to get some insight&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl describe nodes &amp;lt;name-of-node&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;5- Get insight of what happened in the cluster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl get events &lt;span class="nt"&gt;--all-namespaces&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;6- Get information of the namespace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl get all &lt;span class="nt"&gt;-n&lt;/span&gt; namespace
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;7- Delete all deployments that have not Running status. Caution! This should be done if you have evicting or non attached deployments and should be used as least resort. A pro-argument would be that you can't deploy new deployments due to a queue buildup and instead of manually removing pods, you resort to a more automated removal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl get pods &lt;span class="nt"&gt;--all-namespaces&lt;/span&gt; &lt;span class="nt"&gt;--field-selector&lt;/span&gt; &lt;span class="s1"&gt;'status.phase!=Running'&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; json | kubectl delete &lt;span class="nt"&gt;-f&lt;/span&gt; -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;8- Delete a pod by - &lt;em&gt;force&lt;/em&gt; (similiar to point 7, but defining a pod):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;kubectl delete pods &amp;lt;name-of-pod&amp;gt; &lt;span class="nt"&gt;--grace-period&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0 &lt;span class="nt"&gt;--force&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Bonus point:&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;In this post I reference Kubernetes with k8s. If you search the internet or read technical texts, you'll often find a thin line between the names used interchangeably. Sometimes it's Kubernetes sometimes k8s. The former is the official name, the latter is the &lt;em&gt;slang&lt;/em&gt; abbreviation to ease referencing to it. The mystery behind k8s is actually really simple - &lt;strong&gt;k&lt;/strong&gt; (number of letters between the first an last letter, hence &lt;strong&gt;8&lt;/strong&gt;) &lt;strong&gt;s&lt;/strong&gt;. &lt;br&gt;
You could play with this method and apply it to different long-named words/brands. &lt;/p&gt;

&lt;p&gt;Guess what would be i4e :) &lt;/p&gt;

&lt;p&gt;Reposted from &lt;a href="https://www.orbjet.org/post/2019-09-29/k8s-med-kit/"&gt;orbjet.org&lt;/a&gt;&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>terminal</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
