Code Monkey home page Code Monkey logo

rtde's Introduction

Hello there I am Dmitri Proskuriakov commonly reffered as JustDprroz

For past 7 years I am extremely interested in Computer Science. During me studying computer science I discovered administration and DevOps to be my favourite parts of IT. Generally I prefer working with hardware rather than software, so I built my small homelab using two PCs one of them being my *sandbox* for reseaching Linux and second being my server running Proxmox with production ready containers like: samba, nginx, VaultWarden password manager, self-hosted GitLab, gaming servers for several games like Minecraft, Terraria, Satisfactory and Factorio.

I like computer science and everything related to computers and here is what I like and why

  • At this time I am learning Rust language. I love this language brings developers great experience of writing software without thinking of night-long debugging sessions
  • I like mechanical keyboards because there kinda nerdy and also I can learn MCU programming while working with them (since spending a lot of time on studying I temporarily abandonned this projects)
  • I really love software written according to UNIX philosophy, because quaility > quantity. Having a lot of buggy stuff will make your workflow slower, more annoying and generally uncomfortabl

Current Project

Currently I'm working on Window manager for X server written in Rust! Intention of this project is to replicate DWM in Rust with learning how window manager works and how to implement some system-level stuff in Rust. My window manager currently in pre-release state so you can check it out.

Presenting this project I won:

Volunteer work in school

For past 2 or 3 years I with my friend do some technical related stuff on school events. This technical side of events consists of preparing and managing audio setup(working with audio mixing console, lots of microphone etc), streaming and recording some important events such as annual project conference which takes place in my school, and also troubleshooting lots of broken stuff

Some old projects I worked on during me studying things:

  • Simple 2d game with own engine using SFML with C++ (Orphaned because I quite lost interest for gamedev especially in C++)
  • Backend for VPN management web app with backend in rust. Kinda abandoned project because current functionality is sufficient for me
  • Several snake games. First in C/C++ using SFML. Second in Rust using CLI. This projects were quick ways to learn some concepts of networking, threading, CLIs

rtde's People

Contributors

justdprroz avatar

Stargazers

 avatar

Watchers

 avatar

rtde's Issues

No windows in discord streaming

There is an issue with windows not being listed in discord window streming. For comparison obs captures windows perfectly, as well as wmctrl -l returns window list properly.

Installation script

It would be nice you could install WM with all dependencies(configs, scripts, etc.) with just one shell command

Properly kill clients

is client refuses to do anything after WM_DELETE_WINDOW wm should forcefully kill it

Release 1.0

Version 1.0 will consist of this set of features:

  • Safe and stable experience
  • Support for stack layout, floating windows, workspaces, screens
  • Status bar
  • Configuration file (planned as part of source code)
    • Shortcuts
    • Colors
    • Status bar behavoir
    • Rules
  • Autostart
  • Install script

Some applications crash upon start

Firefox reported that several times it was closed unexpectedly. Same happened to Spotify.

Probably it caused by some wrong event handlers.

rust aproach to memory safety

currently, I'm using a library that forces anything passed to xlib to be a mutable pointer.

the idea is to implement some borrowing rules for xlib calls

Add status bar

Obviously, having a status bar is essential for any window manager, so implementing one for this WM would be nice.

I'm looking forward to using cairo or Xlib drawing lib for rendering the status bar

Fully implement memory safe wrapper for xlib

For safe Rust production it is necessary to have some safety guarantees. Currently UB is avoided by ignoring exceptions and some simple pattern matching of most common return status codes.

Long startup time

There are some issues when using applications that require D-BUS or something like this. This applications and session variables should be managed by WM not by user reading Arch Wiki looking for very unclear solution

Make it safer

Rust language is desinged to provide memory safery and high-level features.

Perhaps I should implement some wrapping on top of XLib C binding to make code more clear and safe.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.