<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Carl Lerche</title><link>https://carllerche.netlify.app/</link><description>Recent content on Carl Lerche</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Carl Lerche</copyright><lastBuildDate>Thu, 17 Jun 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://carllerche.netlify.app/index.xml" rel="self" type="application/rss+xml"/><item><title>Exploring ways to make async Rust easier</title><link>https://carllerche.netlify.app/2021/06/17/six-ways-to-make-async-rust-easier/</link><pubDate>Thu, 17 Jun 2021 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2021/06/17/six-ways-to-make-async-rust-easier/</guid><description>Asynchronous Rust is powerful but has a reputation for being hard to learn. There have been various ideas on how to fix the trickiest aspects, though with my focus being on Tokio 1.0, I had not been able to dedicate much focus to those topics. However, Niko&amp;rsquo;s async vision effort has recently started the discussion again, so I thought I would take some time to participate.
In this article, I collect some previously proposed ideas and offer some new ones, tying them together to explore what could be.</description></item><item><title>Tower Web 0.3 — async/await and template support</title><link>https://carllerche.netlify.app/2018/09/28/tower-web-03/</link><pubDate>Fri, 28 Sep 2018 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2018/09/28/tower-web-03/</guid><description>Happy Friday!
Today, Tower Web 0.3 has been released and it comes with two major new features:
Experimental support for async/await. Support for using templates to render responses. Async/await support In case you haven’t heard, async/await is a big new feature that is being worked on for Rust. It aims to make asynchronous programming easy (well, at least a little bit easier than it is today). The work has been on going for a while and is already usable today on the Rust nightly channel.</description></item><item><title>Tower Web — Expanding the middleware stack</title><link>https://carllerche.netlify.app/2018/09/07/tower-web-middleware/</link><pubDate>Fri, 07 Sep 2018 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2018/09/07/tower-web-middleware/</guid><description>tower-web version 0.2.2 has been released. It comes with a number of new features, which I will talk about in this post. Primarily, the middleware story is starting to come together. I will be expanding some on how middleware fits into Tower and web in general.
First, a quick recap Tower is a library for writing modular and reusable networking services (previously announced here). It does this by defining a simple trait representing asynchronous request / response based services.</description></item><item><title>Tower Web 0.2 — Now 100% comment attribute free</title><link>https://carllerche.netlify.app/2018/08/09/tower-web-02/</link><pubDate>Thu, 09 Aug 2018 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2018/08/09/tower-web-02/</guid><description>Last week, I announced Tower Web, a web application framework for Rust that focuses on removing boilerplate. It uses Rust macros to generate necessary HTTP boilerplate so that the application can be written decoupled from HTTP concerns.
One of the stated goals was that it needed to work on stable Rust today.
This is what the API looked like when I announced it:
#[macro_use]externcratetower_web;usetower_web::ServiceBuilder;#[derive(Clone, Debug)]struct HelloWorld;impl_web!{implHelloWorld{/// @get(&amp;#34;/&amp;#34;) fn hello_world(&amp;amp;self)-&amp;gt; Result&amp;lt;String,()&amp;gt;{Ok(&amp;#34;Hello world&amp;#34;.</description></item><item><title>Tower Web — A new web framework for Rust</title><link>https://carllerche.netlify.app/2018/08/09/announcing-tower-web/</link><pubDate>Thu, 09 Aug 2018 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2018/08/09/announcing-tower-web/</guid><description>I previously announced Tower and mentioned that a web framework was in the works. It took longer than I had hoped (as it sometimes does with software), but today, I am opening up Tower Web.
Tower Web is an asynchronous HTTP web framework that focuses on removing boilerplate. It is built on top of Tokio, Hyper, and of course Tower. It works today on stable Rust.
Here is “hello world”.</description></item><item><title>Announcing Tower</title><link>https://carllerche.netlify.app/2018/04/06/announcing-tower/</link><pubDate>Fri, 06 Apr 2018 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2018/04/06/announcing-tower/</guid><description>Tower (Github) has been a bit of an open secret for a while now, but it has been getting some mentions recently after the Rust all hands, so I thought I would write a more formal post to talk about it, the goals, and the short term roadmap.
tl;dr Tower is a library for writing robust network services with Rust. It is being built in service of the Conduit proxy, which is using the Tokio ecosystem to build the world’s smallest, fastest, most secure network proxy.</description></item><item><title>Announcing Tokio</title><link>https://carllerche.netlify.app/2016/08/03/announcing-tokio/</link><pubDate>Wed, 03 Aug 2016 00:00:00 +0000</pubDate><guid>https://carllerche.netlify.app/2016/08/03/announcing-tokio/</guid><description>I’m very excited to announce a project that has been a long time in the making. Tokio is a network application framework for rapid development and highly scalable deployments of clients and servers in the Rust programming language.
It strives to make writing robust, scalable, and production ready network clients and servers as easy as possible. It does this by focusing on small and reusable components… and by being really, really, fast.</description></item></channel></rss>