<?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: csm-yujinkim</title>
    <description>The latest articles on DEV Community by csm-yujinkim (@csmyujinkim).</description>
    <link>https://dev.to/csmyujinkim</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%2F329896%2Fd1ed3e62-8b9f-4678-a55d-e13663283fc2.png</url>
      <title>DEV Community: csm-yujinkim</title>
      <link>https://dev.to/csmyujinkim</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/csmyujinkim"/>
    <language>en</language>
    <item>
      <title>Convert a decimal fraction to binary</title>
      <dc:creator>csm-yujinkim</dc:creator>
      <pubDate>Wed, 12 Feb 2020 19:52:06 +0000</pubDate>
      <link>https://dev.to/csmyujinkim/convert-a-decimal-fraction-to-binary-2l5k</link>
      <guid>https://dev.to/csmyujinkim/convert-a-decimal-fraction-to-binary-2l5k</guid>
      <description>&lt;p&gt;In this article, we deal with item 5 of the following key skills that build up to understanding the &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;floating point system&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define and identify the most and least significant bits in a word. Count how many combinations are possible in a word given its bit length.&lt;/li&gt;
&lt;li&gt;Encode a positive integer in binary. Decode an unsigned integer to decimal.&lt;/li&gt;
&lt;li&gt;Encode an integer in two's complement notation. Decode a signed integer to decimal.&lt;/li&gt;
&lt;li&gt;Use sign extension to expand the number of bits in a word. Explain the mathematics.&lt;/li&gt;
&lt;li&gt;Convert a decimal fraction to binary. Explain why this does not require any particular encoding scheme, such as a floating point standard.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Expanding our idea
&lt;/h1&gt;

&lt;p&gt;We use the same method as we used before to convert number representations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 1&lt;/strong&gt; Convert the decimal number 25.5 to unsigned binary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: 25.5 - 16 = 9.5&lt;/p&gt;

&lt;p&gt;9.5 - 8 = 1.5&lt;/p&gt;

&lt;p&gt;1.5 - 1 = 0.5&lt;/p&gt;

&lt;p&gt;0.5 - 0.5 = 0&lt;/p&gt;

&lt;p&gt;The powers of two used are: the 4th, 3rd, 0th, and negative 1st. Negative powers of two gets placed to the right of the binary point. Arrange: &lt;code&gt;0001 1001.1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 2&lt;/strong&gt; Convert the decimal number 16.1 to unsigned binary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: 16.1 - 16 = 0.1&lt;/p&gt;

&lt;p&gt;0.1 - 0.0625 [ or 2^-4 ] = 0.0375&lt;/p&gt;

&lt;p&gt;0.0375 - 0.0315 [ or 2^-5 ] = 0.00625&lt;/p&gt;

&lt;p&gt;0.00625 - 0.00390625 [ or 2^-8 ] = 0.00234375‬&lt;/p&gt;

&lt;p&gt;0.00234375‬ - 0.001953125 [ or 2^-9 ] = 0.000390625‬&lt;/p&gt;

&lt;p&gt;0.000390625‬ - 0.000244140625‬ [ or 2^-12 ] = 0.000146484375‬&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;We see that the pattern &lt;code&gt;.0001 1001 1001 ...&lt;/code&gt; is repeating. Arrange the bits: &lt;code&gt;0001 0000.0001 1001 1001 ...&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 3&lt;/strong&gt; Convert &lt;code&gt;1011.0101&lt;/code&gt; to decimal.&lt;/p&gt;

&lt;p&gt;The bits below the binary point (.) have the values of the negative powers of two.&lt;/p&gt;

&lt;p&gt;The answer is 2^3 + 2^1 + 2^0 + 2^-2 + 2^-4 = 10.3125‬.&lt;/p&gt;

&lt;p&gt;It's not that difficult!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Review of Signed Number Representation</title>
      <dc:creator>csm-yujinkim</dc:creator>
      <pubDate>Wed, 12 Feb 2020 04:41:55 +0000</pubDate>
      <link>https://dev.to/csmyujinkim/review-of-signed-number-representation-2j0l</link>
      <guid>https://dev.to/csmyujinkim/review-of-signed-number-representation-2j0l</guid>
      <description>&lt;p&gt;In this article, we deal with items 3-4 of the following key skills that build up to understanding the &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;floating point system&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define and identify the most and least significant bits in a word. Count how many combinations are possible in a word given its bit length.&lt;/li&gt;
