<?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: Distributed Hunter Trujillo</title>
    <description>The latest articles on DEV Community by Distributed Hunter Trujillo (@cryptoquick).</description>
    <link>https://dev.to/cryptoquick</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%2F349960%2Fc8257ed2-cfc9-40db-824f-3ab15ce5b673.jpg</url>
      <title>DEV Community: Distributed Hunter Trujillo</title>
      <link>https://dev.to/cryptoquick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cryptoquick"/>
    <language>en</language>
    <item>
      <title>Seeing the Forest through the trees</title>
      <dc:creator>Distributed Hunter Trujillo</dc:creator>
      <pubDate>Mon, 25 Jan 2021 22:25:58 +0000</pubDate>
      <link>https://dev.to/cryptoquick/seeing-the-forest-through-the-trees-25md</link>
      <guid>https://dev.to/cryptoquick/seeing-the-forest-through-the-trees-25md</guid>
      <description>&lt;p&gt;Today I accepted an offer from ChainSafe to work on &lt;a href="https://github.com/ChainSafe/forest"&gt;Forest&lt;/a&gt;, the Rust implementation of Filecoin. I start on February 1st, and I'm very excited to get to work. So excited, actually, I'm working on a PR a week ahead of time, mostly because I'm actually really interested in it. It'd be something I'd contribute to even if I wasn't paid to work on it full-time.&lt;/p&gt;

&lt;p&gt;For the majority of my career, my full-time positions were in JavaScript. But I had a really hard time getting hired as a TypeScript, NodeJS, and React developer last year. It was the middle of the pandemic, but what was worse, I got passed over by companies like Coinbase because I spoke to all levels of the stack. It's kinda counterintuitive, but that's not what they were looking for. They wanted someone who could put their head down and spend all their time on React components. So, they told me to restart the entire interview process as an architect, and interview with a different team. They also wanted me to move out to SF at the time, too. It resulted in some extraordinarily tough conversations with my husband. Would we have to sell the house? Would he come too? Those sorts of questions. It was rough.&lt;/p&gt;

&lt;p&gt;I've never experienced burnout working on any programming project, but that time, I experienced burnout just from how much I interviewed. It was exhausting. I was put through a gauntlet of final interviews (4+ hours long) from three different companies, and dozens of others that I didn't get as far in, and countless phone conversations, tests, and code exercises. I don't really remember much from those times, but I do recall being really angry at the tech industry. I eventually just couldn't speak to recruiters with a sense of kindness anymore, and that was when I knew I had to take a break.&lt;/p&gt;

&lt;p&gt;A few months later, I did some contract work in Rust (I was only able to get actual paying work for only 3 months last year). It was a great team and I delivered a solid result that everybody was really happy with, but after the contract ended, they had no more work left to give me.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6iZbxqzA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9endkoy4wpwnuaf5fokn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6iZbxqzA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9endkoy4wpwnuaf5fokn.jpg" alt="Fuzzr"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Fuzzr, v0.0.5&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After that job, I had enough money to survive for a few months as long as we lived frugally, so I decided to make sure I understood Rust really well. Really get a solid feel for borrowing, and how traits work. Put tools in the toolbox; Futures, Streams, Reference counters, Mutexes, Messaging Channels, Thread Pools, Deques, B-Trees, etc. And the result of those efforts is &lt;a href="https://github.com/FuzzrNet/Fuzzr"&gt;Fuzzr&lt;/a&gt;, and it could be something really cool. I'll keep working on it, too. There may even be opportunity for convergence, since it's basically a graphical frontend for storing things in IPFS, and Filecoin basically just commoditizes IPFS storage with a blockchain.&lt;/p&gt;

&lt;p&gt;Also, in all my years as a NodeJS developer, I honestly couldn't say I truly understood something so basic as the difference between concurrency and parallelism. Thanks, JavaScript. Now I know about SIMD, fork-join, and message-passing. For me, it's not really systems development. I develop applications in the same way I used to in NodeJS, React, and Electron, just with Rust. I've been using Iced, a powerful pure Rust UI library for desktop-native applications, in addition to WebAssembly and WebGPU. Warp is a fantastic replacement for Express, and it's so good, most of the Rust devs I talk to don't even bother to put their production instances behind an Nginx reverse proxy. The Rust ecosystem has changed so much in just the last year. It's incredible for long-time TypeScript and NodeJS devs like me, who've basically just outgrown what the language and platform have to offer.&lt;/p&gt;

&lt;p&gt;Anyway, I stayed up all night to make sure I was prepared for the interview. Only four hours after our final interview, I got an offer. (I only had two interviews! First with management, then with two of the team devs... That I managed to knock out of the park! Mercy!) And I've been noodling around in their codebase and GitHub issues the whole time, just to get a better feel for what I'd be doing. Besides, filing a PR is a total power move in negotiations, right? I should get some rest, though. Sure, it's daylight, but I only sleep when I'm tired.&lt;/p&gt;

&lt;p&gt;I appreciate all the support I've received from my husband, my family, my friends, and my network during this rough, rough year, but finally, I can say I can truly see the forest through the trees.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>blockchain</category>
      <category>career</category>
    </item>
    <item>
      <title>I run arch, btw</title>
      <dc:creator>Distributed Hunter Trujillo</dc:creator>
      <pubDate>Sat, 05 Dec 2020 16:08:42 +0000</pubDate>
      <link>https://dev.to/cryptoquick/i-run-arch-btw-48kg</link>
      <guid>https://dev.to/cryptoquick/i-run-arch-btw-48kg</guid>
      <description>&lt;p&gt;So, I updated my system recently. For those new to Linux, there's an incredibly big difference between using Linux in a DevOps context (for deployment of web app infra), vs running it as a desktop OS. In fact, I think that the use case is dramatically different enough that, if you do only one of those things, then the majority of that knowledge may not be particularly relevant to the other. I do highly, highly recommend daily-driving Linux, however. And after I did it long enough, I wound up overwriting my Windows drive so I could install more Steam Play games... 😹&lt;/p&gt;

