Rust + Moth's Winter 2020 issue is now available in print. These are quiet, dawn-dark pages, meant for early morning walks, pocketed grief, and deep breaths in before beginning anew.
Rust and Moth's Winter 2021 issue is now available in print This crepuscular issue cries out to what we've lost over the horizon. Join these talented writers as they sing out the endless year.
Rust and Moth's Autumn 2020 issue is now available in print This issue does its level best to wrest language back from the ashes. These pieces own themselves, they resist simplicity, and they rise like lions. If you anticipate waiting in a long line to vote this fall, we invite you to take these pages with you. All profits from this issue will be donated to the Movement for Black Lives.
Poetry collective. Featuring Tohm Bakelas, Jason Baldinger, Mark Borczon, Matthew Borczon, Jen McCurry Calamitygin, R.M. Engelhardt, Red Focks, Theresa C. Gaynord, Mark Hartenbach, Veronica Hopkins, Richard Houff, Luke Kuzmish, Catfish McDaris, Jay Miner, Barbara Moore, Jared Morningstar, Scott Thomas Outlar, Tanya Rakh, Brian Rihlmann, Maxwell Ryder, Henry Stanton, Jeff Weddle
For developers who've mastered the basics, this book is the next step on your way to professional-level programming in Rust. It covers everything you need to build and maintain larger code bases, write powerful and flexible applications and libraries, and confidently expand the scope and complexity of your projects. Author Jon Gjengset takes you deep into the Rust programming language, dissecting core topics like ownership, traits, concurrency, and unsafe code. You'll explore key concepts like type layout and trait coherence, delve into the inner workings of concurrent programming and asynchrony with async/await, and take a tour of the world of no_std programming. Gjengset also provides expert guidance on API design, testing strategies, and error handling, and will help develop your understanding of foreign function interfaces, object safety, procedural macros, and much more. You'll Learn: How to design reliable, idiomatic, and ergonomic Rust programs based on best principles; Effective use of declarative and procedural macros, and the difference between them; How asynchrony works in Rust all the way from the Pin and Waker types used in manual implementations of Futures, to how async/await saves you from thinking about most of those words; What it means for code to be unsafe, and best practices for writing and interacting with unsafe functions and traits; How to organize and configure more complex Rust projects so that they integrate nicely with the rest of the ecosystem; How to write Rust code that can interoperate with non-Rust libraries and systems, or run in constrained and embedded environments. Brimming with practical, pragmatic insights that you can immediately apply, Rust for Rustaceans helps you do more with Rust, while also teaching you its underlying mechanisms.
Ten years. Ten dizzy trips around the sun. Forty seasons, hundreds of authors, and the singular gift of poetry, flagged down and rebroadcast from the nearest moon tower. Featuring our favorite poems from our first decade as a journal, this special Summer 2018 issue features a litany of surprises for our beloved contributors and readers. With poetry from Hannah Dellabella, Meghan Bliss, Tammy Robacker, Brittany Adames, Moriah Pearson, J.A. Batty, Katie Gleason, Chloe Stricklin, Liz Hogan, Monica Lewis, Mar a Isabel Alvarez, Avery M. Guess, Lauren Yates, Emily Corwin, Erin Marie Hall, Kristen Case, Torrin Greathouse, Kevin Casey, Denise Rodriguez, Estlin Thomas, Isabella Black, Salvatore Attardo, Sergio Ortiz, Matthew Payne, Chera Hammons, Suzanne Langlois, Mary Alice Endicott, Matty Layne, M. Brett Gaffney, Tasha Graff, Sarah Nix, Jacqueline Sabbagh, Patrick Venturella, Brian D. Morrison, Hannah Kroonblawd, Julia Kolchinsky Dasbach, Tyler Kline, Tom Carrigan, and Vanessa Bissereth. Ten years and counting, dear readers... this one's for ya'll. Thank you for being our mustard seed.
Charles Lucas is a Portland, Oregon artist who grew up in Chicago and wandered west in the mid-seventies. He is mainly self-taught and works in multiple disciplines, including painting, ceramics, photography and poetry. This is his second Round Bend Press Books publication.
Rust ] Moth's Autumn 2018 issue is now out in print This is a heavy one, dear readers, laden with ink and black water. We invite you to fill your pockets, go deep, and hold your breath as long as you can. With new poetry from Laura Passin, James Croal Jackson, Rebecca Kokitus, Brian Randall, Alexandre Ferrere, Pat Hanahoe-Dosch, Ashley Underwood, Jen Davis, Kate Wright, James Reidel, Alyssa Hanna, Catalina Righter, Phillip Watts Brown, David Gilmore, Erin Wilson, Daniel Pieczkolon, Deanne Napurano, Peter E. Murphy, John Grey, Gabe Herron, Amy Strauss Friedman, Christina Thatcher, Cynthia Atkins, Savannah Cooper, C. Samuel Rees, Mela Blust, Emma Bolden, Martin Ott, Brendan Stermer, Kimberly Dawn Stuart, Effy Winter, Sally J. Johnson, Cameron Morse, Susan Richardson, Neva Bryan, and Kathleen Mitchell-Askar.
Discover the power and versatility of Rust, the modern programming language that combines fucking control, performance, and security. With step-by-step guidance, learn the fundamentals, delve into advanced concepts, tackle real-world projects, and become a master of fucking Rust. From web development to concurrency, memory safety to deployment strategies, this comprehensive guide will equip you with all the tools and knowledge to succeed in building high-quality, secure, and efficient applications. Why the fuck should you learn Rust? Because its the fucking future.
Rust Programming in easy steps introduces all the features of the Rust programming language, using worked example programs. Rust is still an immature language and sees a major release every six years. Rust 2024 is expected to be released in February 2025, and is the version of the language that this book will deal with. The language differences are slight. Of greater concern is the library of “crates” that support more advanced features. Many of these are either not in place or not stable enough to be relied on. In particular, no one crate has emerged that provides a desktop GUI interface. Therefore, all the examples in this book will be for command-line, text-based programs.The book includes two full example programs taken from areas where Rust has seen significant use: web back-end and embedded development. The latter requires that the reader obtain an Arduino and a few electronic components. This optional project need not cost more than around £10. Rust Programming in easy steps is intended for experienced programmers and is not suitable for beginners. Covers Rust 2024, which is due for release in February 2025.
Leverage the functional programming and concurrency features of Rust and speed up your application development About This Book • Get started with Rust to build scalable and high performance applications • Enhance your application development skills using the power of Rust • Discover the power of Rust when developing concurrent applications for large and scalable software Who This Book Is For The book is for developers looking for a quick entry into using Rust and understanding the core features of the language. Basic programming knowledge is assumed. What You Will Learn • Set up your Rust environment to achieve the highest productivity • Bridge the performance gap between safe and unsafe languages • Use pattern matching to create flexible code • Apply generics and traits to develop widely applicable code • Organize your code in modules and crates • Build macros to extend Rust's capabilities and reach • Apply tasks to tackle problems concurrently in a distributed environment In Detail Rust is the new, open source, fast, and safe systems programming language for the 21st century, developed at Mozilla Research, and with a steadily growing community. It was created to solve the dilemma between high-level, slow code with minimal control over the system, and low-level, fast code with maximum system control. It is no longer necessary to learn C/C++ to develop resource intensive and low-level systems applications. This book will give you a head start to solve systems programming and application tasks with Rust. We start off with an argumentation of Rust's unique place in today's landscape of programming languages. You'll install Rust and learn how to work with its package manager Cargo. The various concepts are introduced step by step: variables, types, functions, and control structures to lay the groundwork. Then we explore more structured data such as strings, arrays, and enums, and you'll see how pattern matching works. Throughout all this, we stress the unique ways of reasoning that the Rust compiler uses to produce safe code. Next we look at Rust's specific way of error handling, and the overall importance of traits in Rust code. The pillar of memory safety is treated in depth as we explore the various pointer kinds. Next, you'll see how macros can simplify code generation, and how to compose bigger projects with modules and crates. Finally, you'll discover how we can write safe concurrent code in Rust and interface with C programs, get a view of the Rust ecosystem, and explore the use of the standard library. Style and approach The book takes a pragmatic approach, showing various methods to solve systems programming tasks with Rust and develop resource intensive and low-level systems applications.
Discover the world of Rust programming through real-world examples About This Book • Implement various features of Rust to build blazingly fast applications • Learn to build GUI applications using Gtk-rs • Explore the multi-threading aspect of Rust to tackle problems in concurrency and in distributed environments Who This Book Is For This book is for software developers interested in system level and application programming who are looking for a quick entry into using Rust and understanding the core features of the Rust Programming. It's assumed that you have a basic understanding of Java, C#, Ruby, Python, or JavaScript. What You Will Learn • Compile and run the Rust projects using the Cargo-Rust Package manager • Use Rust-SDL features such as the event loop, windows, infinite loops, pattern matching, and more • Create a graphical interface using Gtk-rs and Rust-SDL • Incorporate concurrency mechanism and multi-threading along with thread safety and locks • Implement the FTP protocol using an Asynchronous I/O stack with the Tokio library In Detail Rust is an open source, safe, concurrent, practical language created by Mozilla. It runs blazingly fast, prevents segfaults, and guarantees safety. This book gets you started with essential software development by guiding you through the different aspects of Rust programming. With this approach, you can bridge the gap between learning and implementing immediately. Beginning with an introduction to Rust, you'll learn the basic aspects such as its syntax, data types, functions, generics, control flows, and more. After this, you'll jump straight into building your first project, a Tetris game. Next you'll build a graphical music player and work with fast, reliable networking software using Tokio, the scalable and productive asynchronous IO Rust library. Over the course of this book, you'll explore various features of Rust Programming including its SDL features, event loop, File I/O, and the famous GTK+ widget toolkit. Through these projects, you'll see how well Rust performs in terms of concurrency—including parallelism, reliability, improved performance, generics, macros, and thread safety. We'll also cover some asynchronous and reactive programming aspects of Rust. By the end of the book, you'll be comfortable building various real-world applications in Rust. Style and approach This comprehensive guide uses practical examples to implement various RUST programming features.
Find bottlenecks, identify the proper algorithm to use, optimize performance, and create really efficient Rust applications About This Book • Understand common performance pitfalls and improve the performance of your applications. • Get to grips with parallel programming and multithreading with Rust. • Learn metaprogramming in Rust. Who This Book Is For This book is for Rust developers keen to improve the speed of their code or simply to take their skills to the next level. What You Will Learn • Master tips and tricks to make your code faster. • Learn how to identify bottlenecks in your Rust applications • Discover how to profile your Rust software. • Understand the type system to create compile-time optimizations. • Master the borrow checker . • Learn metaprogramming in Rust to avoid boilerplate code. • Discover multithreading and work stealing in Rust. • Understand asynchronous programming in Rust. In Detail At times, it is difficult to get the best performance out of Rust. This book teaches you to optimize the speed of your Rust code to the level of languages such as C/C++. You'll understand and fix common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code by concurrently executing parts of it safely and easily. You will master the features of the language which will make you stand out and use them to really improve the efficiency of your algorithms The book begins with a gentle introduction to help you identify bottlenecks when programming in Rust. We highlight common performance pitfalls, along with strategies to detect and resolve these issues early. We move on to mastering Rust's type system, which will enable us to create impressive optimizations in both performance and safety at compile time. You will then learn how to effectively manage memory in Rust, mastering the borrow checker. We move on to measuring performance and you will see how this affects the way you write code. Moving ahead, you will perform metaprogramming in Rust to boost the performance of your code and your productivity. You will finally learn parallel programming in Rust, which enables efficient and faster execution by using multithreading and asynchronous programming. Style and approach You'll embark on a learning journey that will teach about you deep-core concepts in the Rust language. Learning those concepts—such as understanding the borrow checker—will make you competent to write more efficient Rust code. To learn those core concepts, you'll perform practical work and see for yourself how specific patterns improve the performance of your code.
Explore the Rust Standard library and compose algorithms with minimal dependency on external librariesKey FeaturesDevelop high-quality, fast, and portable applications by leveraging the power of Rust's Standard library.Practical recipes that will help you work with the Standard library to boost your productivity as a Rust developer.Learn about most relevant external crates to be used along with the Standard library.Book DescriptionMozilla's Rust is gaining much attention with amazing features and a powerful library. This book will take you through varied recipes to teach you how to leverage the Standard library to implement efficient solutions. The book begins with a brief look at the basic modules of the Standard library and collections. From here, the recipes will cover packages that support file/directory handling and interaction through parsing. You will learn about packages related to advanced data structures, error handling, and networking. You will also learn to work with futures and experimental nightly features. The book also covers the most relevant external crates in Rust. By the end of the book, you will be proficient at using the Rust Standard library. What you will learnHow to use the basic modules of the library: strings, command line access, and more.Implement collections and folding of collections using vectors, Deque, linked lists, and more.Handle various file types, compressing, and decompressing data.Search for files with glob patterns.Implement parsing through various formats such as CSV, TOML, and JSON.Utilize drop trait, the Rust version of destructor.Resource locking with Bilocks.Who this book is forThis book is for developers who would like to explore the power of Rust and learn to use the STL for various functionalities. A basic Rust programming knowledge is assumed.
Practical solutions to overcome challenges in creating console and web applications and working with systems-level and embedded code, network programming, deep neural networks, and much more.Key FeaturesWork through recipes featuring advanced concepts such as concurrency, unsafe code, and macros to migrate your codebase to the Rust programming language Learn how to run machine learning models with Rust Explore error handling, macros, and modularization to write maintainable codeBook DescriptionRust 2018, Rust's first major milestone since version 1.0, brings more advancement in the Rust language. The Rust Programming Cookbook is a practical guide to help you overcome challenges when writing Rust code.This Rust book covers recipes for configuring Rust for different environments and architectural designs, and provides solutions to practical problems. It will also take you through Rust's core concepts, enabling you to create efficient, high-performance applications that use features such as zero-cost abstractions and improved memory management. As you progress, you'll delve into more advanced topics, including channels and actors, for building scalable, production-grade applications, and even get to grips with error handling, macros, and modularization to write maintainable code. You will then learn how to overcome common roadblocks when using Rust for systems programming, IoT, web development, and network programming. Finally, you'll discover what Rust 2018 has to offer for embedded programmers.By the end of the book, you'll have learned how to build fast and safe applications and services using Rust.What you will learnUnderstand how Rust provides unique solutions to solve system programming language problemsGrasp the core concepts of Rust to develop fast and safe applicationsExplore the possibility of integrating Rust units into existing applications for improved efficiencyDiscover how to achieve better parallelism and security with RustWrite Python extensions in RustCompile external assembly files and use the Foreign Function Interface (FFI)Build web applications and services using Rust for high performanceWho this book is forThe Rust cookbook is for software developers looking to enhance their knowledge of Rust and leverage its features using modern programming practices. Familiarity with Rust language is expected to get the most out of this book.
Get familiar with writing programs in the trending new systems programming language that brings together the powerful performance of low-level languages with the advanced features like thread safety in multi-threaded codeKey FeaturesLearn the semantics of Rust, which can be significantly different from other programming languagesUnderstand clearly how to work with the Rust compiler which strictly enforces rules that may not be obviousExamples and insights beyond the Rust documentationBook DescriptionRust is an emerging programming language applicable to areas such as embedded programming, network programming, system programming, and web development. This book will take you from the basics of Rust to a point where your code compiles and does what you intend it to do!This book starts with an introduction to Rust and how to get set for programming, including the rustup and cargo tools for managing a Rust installation and development workflow.Then you'll learn about the fundamentals of structuring a Rust program, such as functions, mutability, data structures, implementing behavior for types, and many more. You will also learn about concepts that Rust handles differently from most other languages.After understanding the Basics of Rust programming, you will learn about the core ideas, such as variable ownership, scope, lifetime, and borrowing. After these key ideas, you will explore making decisions in Rust based on data types by learning about match and if let expressions. After that, you'll work with different data types in Rust, and learn about memory management and smart pointers.What you will learnInstall Rust and write your first program with itUnderstand ownership in RustHandle different data typesMake decisions by pattern matchingUse smart pointersUse generic types and type specializationWrite code that works with many data typesTap into the standard libraryWho this book is forThis book is for people who are new to Rust, either as their first programming language or coming to it from somewhere else. Familiarity with computer programming in any other language will be helpful in getting the best out of this book.
Rust + Moth's Winter 2018 issue is now out in print These poems are liminal, evening-dark, and determined. Come leaf through the year's last pages and take notes when you can - this is a graduate-level class on how to carry a silence. With new poetry from Tanya Singh, Brandon Melendez, Kristy Bowen, Reilly D. Cox, Kanika Lawton, Keith Carver, Aldo Ampar n, John Sweet, Yuan Changming, Jennifer Wolkin, Darren C. Demaree, Mariya (Masha) Deykute, Anthony Lawrence, D.W. Struthers, Luisana Cortez, Catherine Rockwood, Emily Paige Wilson, Ron Stottlemyer, Emily Tuttle, and Jen Stewart Fueston.
Rust + Moth's Spring 2019 issue now rises from the depths This ominous volume, now available in print, is a treatise on fluidity, thirst, and water.With new poetry from Ann V. DeVilbiss, John L. Stanizzi, Hannah Carpino, Robin Moss, Rhiannon Conley, Michael Martella, Adelina Sarkisyan, Patricia Caspers, Spencer Riggi, Natalie Solmer, Elizabeth Ruth Deyro, Vincent Petruccelli, Diana Clark, Theo LeGro, Mary Hanrahan, Arah Ko, Julia Roth, Theadora Siranian, Ben Togut, Emry Trantham, Emily Schultz, Steven Duong, and Suzanne Langlois.
Adopt the Rust programming language by learning how to build fully functional web applications and services and address challenges relating to safety and performanceKey FeaturesBuild scalable web applications in Rust using popular frameworks such as Actix, Rocket, and WarpCreate front-end components that can be injected into multiple viewsDevelop data models in Rust to interact with the databaseBook DescriptionAre safety and high performance a big concern for you while developing web applications? While most programming languages have a safety or speed trade-off, Rust provides memory safety without using a garbage collector. This means that with its low memory footprint, you can build high-performance and secure web apps with relative ease. This book will take you through each stage of the web development process, showing you how to combine Rust and modern web development principles to build supercharged web apps. You'll start with an introduction to Rust and understand how to avoid common pitfalls when migrating from traditional dynamic programming languages. The book will show you how to structure Rust code for a project that spans multiple pages and modules. Next, you'll explore the Actix Web framework and get a basic web server up and running. As you advance, you'll learn how to process JSON requests and display data from the web app via HTML, CSS, and JavaScript. You'll also be able to persist data and create RESTful services in Rust. Later, you'll build an automated deployment process for the app on an AWS EC2 instance and Docker Hub. Finally, you'll play around with some popular web frameworks in Rust and compare them. By the end of this Rust book, you'll be able to confidently create scalable and fast web applications with Rust.What you will learnStructure scalable web apps in Rust in Rocket, Actix Web, and WarpApply data persistence for your web apps using PostgreSQLBuild login, JWT, and config modules for your web appsServe HTML, CSS, and JavaScript from the Actix Web serverBuild unit tests and functional API tests in Postman and NewmanDeploy the Rust app with NGINX and Docker onto an AWS EC2 instanceWho this book is forThis book on web programming with Rust is for web developers who have programmed in traditional languages such as Python, Ruby, JavaScript, and Java and are looking to develop high-performance web applications with Rust. Although no prior experience with Rust is necessary, a solid understanding of web development principles and basic knowledge of HTML, CSS, and JavaScript are required if you want to get the most out of this book.
Explore the world of Rocket-fueled web application development and the power of the Rust programming languageKey FeaturesDiscover solutions to the common problems faced while creating web applications with RocketLearn everything about Rust, from structs and crates to generics and debuggingCombine Rust and Rocket to create, test, and deploy a full-featured web appBook DescriptionLooking for a fast, powerful, and intuitive framework to build web applications? This Rust book will help you kickstart your web development journey and take your Rust programming skills to the next level as you uncover the power of Rocket - a fast, flexible, and fun framework powered by Rust.Rust Web Development with Rocket wastes no time in getting you up to speed with what Rust is and how to use it. You’ll discover what makes it so productive and reliable, eventually mastering all of the concepts you need to play with the Rocket framework while developing a wide set of web development skills. Throughout this book, you'll be able to walk through a hands-on project, covering everything that goes into making advanced web applications, and get to grips with the ins and outs of Rocket development, including error handling, Rust vectors, and wrappers. You'll also learn how to use synchronous and asynchronous programming to improve application performance and make processing user content easy.By the end of the book, you'll have answers to all your questions about creating a web application using the Rust language and the Rocket web framework.What you will learnMaster the basics of Rust, such as its syntax, packages, and toolsGet to grips with Rocket's tooling and ecosystemExtend your Rocket applications using Rust and third-party librariesCreate a full-fledged web app with Rocket that handles user contentWrite pattern-matching logic and handle Rust object lifetimesUse APIs and async programming to make your apps secure and reliableTest your Rocket application and deploy it to productionContainerize and scale your applications for maximum efficiencyWho this book is forThis web development book is for software engineers who want to learn how to use the Rocket framework to build web applications. Although not mandatory, basic knowledge of the Rust programming language will help you understand the topics covered easily.