&lt;li&gt;Encode a positive integer in binary. Decode an unsigned integer to decimal.&lt;/li&gt;
&lt;li&gt;Encode an integer in two's complement notation. Decode a signed integer to decimal.&lt;/li&gt;
&lt;li&gt;Use sign extension to expand the number of bits in a word. Explain the mathematics.&lt;/li&gt;
&lt;li&gt;Convert a decimal fraction to binary. Explain why this does not require any particular encoding scheme, such as a floating point standard.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Two's complement notation
&lt;/h1&gt;

&lt;p&gt;Two's complement notation is a practical and widely-used way to represent signed integers. This notation is not tied to any particular computer architecture, real or abstract.&lt;/p&gt;

&lt;p&gt;The only change from unsigned notation is that the most significant bit (the 31st bit in our case) has the same magnitude but a negative sign: If we use 32-bit words, then its value is -2^31 , not 2^31 .&lt;/p&gt;

&lt;p&gt;Because of that, the available range is shifted by -2^31 units to the left. In unsigned notation, the range of representation was [0, 2^32 - 1]. In signed notation, the range of representation is [-2^31, 2^31 - 1]. Note that 2^32 is exactly twice the value of 2^31 , since they are subsequent powers of two (the base 2 makes them twice as different). Hence, 2^32 - 2^31 - 1 = (2^31 + 2^31 ) - 2^31 - 1 = 2^31 - 1.&lt;/p&gt;

&lt;p&gt;It takes practice to understand how this change affects arithmetic. Let's get into practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 1&lt;/strong&gt; Convert -56 to a signed binary integer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: We use the same process we used in unsigned notation. The "smaller" as in "closest smaller power of two" still means actually smaller (not absolute value).&lt;/p&gt;

&lt;p&gt;In this case, -64 is the closest power of two to -56 that is smaller than it. Use the subtraction: -56 - (-64) = 8. -64 is -2^6 .&lt;/p&gt;

&lt;p&gt;8 happens to be the third power of two.&lt;/p&gt;

&lt;p&gt;Use bit positions 6 and 3: &lt;code&gt;100 1000&lt;/code&gt;. 8 - 64 is indeed -56.&lt;/p&gt;

&lt;p&gt;If we were to use all eight bits of the byte, then the answer would be &lt;code&gt;1100 1000&lt;/code&gt;. -128 + 64 + 8 is also -56. This is not a coincidence: We will explore the &lt;em&gt;sign expansion&lt;/em&gt; technique in a bit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 2&lt;/strong&gt; Convert &lt;code&gt;101 1001&lt;/code&gt; to a decimal.&lt;/p&gt;

&lt;p&gt;Add the powers of two. The most significant bit has a negative value assigned. So, the summation looks like: -2^6 + 2^4 + 2^3 + 2^0 = -39.&lt;/p&gt;

&lt;p&gt;What about &lt;code&gt;0101 1001&lt;/code&gt;? Its summation looks like 2^6 + 2^4 + 2^3 + 2^0 = 89. So, this is not the same as before. In fact, it is a positive number.&lt;/p&gt;

&lt;p&gt;Lastly, consider &lt;code&gt;1101 1001&lt;/code&gt;. Its summation looks like -2^7 + 2^6 + 2^4 + 2^3 + 2^0 = -39.&lt;/p&gt;

&lt;p&gt;So, we put as many 1's to the left as possible if we wanted to expand the number of bits?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 3&lt;/strong&gt; There is a byte position in your memory that reads &lt;code&gt;0101 0100&lt;/code&gt;. You are asked to expand it to a four-byte word.&lt;/p&gt;

&lt;p&gt;The given notation represents the number 84. We could either make it &lt;code&gt;1111 1111 1111 1111 1111 1111 0101 0100&lt;/code&gt; or &lt;code&gt;0000 0000 0000 0000 0000 0000 0101 0100&lt;/code&gt;. Let's determine the values of these competing representations.&lt;/p&gt;

&lt;p&gt;The first represents ‭-172‬. The second represents 84. In hindsight, it is clear that the first one would never work in the first place because the most significant digit is 1---it represents a negative integer. So, we should use the second representation.&lt;/p&gt;

&lt;h1&gt;
  
  
  Sign expansion
&lt;/h1&gt;

&lt;p&gt;As we see through examples, if we have a representation like &lt;code&gt;y...&lt;/code&gt;, and if we wanted to increase the number of bits in it, then we do not either just add 0s or 1s to the left of the MSB: The result may or may not equal the original number.&lt;/p&gt;

