Seeking idea for Bachelor thesis

Hi Guys

Next semester I will write my Bachelor thesis and by this opportunity I'd like to deepen my Rust skills.

I have the possibility to suggest my own topic. This allows me to choose Rust as the programming language. The difficult part of suggesting own topic is to convince a professor. Typically the Bachelor thesis in our university is written in a team of 2 people. And we will have 14 weeks (20 hours per week) to write the Bachelor thesis. (Probably half of time is needed for project management and paper work.)

I'm particularly interested in Android and concurrency. Unfortunately I have no concrete idea. :frowning:

Maybe anyone has a specific idea what Rust Ecosystem is missing?
Any other suggestions are also welcome.

Many Thanks

4 Likes

Maybe browse through the RFC repo? https://github.com/rust-lang/rfcs That may give you an idea what people want from Rust. There are also some RFCs "postponed", which are a good idea in general, but haven't been specified well enough yet.

1 Like

What type of thesis were you thinking of doing? It could be mainly research-based where you do cool high-level thinking and exploration into topics like non-lexical lifetimes or type theory. Otherwise you can do a thesis where you create something, for example implement something in the compiler, make some sort of library or tool, or do something along those lines.

Looking at pending RFCs like @kornel suggested is a good idea. Otherwise you may benefit from jumping on IRC and seeing what people say on #rust or #rust-internals.

A third area of interest could be adding to the existing pool of documentation and resources for learning Rust. For example, having a really good book on doing FFI and integrating Rust with other languages and projects would be good for boosting Rust use in industry. There are a couple guides around (I even started work on one), but no official or "blessed" FFI book exists.

1 Like

thank you very much guys

I have looked into RFCs, but it seems to me as it requires that I am fully fledged Rust Developer. And I still consider me as a newbie.

Usually at our university we create something. But the mainly research-based thesis sounds also great, I have to ask my professor if this one possible.

And thanks for FFI idea, this one I consider as doable and interesting. Because I am fully fledged Java Developer and so I could combine both worlds.

Another idea, which came across my mind , is to help Project Gotham. It's async web framework which leverages Tokio and Hyper. And they like to integrate Diesel into Gotham.

4 Likes

We'd certainly welcome you working with us on Gotham.

Please drop by our chat room on Gitter, gotham-rs/gotham - Gitter, if you'd like to talk about specific ideas.

1 Like

Looking at and tinkering with code that's used in real life applications is a great way to learn a language and it gives you an idea of what patterns work and don't work in Rust. That said, the sheer scale of the thing can be intimidating.

You mentioned being interested in concurrency earlier, so you may want to check out the spiritual successor to crossbeam, coco? Those sorts of projects tend to lend themselves particularly well to academia.

Regardless, if you choose to do a topic related to Rust let us know how you go. I'm personally kinda interested to see how things turn out, and it'll give you a chance to consult the wider community if you ever get stuck or need a rubber ducky :grin:

1 Like

Hi!

I work on a project called Muon - http://muoncore.io

Its aim is to enable building of "Reactive APIs". What is meant by that is to give the ability to implement message based networked apis, rather than only having HTTP for that purpose. So, instead of just sending messages back and forth on queues (and so constraining yourself to broker semantics) on some arbitrary message broker, implement properly defined interactions, such as client managed streaming or interacting with event logs, and do that in a portable language agnostic way.

I recently presented on what progress we've made with Rust, which isn't lots but has great promise. You can see that here Building Message and Event based APIs using Muon - Rust Edition | SkillsCast | 18th October 2017

From a research point of view, we've got lots of interesting things in the model. The different APIs we implement are an implementation of a finite state machine, wrapped by language idiomatic APIs. Much of that portion of the system was inspired by agent based systems, which has a long and illustrious academic heritage. We've done some research on auto generating the agents/ state machines from a declarative DSL, which went ok, but isn't in the live code in the project.

So, from a dissertation point of view, I can offer :-

  • Implement Rust based "plugins" to be used in the other Muon implementations. Eg, transport/ discovery. These are self contained and fairly small in scope. Here's a very rough example I threw together one weekend of a UDP multicast discovery that embeds into the JVM and Node versions of Muon - https://github.com/muoncore/discovery-network
  • Implementing Muon in Rust. I estimate it would take a month to implement the core, more to implement the transports/ apis
  • Give scope for more research based work in the APIs/ protocols/ agent portion of Muon.

If any of that is interesting, would love to chat, there's a link to join the Muon slack on the website above.

2 Likes