<?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: Fernando Piancastelli</title>
    <description>The latest articles on DEV Community by Fernando Piancastelli (@fmalk).</description>
    <link>https://dev.to/fmalk</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%2F1503323%2Fb62e3d0f-fd76-4227-b75f-91d912b188dd.jpeg</url>
      <title>DEV Community: Fernando Piancastelli</title>
      <link>https://dev.to/fmalk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fmalk"/>
    <language>en</language>
    <item>
      <title>P=NP? 256 chars</title>
      <dc:creator>Fernando Piancastelli</dc:creator>
      <pubDate>Sun, 16 Jun 2024 02:15:40 +0000</pubDate>
      <link>https://dev.to/fmalk/pnp-256-chars-49k7</link>
      <guid>https://dev.to/fmalk/pnp-256-chars-49k7</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/cs"&gt;DEV Computer Science Challenge v24.06.12: One Byte Explainer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;If a problem has an answer which can be quickly checked for correctness, does it mean the problem must have a solution that can be calculated quickly as well (P=NP)? Or just because we can quickly check an answer does not mean it is easy to get one (P≠NP)?&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;This is arguably &lt;strong&gt;the&lt;/strong&gt; hardest, most famous and difficult open problem (no general proof exists yet) in Computer Science and even for general Math. So of course I'd take a crack at describing it at this challenge!&lt;/p&gt;

&lt;p&gt;Since this is tagged as a #beginners challenge I tried to do come up with an answer that might not be 100% formal math because I didn't want to rely on the reader knowing that "quickly" here means "in polynomial time" or what a P and NP-problem actually is, so a reader not familiar with the topic might at least get a good grasp of what the problem is about. Just know that many researchers dedicate their entire careers studying this problem, so enunciation alone is a worthy topic in itself.&lt;/p&gt;

&lt;p&gt;It is believed that P≠NP because there's more evidence pointing to it than the alternative: cryptography as we know rely heavily on P≠NP being true; if proven not to be the case a whole new paradigm of computing could come to light and break stuff we consider secure to use.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cschallenge</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Virtualization 256 chars</title>
      <dc:creator>Fernando Piancastelli</dc:creator>
      <pubDate>Fri, 14 Jun 2024 19:45:13 +0000</pubDate>
      <link>https://dev.to/fmalk/virtualization-256-chars-444k</link>
      <guid>https://dev.to/fmalk/virtualization-256-chars-444k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/cs"&gt;DEV Computer Science Challenge v24.06.12: One Byte Explainer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;Virtualization is a technique where a system is run in a virtual environment, as in not run by actual hardware or by its usual host system. The virtual system is designed to be indistinguishble from the real setup by anything running on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;Many success cases of virtualization are very well-known such as cloud computing, containerization and emulation; some of the lesser known as being examples of virtualization are distributed file systems and work over remote desktops.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cschallenge</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Hash Function 256 chars</title>
      <dc:creator>Fernando Piancastelli</dc:creator>
      <pubDate>Fri, 14 Jun 2024 14:26:43 +0000</pubDate>
      <link>https://dev.to/fmalk/hash-function-256-chars-172m</link>
      <guid>https://dev.to/fmalk/hash-function-256-chars-172m</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/cs"&gt;DEV Computer Science Challenge v24.06.12: One Byte Explainer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;A hash function takes a key or input data and maps it to a fixed-size, uniformely distributed value (hash), later used for data retrieval. It strives to be fast, only generate one possible hash per input and make key mapping possible in near constant time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;Hashes are hard to define because it has many similar concepts in the field, which are used almost interchangibly; it is especially hard not to confuse them with &lt;em&gt;checksums&lt;/em&gt; - those are interested in data integrity, not mapping. Also, results uniformely distributed is an essential property to make use of the hash value constant in time, since no hash is more probable than another from the same function.&lt;br&gt;
Another important distinction is to separate general hash functions to cryptographic ones: the latter takes computational effort to make a 1 to 1 mapping to input (any one input can only be represented by one hash) and to make the original input unguessable by the hash alone, among other differences.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cschallenge</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Recursion 256 chars</title>
      <dc:creator>Fernando Piancastelli</dc:creator>
      <pubDate>Thu, 13 Jun 2024 19:56:55 +0000</pubDate>
      <link>https://dev.to/fmalk/recursion-256-chars-5d4b</link>
      <guid>https://dev.to/fmalk/recursion-256-chars-5d4b</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/cs"&gt;DEV Computer Science Challenge v24.06.12: One Byte Explainer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;Recursion is code on a journey, encountering a smaller version of itself, easier to run, which goes on a journey, encountering a smaller version of itself, easier to run, which goes on a journey... until no more journeys are needed. End of recursion!&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional Context
&lt;/h2&gt;

&lt;p&gt;Where's the fun of explaining recursion if not using recursion itself?&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cschallenge</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Blockchain 256 chars</title>
      <dc:creator>Fernando Piancastelli</dc:creator>
      <pubDate>Thu, 13 Jun 2024 19:11:09 +0000</pubDate>
      <link>https://dev.to/fmalk/blockchain-256-chars-4e9e</link>
      <guid>https://dev.to/fmalk/blockchain-256-chars-4e9e</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/cs"&gt;DEV Computer Science Challenge v24.06.12: One Byte Explainer&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Explainer
&lt;/h2&gt;

&lt;p&gt;A blockchain is a series of transactions registered as blocks one after the other, like a chain. Each new block can be traced to the previous block and mathematically demonstrated to be legitimate; it can be distributed and considered untampered when read.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>cschallenge</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
