<?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: Charles Gibson</title>
    <description>The latest articles on DEV Community by Charles Gibson (@readredready).</description>
    <link>https://dev.to/readredready</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%2F294220%2Fb6f1b039-a4ad-4bf0-9bf4-9848f20e7545.jpg</url>
      <title>DEV Community: Charles Gibson</title>
      <link>https://dev.to/readredready</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/readredready"/>
    <language>en</language>
    <item>
      <title>The Internet After This</title>
      <dc:creator>Charles Gibson</dc:creator>
      <pubDate>Sat, 11 Apr 2020 18:32:29 +0000</pubDate>
      <link>https://dev.to/readredready/the-internet-after-this-316e</link>
      <guid>https://dev.to/readredready/the-internet-after-this-316e</guid>
      <description>&lt;p&gt;The web experience is constantly evolving. Every year we not only advance the technologies that make it better linearly, we also &lt;em&gt;expand&lt;/em&gt; the number of technologies that can be made better making it better &lt;em&gt;exponentially&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Very few fields work like this: forecasting the state of the internet from the state of its parts is like counting the number of people in a room of moving people. But let's try anyway!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What web technology do you think will most significantly change/improve the world? What is being understated or overstated?&lt;/strong&gt;&lt;/p&gt;


&lt;li&gt;
&lt;em&gt;It's my Interwebs, and I need it NOW!&lt;/em&gt; - Consider the impact of a tech everyone gets today vs most people won't see for 5, 10 years. Many people still don't know VR even exists!




&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Back in my day...&lt;/em&gt; - Consider whether this tech might make our experience unrecognizable over time. Remember life before GUI? The world doesn't.




&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;With our powers combined...&lt;/em&gt; - Consider a combination of techs that is greater than the sum of its parts. What do they make possible together?

&lt;p&gt;Here are some nominees (or introduce your own!):&lt;/p&gt;

&lt;h3&gt;Godspeed&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;5G&lt;/em&gt; and &lt;em&gt;fiber optics&lt;/em&gt; will greatly increase download and upload speeds. But who will get it when? Limits on rollout mean many people won't feel the difference for a while, but what about those who get this supercharge?&lt;/p&gt;

&lt;h3&gt;Quantum Leap&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Quantum computing&lt;/em&gt; similarly moves computational power to new heights. If you think big data is juicy today wait until the quantum interpretation. Access will be limited to big players for a while; personal quantum computing might be many years off.&lt;/p&gt;

&lt;h3&gt;The Invasion&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Progressive Web Apps (PWA)&lt;/em&gt; are moving the online offline. The perks of native programming might not qualify it for survival as the tech powers that be channel innovation into web tech. It's already here though, and is splashing more like a Magikarp at the moment.&lt;/p&gt;

&lt;h3&gt;Speaking My Language&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Web Assembly&lt;/em&gt; is bringing all the languages under one roof. The web is poised to become a melting pot welcoming all the advantages and diversity of the entire world of programmers and programs in the browser.&lt;/p&gt;

&lt;h3&gt;According to Protocol&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;HTTP/3&lt;/em&gt; and &lt;em&gt;QUIC&lt;/em&gt; is upgrading the bridge between server and client to new levels. This mass of changes will improve security, speed, and traffic management for everyone who uses it, and will be especially impactful in areas with less reliable and fast coverage at no additional cost.&lt;/p&gt;

&lt;p&gt;Tell us what you think! &lt;/p&gt;

&lt;p&gt;PS bonus points for sharing about equity and accessibility :*&lt;/p&gt;


&lt;/li&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>State of Rust Web Frameworks (Server, DB)</title>
      <dc:creator>Charles Gibson</dc:creator>
      <pubDate>Sun, 05 Apr 2020 01:24:34 +0000</pubDate>
      <link>https://dev.to/readredready/state-of-rust-web-frameworks-server-3g42</link>
      <guid>https://dev.to/readredready/state-of-rust-web-frameworks-server-3g42</guid>
      <description>&lt;p&gt;I've seen two frameworks consistently the most talked about: Rocket and Actix-web.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Rocket&lt;/b&gt; and &lt;b&gt;Actix-web&lt;/b&gt; seem to have a positive user experience and are more complete frameworks, but Rocket (for now) uses Nightly and does not have async yet and Actix-web's maintainer recently changed.&lt;br&gt;