&lt;p&gt;In fact, if we have &lt;code&gt;y...&lt;/code&gt;, then the correct expansion is &lt;code&gt;y...y...&lt;/code&gt;. That is, duplicate the MSB to the left.&lt;/p&gt;

&lt;p&gt;For example, if the byte representation &lt;code&gt;1111 1111&lt;/code&gt; was to be now represented by a 2-byte string, then the result should be &lt;code&gt;1111 1111 1111 1111&lt;/code&gt;. In case of &lt;code&gt;0000 0000&lt;/code&gt;, it should be &lt;code&gt;0000 0000 0000 0000&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Mathematics
&lt;/h2&gt;

&lt;p&gt;The technique of sign expansion relies on the fact that -2^n+1 + 2^n (&lt;code&gt;11...&lt;/code&gt;) is the same as -2^n (&lt;code&gt;1...&lt;/code&gt;). The following proof draws from the idea that they are powers of two, so one of them has a magnitude (absolute value) exactly twice as great as the other.&lt;/p&gt;

&lt;p&gt;-2^n+1 + 2^n =?= -2^n&lt;/p&gt;

&lt;p&gt;-( 2^n + 2^n ) + 2^n =?= -2^n&lt;/p&gt;

&lt;p&gt;-2^n =?= -2^n&lt;/p&gt;

&lt;p&gt;True.&lt;/p&gt;

&lt;h1&gt;
  
  
  Bonus: Overflow detection when all operands agree on sign
&lt;/h1&gt;

&lt;p&gt;If all operands have the same sign (positive or negative), then if the result has a different sign, then overflow happened.&lt;/p&gt;

&lt;p&gt;How? If we add all positive numbers, then the result should be positive. If it is negative, then overflow happened, since it is arithmetically impossible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 1&lt;/strong&gt; Sign-expand the 16-bit word &lt;code&gt;1101 0101 0010 0000&lt;/code&gt; to 32 bits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: &lt;code&gt;1111 1111 1111 1111 1101 0101 0010 0000&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt; Is this statement true or false, in all cases? "If overflow did not happen, then at least one operand must had had a different sign than the rest."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: False. &lt;code&gt;0001 + 0001 = 0010&lt;/code&gt;. No overflow, but all operands agree on sign.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question 3&lt;/strong&gt; "If overflow did not happen, then either or both of the following must be false: There was a sign agreement among the operands; the result was the same sign."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: True by &lt;a href="https://en.wikipedia.org/wiki/Contraposition"&gt;contraposition&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>computerscience</category>
    </item>
    <item>
      <title>Review of MSB, LSB, and Unsigned Integers</title>
      <dc:creator>csm-yujinkim</dc:creator>
      <pubDate>Wed, 12 Feb 2020 03:46:15 +0000</pubDate>
      <link>https://dev.to/csmyujinkim/review-of-msb-lsb-and-unsigned-integers-43jj</link>
      <guid>https://dev.to/csmyujinkim/review-of-msb-lsb-and-unsigned-integers-43jj</guid>
      <description>&lt;p&gt;In this article, we deal with the first two of the following key skills that build up to understanding the &lt;a href="https://en.wikipedia.org/wiki/IEEE_754"&gt;floating point system&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Define and identify the most and least significant bits in a word. Count how many combinations are possible in a word given its bit length.&lt;/li&gt;
&lt;li&gt;Encode a positive integer in binary. Decode an unsigned integer to decimal.&lt;/li&gt;
&lt;li&gt;Encode an integer in two's complement notation. Decode a signed integer to decimal.&lt;/li&gt;
&lt;li&gt;Use sign extension to expand the number of bits in a word. Explain the mathematics.&lt;/li&gt;
&lt;li&gt;Convert a decimal fraction to binary. Explain why this does not require any particular encoding scheme, such as a floating point standard.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  The MSB and the LSB. Unsigned Representation Practice
&lt;/h1&gt;

&lt;p&gt;Definition: The &lt;em&gt;most significant bit&lt;/em&gt; (MSB) is, in unsigned representation, the bit position associated with the greatest absolute value. Also, in two's complement representation, the bit position that changes the sign of a number.&lt;/p&gt;

&lt;p&gt;Definition: The &lt;em&gt;least significant bit&lt;/em&gt; (LSB) is the bit position that has the least value associated, that is, the value of 1.&lt;/p&gt;