&lt;p&gt;So, it'd only been about a week since I last ran an update, I'd estimate. The update was unusually large, so I figured it merited a post to share things I've observed, for other Arch users, and also, others considering switching to Arch (or an Arch-derivative), but are hesitant to Switch To Arch for some reason.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VoLkk4V0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e1sehsjc5cifp7flgbc2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VoLkk4V0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e1sehsjc5cifp7flgbc2.png" alt="updating arch linux after a week be like"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, first, it looks like a lot of python got installed for whatever reason, and something big happened there (ah yes, &lt;a href="https://www.python.org/downloads/release/python-390/"&gt;Python 3.9&lt;/a&gt; was released back in October, congrats guys, how's that python2 switch going, and also, why is it still so hard to install and build Python projects from scratch... I kid, I kid, but kindly, kindly get your act together - thx, a Rust user). Regardless, it took me longer to read through what updated than it took to do the update, reboot, AND install the updates for all my AUR programs. I usually take the time to read through the updates while I'm updating.&lt;/p&gt;

&lt;p&gt;Speaking of the AUR, if you're not using &lt;code&gt;yay&lt;/code&gt;, you should consider it. I haven't used other AUR package managers, but I haven't really needed or wanted to. Though, sometimes my keychain gets borked, and although I suspect yay could probably fix that for me, it sometimes doesn't. That usually results in me doing a search for the error, and then I'll usually find the command I need to run to fix it.&lt;/p&gt;

&lt;p&gt;I don't usually do automated updates, since updates don't usually break things, but they break the system sometimes, and I don't want to wake up to a broken system, nor do I wish to reboot every night (why else would I want 64GB of RAM?), which is what I usually do, but only when the kernel is updated, otherwise, that's usually unnecessary. further, sometimes the update doesn't work (this happens somewhat more frequently than things breaking). I've also never seen an update hose the box or cause it to become unable to boot, cross my fingers. Regardless, Arch is not for people who don't care to learn how to also Fix Their Linux. It's not that hard, though, since the ArchWiki is plenty adequate, if not always on par with Gentoo's wiki efforts, I suppose.&lt;/p&gt;

&lt;p&gt;Fixing Your Linux usually just requires a quick DuckDuckGo search, of course (anything but Google, they hate their users, and will probably &lt;a href="https://killedbygoogle.com"&gt;kill&lt;/a&gt; Google Search too some day), or just looking in &lt;code&gt;journalctl&lt;/code&gt;, which is surprisingly helpful. Sometimes when things break, I can usually fix them (at least temporariily) just by looking in there and trying the usual things, such as, oh, I dunno, Reading The Error (often surprisingly helpful!), and usually results in you having to delete something and re-running the thing that didn't work.&lt;/p&gt;

&lt;p&gt;So, if you are a frequent reader of Phoronix, and you don't want to wait six months to use the latest thing you like, and you're beginning to suspect that it's more trouble than it's worth to hammer in new stuff to your distro without the direct consent of your package manager (I'm looking at you, &lt;code&gt;apt&lt;/code&gt;) all the time, then I recommend Switching To Arch.&lt;/p&gt;

&lt;p&gt;Also, don't let Windows users fool you. Steam games often work just as good (and &lt;a href="https://www.reddit.com/r/linux_gaming/comments/5u280m/games_that_run_better_on_linux_than_on_windows/"&gt;sometimes better&lt;/a&gt;, &lt;a href="https://www.reddit.com/r/Stellaris/comments/5zt9j9/is_it_just_my_or_does_stellaris_runs_much_better/"&gt;in&lt;/a&gt; &lt;a href="https://www.linuxquestions.org/questions/linux-games-33/stellaris-seems-to-perform-better-on-linux-4175633845/"&gt;the&lt;/a&gt; &lt;a href="https://www.reddit.com/r/paradoxplaza/comments/by0srt/is_game_performance_better_on_linux/"&gt;case&lt;/a&gt; &lt;a href="https://www.protondb.com/app/281990"&gt;of&lt;/a&gt; &lt;a href="https://www.reddit.com/r/Stellaris/comments/9wigj5/dunno_if_anyone_has_talked_about_this_but/"&gt;Stellaris&lt;/a&gt;), and that's not even including the ones you can install with Lutris and GOG. And if you're still using macOS, I've got incredibly good news! Linux gaming is in a much better state, since Proton doesn't work on macOS, and... &lt;a href="https://github.com/ValveSoftware/Proton/issues/1344"&gt;may take a while longer&lt;/a&gt;... So, I suggest you Switch To Arch. Oh, and enjoy less of the frustrating stuff Apple does to hold your system, and &lt;a href="https://sneak.berlin/20201112/your-computer-isnt-yours/"&gt;other unsurprising mothership shenanigans&lt;/a&gt;. Believe me, this is coming from a former MacBook 2019 daily driver. The machine I used cost $4000. &lt;a href="https://pcpartpicker.com/b/tpBZxr"&gt;My current one&lt;/a&gt; cost much less to build, and is better in every way, if not as small or... portable. Not as hot, or loud, due to all 140mm fluid bearing fans, though!&lt;/p&gt;

&lt;p&gt;Switch To Arch. Unless, for some reason, you're using Gentoo or NixOS, at which point, I'd still suggest thinking of Arch, since it does have benefits over either, but I don't see it as unequivocally superior as it is to other mediocre desktop distros like Debian/Ubuntu or Fedora/CentOS.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>archlinux</category>
    </item>
  </channel>
</rss>
