<?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 Hernandez</title>
    <description>The latest articles on DEV Community by Fernando Hernandez (@fernandofh).</description>
    <link>https://dev.to/fernandofh</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%2F412160%2F74a85717-f392-42ba-a9ca-56bce879b3e6.jpeg</url>
      <title>DEV Community: Fernando Hernandez</title>
      <link>https://dev.to/fernandofh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fernandofh"/>
    <language>en</language>
    <item>
      <title>20 Whitepapers that changed the world [For Senior Software Engineers]</title>
      <dc:creator>Fernando Hernandez</dc:creator>
      <pubDate>Tue, 23 Jan 2024 16:17:22 +0000</pubDate>
      <link>https://dev.to/fernandofh/20-whitepapers-that-changed-the-world-2m07</link>
      <guid>https://dev.to/fernandofh/20-whitepapers-that-changed-the-world-2m07</guid>
      <description>&lt;p&gt;Source: &lt;a href="https://www.youtube.com/watch?v=WWGM4hY34pI" rel="noopener noreferrer"&gt;Video YouTube&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://arxiv.org/pdf/2209.07663v2.pdf" rel="noopener noreferrer"&gt;Monolith: Real Time Recommendation System With Collisionless Embedding Table&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cidrdb.org/cidr2023/papers/p83-yadav.pdf" rel="noopener noreferrer"&gt;FlexiRaft: Flexible Quorums with Raft&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dl.acm.org/doi/pdf/10.1145/2491245" rel="noopener noreferrer"&gt;Spanner: Google’s Globally Distributed Database&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://arxiv.org/pdf/2010.09974.pdf" rel="noopener noreferrer"&gt;Scalable Statistical Root Cause Analysis on App Telemetry&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf" rel="noopener noreferrer"&gt;Cassandra - A Decentralized Structured Storage System&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.foundationdb.org/files/fdb-paper.pdf" rel="noopener noreferrer"&gt;FoundationDB: A Distributed Unbundled Transactional Key Value Store&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pages.cs.wisc.edu/~yxy/cs764-f20/papers/aurora-sigmod-17.pdf" rel="noopener noreferrer"&gt;Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://15799.courses.cs.cmu.edu/fall2013/static/papers/p135-malewicz.pdf" rel="noopener noreferrer"&gt;Pregel: A System for Large-Scale Graph Processing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://static.googleusercontent.com/media/research.google.com/en//archive/papers/dapper-2010-1.pdf" rel="noopener noreferrer"&gt;Dapper, a Large-Scale Distributed Systems Tracing Infrastructure&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf" rel="noopener noreferrer"&gt;The Chubby lock service for loosely-coupled distributed systems&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.cidrdb.org/cidr2011/Papers/CIDR11_Paper32.pdf" rel="noopener noreferrer"&gt;Megastore: Providing Scalable, Highly Available Storage for Interactive Services&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf" rel="noopener noreferrer"&gt;Bigtable: A Distributed Storage System for Structured Data&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://static.googleusercontent.com/media/research.google.com/es//archive/mapreduce-osdi04.pdf" rel="noopener noreferrer"&gt;MapReduce: Simplified Data Processing on Large Clusters&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf" rel="noopener noreferrer"&gt;The Google File System&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/conference/atc13/atc13-bronson.pdf" rel="noopener noreferrer"&gt;TAO: Facebook’s Distributed Data Store for the Social Graph&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf" rel="noopener noreferrer"&gt;Scaling Memcache at Facebook&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.vldb.org/pvldb/vol13/p3181-adams.pdf" rel="noopener noreferrer"&gt;Monarch: Google’s Planet-Scale In-Memory Time Series Database&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.vldb.org/pvldb/vol8/p1816-teller.pdf" rel="noopener noreferrer"&gt;Gorilla: A Fast, Scalable, In-Memory Time Series Database&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf" rel="noopener noreferrer"&gt;Dynamo: Amazon’s Highly Available Key-value Store&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.usenix.org/system/files/atc19-pang.pdf" rel="noopener noreferrer"&gt;Zanzibar: Google’s Consistent, Global Authorization System&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>softwareengineering</category>
      <category>systemdesign</category>
      <category>developer</category>
      <category>programming</category>
    </item>
    <item>
      <title>Rust Developer con Docker</title>
      <dc:creator>Fernando Hernandez</dc:creator>
      <pubDate>Wed, 01 Feb 2023 03:00:00 +0000</pubDate>
      <link>https://dev.to/fernandofh/rust-developer-con-docker-11ec</link>
      <guid>https://dev.to/fernandofh/rust-developer-con-docker-11ec</guid>
      <description>&lt;p&gt;Si por alguna razón no pueden ejecutar el &lt;a href="https://www.rust-lang.org/tools/install" rel="noopener noreferrer"&gt;instalador&lt;/a&gt; de Rust en su computadora o simplemente prefieren tenerlo desde contenedores Docker, para ambos casos será muy útil este post.&lt;/p&gt;

&lt;p&gt;Requisitos: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tener &lt;a href="https://docs.docker.com/get-docker/" rel="noopener noreferrer"&gt;Docker instalado&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Imagen oficial de Rust disponible en &lt;a href="https://hub.docker.com/_/rust" rel="noopener noreferrer"&gt;Docker hub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Empezamos creando en la carpeta que vamos usar para nuestro proyecto un archivo llamado &lt;code&gt;docker-compose.yml&lt;/code&gt; con el siguiente formato:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;version: "3.9"
services:
  dev:
    image: "rust:1.67"
    volumes:
      - ./projects:/projects
    environment:
      - USER=fer 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;PD: El &lt;code&gt;USER&lt;/code&gt; puedes usar el que prefieras. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ahora creamos la carpeta &lt;code&gt;/projects&lt;/code&gt; que será donde se conservaran los archivos, para que no sea efímero lo que desarrollo en este entorno. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PD: Puedes usar el nombre de la carpeta que quieras, solo que en el docker-compose debes actualizar el nombre que elijas. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ejecutamos: &lt;code&gt;docker-compose run --rm dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Si todo esta en orden debemos entrar en la linea de comandos del contenedor de Rust, lo que quiere decir que ya estaremos en un entorno con Rust para poder desarrollar. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwldn55dmw85gyya2x60j.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwldn55dmw85gyya2x60j.PNG" alt=" " width="594" height="103"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Entramos en la carpeta  &lt;code&gt;/projects&lt;/code&gt; con &lt;code&gt;cd projects&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Ahora que estamos en projects usamos el comando &lt;code&gt;cargo new hello_world&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Al terminada la creación del proyecto &lt;code&gt;hello_world&lt;/code&gt; entramos en el directorio con &lt;code&gt;cd hello_world&lt;/code&gt;, y ejecutamos &lt;code&gt;cargo run&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5xugavzveodk3pgg2b1.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp5xugavzveodk3pgg2b1.PNG" alt=" " width="606" height="109"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RUNNNN!!!! &lt;/p&gt;

&lt;p&gt;Para finalizar, modificamos el &lt;code&gt;main.rs&lt;/code&gt; esta en la carpeta &lt;code&gt;src&lt;/code&gt;  con &lt;code&gt;"Hi dear!!"&lt;/code&gt; solo hace falta salvar y ejecutar nuevamente &lt;code&gt;cargo run&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F307kkokqcdvp39by04i5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F307kkokqcdvp39by04i5.PNG" alt=" " width="609" height="132"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gracias por llegar hasta acá :) &lt;/p&gt;

</description>
      <category>rust</category>
      <category>devops</category>
      <category>docker</category>
      <category>srethisistheway</category>
    </item>
  </channel>
</rss>
