Small updates to cargo-bump, a tool to update your project version.

Updated cargo-bump to have an accurate README.md and some minor code edits to make my new best friend, Clippy, happy. If you find editing your Cargo.toml to increase version numbers tedious, then this is the cargo extension for you: https://crates.io/crates/cargo-bump

Internship Ending: So Long, and Thanks for All the Fish

Yesterday was the last day of my Rust internship at Mozilla. I can hardly believe that twelve weeks have passed since I started, but my calendar insists.

https://www.ralfj.de/blog/2017/08/12/internship-ending.html

Types as Contracts: Implementation and Evaluation

Some weeks ago, I described Types as Contracts as an approach for how to go about defining Rust’s aliasing-related undefined behavior. One key property of this approach is that it is executable, which means we can actually have a program (in this case, miri tell us whether some particular Rust test case exhibits undefined behavior or not. I have since then spent most of my time completing and refining this implementation, and running it on miri’s test suite to exercise various bits of the standard library and see whether they are actually following the rules I have been suggesting.

This post is my report on what I found, and how the approach itself changed in response to these findings. It also explains how you can run miri yourself and have it check your code for undefined behavior according to this model. Finally, I discuss some of the things that I would like to look at going forward.

https://www.ralfj.de/blog/2017/08/11/types-as-contracts-evaluation.html

[Norway] - Hack & Learn on 7th of August

Let’s meet for open hacking and collaborative learning in our group.

https://www.meetup.com/Rust-Oslo/events/240457992/

[Spanish] Building Web apps with Rocket

A Webinar in Spanish about building apps with Rocket about to start

https://sg1.clickmeeting.com/creacion-de-web-apps-con-rocket

Following along with "Crafting Interpreters" in rust

I’ve been following Bob Nystrom’s Crafting Interpreters for a while now, and decided to follow along using Rust instead of java or c.

https://github.com/pwoolcoc/crafting-interpreters-rust

Microblog about my ideal computing system https://mastodon.social/@cmr/14332210

This is Rust-relevant, as it is directly tied to my inspiration to create the Robigalia project, which is currently the community where any public Rust + seL4 work is done. I think Robigalia will probably be more practical/pragmatic/less opinionated than my ideal, but I want it to be possible for it to serve as a prototype for something with similar properties as the ideal system.

Link: https://mastodon.social/@cmr/14332210

zVault - a deduplication backup solution written in Rust

zVault is a new deduplicating backup solution that I have written from scratch. It features strong fingerprint based deduplication, compression, client-side encryption and remote storage. The project is still in a pretty early stage and all feedback and help will be highly appreciated.

Updates

The Herald received a few updates, most notably, you now need to confirm you Twitter account.

London Rust Meetup on the 19th of July

We’ll be at Code|Node (near London Liverpool Street Station). We meet at 6:30PM, join us for a night of Rust and Revelry!

https://www.meetup.com/Rust-London-User-Group/events/241587477/

An example of Rust compiling generics

I extracted a tiny example to present how Rust compiles generics from our Rust course and put it on godbolt. It may sound simple, but this tends to be a source of confusion at courses: traits get compiled down to static function calls.

https://godbolt.org/g/br4sE2

I recommend following the colors and the naming scheme.

Increasing Rust’s Reach

The Rust team announces a new outreach initiative, providing mentoring and guidance on Rust specific subjects.

Feel free to apply!

https://blog.rust-lang.org/2017/06/27/Increasing-Rusts-Reach.html

A script for GitHub App recent activity: https://github.com/notriddle/show-recent-activity-for-github-bot

For normal users, you can look at there page (for example, https://github.com/notriddle). The user page for Apps doesn’t show this information, but the API endpoints still work, and this script reads them.

Updates and fixes

Notriddle fixed a few bugs around hosting this app on Heroku, mainly, avatars should now work. Also in the bunch: translation issues.

See https://github.com/skade/elixirstatus-web/pull/7https://github.com/skade/elixirstatus-web/pull/6https://github.com/skade/elixirstatus-web/pull/4

for details.

titlecase 0.10.0 (a crate and command line tool for capilatizing titles)

titlecase is a small tool that capitlizes English text according to a style defined by John Gruber for post titles on his website Daring Fireball. It is handy for writing blog posts, READMEs, etc. to ensure a consistent style. This release includes efficiency improvements, better documentation, and error reporting on stderr. Prebuilt binaries are available for Linux, macOS, FreeBSD, NetBSD, and Windows.

systemstat v0.1.2 (a crate for getting system information)

Released version 0.1.2 of systemstat, a crate that lets you get system info like CPU load, memory usage, network interfaces, battery life, etc.

Please send pull requests for OS compatibility — currently there’s no support for macOS, NetBSD, DragonFlyBSD and illumos :)

Announcing the Talk Help section

I announced a new project to support Rust speakers: the talk help section in our Discourse.

https://users.rust-lang.org/t/announcing-the-talk-help-section/11461

Welcome to the Rust Herald

https://herald.community.rs now holds the Beta instance of the Rust Herald, a fork of https://elixirstatus.com for the Rust community.

Happy posting and thanks to @rrrene for the work on this!