&lt;p&gt;Let's say we have a 32-bit machine that deals with 32-bit words. Each word is a string of four octets (bytes), so there are 32 bits in it. Then, generally, bit position 0 is the LSB, and bit position 31 is the MSB.&lt;/p&gt;

&lt;p&gt;Bit position &lt;em&gt;n&lt;/em&gt; has the value of 2^&lt;em&gt;n&lt;/em&gt;, so, for instance, the number &lt;code&gt;1010&lt;/code&gt; (unsigned) will be equal to 2^3 + 2^1 = 8 + 1 = 9. In this instance, the rightmost bit is the LSB and the leftmost bit the MSB.&lt;/p&gt;

&lt;h2&gt;
  
  
  Number of Combinations In a Word That Has &lt;em&gt;n&lt;/em&gt; Bits
&lt;/h2&gt;

&lt;p&gt;In unsigned notation like this, there are a total of 2^&lt;em&gt;n&lt;/em&gt; combinations of the digits where &lt;em&gt;n&lt;/em&gt; is the number of bits in a word. If there are 32 bits in a word, then 2^32 numbers can be represented. If we made a sequence of these numbers, it will start from 0, so the last number is exactly 1 less than the number of combinations, that is, 2^&lt;em&gt;n&lt;/em&gt; - 1. So, in unsigned notation, numbers [0, 2^&lt;em&gt;n&lt;/em&gt; - 1] are represented.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 1&lt;/strong&gt; Represent the decimal number 254 in unsigned binary notation. What are the most and least significant bits?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ANSWER&lt;/strong&gt;: The decimal number 254 is closest to a &lt;em&gt;smaller (or equal)&lt;/em&gt; power of two, 128, or 2^7 . Divide 254 with that power. (Since the quotient is always 1, we replace the division by subtraction.) The remainder is 126. Do the same: The closest smaller (or equal) power of two is 64, or 2^6 . The difference is 62. With 2^5 = 32, the difference is 30. With 2^4 = 16, the difference is 14. With 2^3 = 8, the difference is 6. With 2^2 = 4, the difference is 2. With the equal power of two, 2^1 = 2, the difference is 0. The exponents of two are where the 1's are. They are bit positions 1, 2, 3, 4, 5, 6 and 7.&lt;/p&gt;

&lt;p&gt;Let's use an octet (an eight-bit string). The leftmost is the MSB, so it is bit position 7. The rightmost is the LSB, and its bit position is 0. Now, arrange it: &lt;code&gt;1111 1110&lt;/code&gt;. This is our representation.&lt;/p&gt;

&lt;p&gt;The MSB is 1, and the LSB is 0.&lt;/p&gt;

&lt;p&gt;Let's use a 32-bit word. Again, the leftmost is the MSB, and its bit position is 31. The rightmost is the LSB, and its position is 0. Now, arrange it: &lt;code&gt;0000 0000 0000 0000 0000 0000 1111 1110&lt;/code&gt;. The MSB is changed: It is now 0. The LSB is still 0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 2&lt;/strong&gt; Represent 142 in unsigned representation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: Remember to choose the closest smaller (or equal) power of two, until the remainder (or difference) is 0. Then, record the bit positions---that's our method.&lt;/p&gt;

&lt;p&gt;142 - 128 = 14&lt;/p&gt;

&lt;p&gt;14 - 8 = 6&lt;/p&gt;

&lt;p&gt;6 - 4 = 2&lt;/p&gt;

&lt;p&gt;2 - 2 = 0&lt;/p&gt;

&lt;p&gt;The powers are: 1, 2, 3, 7. Use an octet. The leftmost is the MSB, bit position 7, and the rightmost is the LSB, bit position 0. Arrange: &lt;code&gt;1000 1110&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QUESTION 3&lt;/strong&gt; Decode &lt;code&gt;1001 1010&lt;/code&gt; in unsigned rep. to decimal. The leftmost is the MSB.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: It is a sum of powers of two. The 7th, 4th, 3rd and 1st powers are represented. So, add them up: 2^7 + 2^4 + 2^3 + 2^1 = 154.&lt;/p&gt;

&lt;h1&gt;
  
  
  Challenge
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Challenge Problem 1
&lt;/h2&gt;

&lt;p&gt;Convert the positive integer 1,257,281 to binary:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Is a byte sufficient to store the representation? A 2-byte word? A 32-bit word? A 64-bit word?&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Challenge Problem 2
&lt;/h2&gt;