&lt;b&gt;Warp&lt;/b&gt; and &lt;b&gt;Tide&lt;/b&gt; are also drumming up excitement.&lt;br&gt;
&lt;b&gt;Hyper&lt;/b&gt;—and soon &lt;b&gt;async-h1&lt;/b&gt;—perform at a lower level and form the foundation of Warp and Tide respectively.&lt;br&gt;
(More at: &lt;a href="https://lib.rs/web-programming/http-server"&gt;lib.rs/server&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Tokio, Actix and async-std bring async functionality to the frameworks. Tokio is tried and true, Actix is great but is only used for Actix-web, and async-std is the final evolution of Tokio.&lt;br&gt;
(More at: &lt;a href="https://lib.rs/asynchronous"&gt;lib.rs/async&lt;/a&gt;) &lt;/p&gt;

&lt;p&gt;For databases interfaces, &lt;b&gt;diesel&lt;/b&gt; ORM is the most complete and popular solution. &lt;b&gt;SQLx&lt;/b&gt; is angling to be the most perfect and Rusty solution (async, pure Rust, most DBMS, compile time checked).&lt;br&gt;
(More at: &lt;a href="https://lib.rs/database"&gt;lib.rs/db&lt;/a&gt;) &lt;/p&gt;

&lt;p&gt;With stability, performance, features, and learning curve in mind which is best? &lt;br&gt;
Are any worth adopting yet? Why (not)?&lt;br&gt;
Are they only usable for niche projects? What use cases?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you for your major contribution robertorojasr!&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Takeaways&lt;/h2&gt;

&lt;h4&gt;Server&lt;/h4&gt;

&lt;p&gt;Actix-web is the best complete framework &lt;em&gt;today&lt;/em&gt;. It has LTS, a community, excellent performance, and a well-equipped vertical integration. However Rocket(v0.5), Warp, and Tide should quickly challenge it.&lt;/p&gt;

&lt;h4&gt;DB Interface&lt;/h4&gt;

&lt;p&gt;If you like using ORM solutions, diesel is ready to go. Otherwise, depending on your DB and bravery you might want to wait for/jump into SQLx or try one of the many DBMS-specific option.&lt;/p&gt;

&lt;h4&gt;Overall&lt;/h4&gt;

&lt;p&gt;There are viable comprehensive Rust solutions ready-to-go out there. You can build a speed, lightweight, simple server as an at least moderately experienced Rustacean and BE dev today with limited but meaningful granularity. For less experienced  devs (like myself), Actix is the most suitable full solution, Hyper for very lightweight simple solutions, but otherwise you may run into problems with lack of documentation, shifting support, and lack of features and abstractions towards simplicity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;I will try to keep this up to date as the discussion continues. Please notify me if anything is misrepresentative or inaccurate, or to contribute to the post.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>SOS! CSS is eating my timeline!</title>
      <dc:creator>Charles Gibson</dc:creator>
      <pubDate>Tue, 10 Mar 2020 17:26:55 +0000</pubDate>
      <link>https://dev.to/readredready/sos-css-is-eating-my-timeline-46ok</link>
      <guid>https://dev.to/readredready/sos-css-is-eating-my-timeline-46ok</guid>
      <description>&lt;h3&gt;"You thought CSS was going to be easy!"&lt;/h3&gt;

&lt;p&gt;It only took one attempt at pure vanilla CSS to see where things go awry. Deciding on a structure before you begin is complicated, and CSS is already hard! I am now sold on the argument that no one should be writing pure CSS. &lt;/p&gt;

&lt;h3&gt;Where to begin then?&lt;/h3&gt;

&lt;p&gt;My understanding of CSS frameworks and libraries—and the landscape of the two—is a bit shaky to begin with. I am having a hard time even weeding through potential directions to start looking. Some qualities I'm looking for:&lt;/p&gt;


&lt;li&gt;Quickest to visually tolerable
&lt;/li&gt;
&lt;li&gt;Lightweight, fast
&lt;/li&gt;
&lt;li&gt;FW/lib/method aligns with future CSS work

&lt;p&gt;It &lt;em&gt;doesn't have to be:&lt;/em&gt;&lt;/p&gt;




&lt;/li&gt;
&lt;li&gt;Devastatingly gorgeous - if I need to make it prettier I will do the hard work
&lt;/li&gt;
&lt;li&gt;Idiot proof - I don't need it to abstract away CSS writing process

&lt;p&gt;To give a little context here was my impression of a few frameworks:&lt;/p&gt;




&lt;/li&gt;
&lt;li&gt;Bootstrap seems convenient but too heavy. Might be suitable for professional contexts where specs are sacrificed for short turnarounds.
&lt;/li&gt;
&lt;li&gt;CSS-in-JS seems too heavy and like it will die in the near future.
&lt;/li&gt;
&lt;li&gt;Utility-class frameworks and libraries seemed not any easier than pure (BEM) CSS. It felt more suited to managing large projects or many projects over time.

&lt;p&gt;Can anyone recommend a CSS framework or library for young devs like me?&lt;/p&gt;


&lt;/li&gt;

</description>
      <category>help</category>
      <category>css</category>
      <category>beginners</category>
    </item>
    <item>
      <title>To a Greener Me</title>
      <dc:creator>Charles Gibson</dc:creator>
      <pubDate>Wed, 19 Feb 2020 21:18:26 +0000</pubDate>
      <link>https://dev.to/readredready/to-a-greener-me-1a5o</link>
      <guid>https://dev.to/readredready/to-a-greener-me-1a5o</guid>
      <description>&lt;p&gt;Here's the letter I'd like to send to a former self who was new to web development:&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Dear greener Charles,&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;It has been quite some time since I was you. Bad news first: you haven't accomplished anything you thought you were going to do, and you're always a little anxious about that (sorry, bud). But the good news: you're always learning new things and the great expanse of programmatic intricacies are awesome and you can use that screen that hackers use in movies where it's just text cascading down the screen from erratic typing! &lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Nothing is going according to plan, but you're going somewhere and that keeps you together.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;I have some advice going forward. First, there is a near infinite number of things you don't even know that you don't know. And even now I'm confronted by aspects that boggle and competing concepts defended equally all too frequently. But knowing what you don't know is half the battle. Be diligent, organized, and undaunted; keep a running list of foreign terms and learn them with the fervor of your freshman days. Every new term is an ingredient in the cauldron to your many future projects. &lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Second, books are for nerds. Take a Nike moment and just do it. I'm not saying books and documentation aren't helpful, they are brilliant. But the moment you sit down to apply it you will feel lost all over again. Let experience be your scaffolding and literature be your blueprint. Acquire your scaffolding, then do the blueprint, and fill the details in after. It'll keep you sane seeing your accomplishments, but more importantly it'll let you retain knowledge in a way that is personal and retrievable.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Third, you're not too cool to take the path well traveled. Sure it's not perfect but you'll find plenty of friends and tips to keep you on the right path. Every framework and library will try to seduce you, but they come and go like farts in the wind. Circling back to the first point: you will spend more time figuring out which ones do what best when and why than you will accomplishing because you don't know why you are doing anything anyway! Just pick a path well traveled and see it to the end. You will have many chances to venture afterwards. (Added bonus, employers are fond of the mainstream &lt;em&gt;hint hint&lt;/em&gt;)&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Lastly, on the note of seeing it through just get great at one thing and let the world babysit the rest of your project. You are not a full-stack genius. HTML? You don't "got" that. All that time you are about to spend learning CSS particulars is going to really make you sad when you let it sit on the shelf for half a year. Your front-end is going to look great until you realize it's actually terrible, and your back-end is thee sloppiest. But now you're invested everywhere and completely obsessed with doing a four-man job with a half wit's intuition, spread impossibly thin. And somehow loving that sweet agony.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;You have always been you so none of this should be too shocking.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Hopefully you make better decisions than I did, but if you don't at least you'll be as hopefully hopeless as I am.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Yours necessarily, &lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;Riper Charles&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;P.S. Really though: CSS in a can, please. It's the hardest, saddest thing you will ever do.&lt;/i&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
