What's everyone working on this week (18/2016)?


#1

New week, new Rust. What are you folks up to?


#2

Still working on an Elasticsearch collector for emit, trying to make the default impl as similar to Logstash as possible.

Cleaned up and published json_str for building sanitised json strings from a Rust token tree (much easier on the eyes than an escaped string literal). I’m using it for HTTP request bodies, and for docs where I want to show the serialised json while also verifying it’s correct.

Working on the first Rust Brisbane meetup event, need to get it added to the community calendar.

All in all a very busy week :smile:


#3

Trying out nickel-jwt-session (mentioned in another thread) in a toy web service for managing my photo collection.


#4

I wrote openssl-verify to perform hostname validation for OpenSSL clients. I’m going to get a couple more eyes on it and then publish and get things like hyper and rust-postgres to start using it.

I’m also going to continue work on native-tls, hopefully putting in support for the addition of additional trusted certificates. SChannel is weird…


#5

Working on the next set of integration tests to get my CARP library stable. As I write these, I am creating better interface for creating raw Ethernet and IPv4 headers.


#6

I think I’ve hinted my “secret” project in the past, but finally I can announce that I’m working on the type checker for Lua, dubbed Kailua, in my daily job. Written in Rust, of course!

I was working on this project for about 5 months by now, and I gave an initial talk on Kailua in some biggish gamedev conference last week. (The slides are, unfortunately, only available in Korean.) To give a rationale, we started using Lua for both client and server out of necessity and various constraints but it had been very hard to maintain more than 300K lines of Lua code base. As we didn’t initially anticipate the possibility of type checkers (and we had some unique constraints that forbade most available solutions, including the consistent but prevalent usage of globals) I have officially started the research. I ended up with a practical type system based upon Tidal Lock but with a significant modification.

The current checker is still in the early stage but seems fine as a proof of concept. I’m not sure if it will be eventually released in public, but now you know that there is yet another company using Rust. :stuck_out_tongue:


#7

I’m working on implementing a DEFLATE encoder in Rust, though it’s moving rather slowly at the moment.


#8

I am trying out the mind blowing parse-macros by making a derive(Rand) for Rust stable.


#9

Finally going to start writing the RFC for regex 1.0.


#10

I have been doing so much travel, conference, and other kinds of work that I haven’t been making much progress on the book lately. This week, I want that to change, a lot.


#11

I got tired of try!(write!(...))ing JavaScript code in one of my projects, so I decided to write an aster inspired AST builder and pretty printer: https://github.com/Ogeon/js_builder There are still things missing, but I think it’s almost ready for release. Perhaps someone else will find a use for it, and not just me :slight_smile:


#12

Building upon my Lock-Free Queue Experiment I want to make it work similar to the core’s channels. I am studying the mpsc code in the core/sync library. Once it works I will wrap it in a new blog post.


#13

I finally got to do some rust again, right now working on the Couchbase Rust SDK based on the libcouchbase library we already have. I try to model it after the best-practice with a couchbase-sys package (FFI over libcouchbase) and then a couchbase-rs (“couchbase”) crate which provides a nice high level API. We don’t have lots of (speak “any” ;)) user requests right now but I hope once we have one available in cargo people will start to use it (the go one is already quite popular). If you are interested in the progress you can follow it along here https://github.com/daschl/couchbase-rs

Also once I get it bootstrapped I hope to integrate it with diesel, but let’s see…