&lt;p&gt;Consider the representation &lt;code&gt;1111 1111&lt;/code&gt; in unsigned notation in a byte:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is its decimal value?&lt;/li&gt;
&lt;li&gt;If the most significant bit was assigned the value of -2^7 , instead of 2^7 ,then what is its new decimal value?&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>computerscience</category>
    </item>
    <item>
      <title>Generate and register an SSH key pair to log into an SSH server</title>
      <dc:creator>csm-yujinkim</dc:creator>
      <pubDate>Sun, 09 Feb 2020 01:25:06 +0000</pubDate>
      <link>https://dev.to/csmyujinkim/generate-and-register-an-ssh-key-pair-to-log-into-an-ssh-server-2f4k</link>
      <guid>https://dev.to/csmyujinkim/generate-and-register-an-ssh-key-pair-to-log-into-an-ssh-server-2f4k</guid>
      <description>&lt;p&gt;The command &lt;code&gt;ssh-keygen&lt;/code&gt; can be used to create an SSH key pair that is used to authenticate oneself. SSH supports a variety of authentication schemes, including the public-key system (&lt;cite&gt;&lt;a href="https://www.ssh.com/ssh/public-key-authentication"&gt;SSH.com&lt;/a&gt;&lt;/cite&gt;).&lt;/p&gt;

&lt;p&gt;This article is a summary of an article found on Medium, which is written by Risan Bagja Pradana.&lt;/p&gt;

&lt;p&gt;There are different algorithms for generating a key pair that SSH supports. The EdDSA algorithm is most recommended. The SSH term (or variant) for the algorithm is "Ed25519" (&lt;cite&gt;&lt;a href="https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54"&gt;Pradana&lt;/a&gt;&lt;/cite&gt;).&lt;/p&gt;

&lt;p&gt;Among Pradana's recommended options (&lt;cite&gt;&lt;a href="https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54"&gt;Pradana&lt;/a&gt;&lt;/cite&gt;), one seems essential: The &lt;code&gt;t&lt;/code&gt; option, which specifies the algorithm used to generate the key pair. So, for example, using the &lt;code&gt;t&lt;/code&gt; option, the following command can be used to generate a key pair: &lt;code&gt;ssh-keygen -t ed25519&lt;/code&gt; (&lt;cite&gt;&lt;a href="https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54"&gt;Pradana&lt;/a&gt;&lt;/cite&gt;).&lt;/p&gt;

&lt;p&gt;After generating the key pair, it is essential that we register the key pair with the SSH Agent. The Agent must first be running. And then, we use either of the following commands to add our new pair (&lt;cite&gt;&lt;a href="https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54"&gt;Pradana&lt;/a&gt;&lt;/cite&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-add ~/.ssh/id_ed25519 # new pair, OR
ssh-add                   # all existing keys
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Lastly, we must register the public key with the server we intend to connect to. Use the following command: &lt;code&gt;ssh -i ~/.ssh/id_ed25519 username@server&lt;/code&gt; (&lt;cite&gt;&lt;a href="https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54"&gt;Pradana&lt;/a&gt;&lt;/cite&gt;).&lt;/p&gt;

&lt;p&gt;More information can be obtained in the cited article by Pradana. It is a Medium article, but it is not a "Premium" article.&lt;/p&gt;

</description>
      <category>devops</category>
    </item>
    <item>
      <title>[Code Snippet] Printing prime factors of a number. Demo included.</title>
      <dc:creator>csm-yujinkim</dc:creator>
      <pubDate>Tue, 04 Feb 2020 05:39:24 +0000</pubDate>
      <link>https://dev.to/csmyujinkim/code-snippet-printing-prime-factors-of-a-number-demo-included-31bn</link>
      <guid>https://dev.to/csmyujinkim/code-snippet-printing-prime-factors-of-a-number-demo-included-31bn</guid>
      <description>&lt;p&gt;Print all prime factors of a number without duplication. In this example, each factor is printed in each successive line. The included demo provides examples for numbers [2-31].&lt;/p&gt;


&lt;div class="ltag__replit"&gt;
  &lt;iframe height="550px" src="https://repl.it/@YujinKim1/QuickPrintPrimes?lite=true"&gt;&lt;/iframe&gt;
&lt;/div&gt;


</description>
      <category>replit</category>
      <category>python</category>
    </item>
  </channel>
</rss>
