Showing posts from May, 2017

Introducing gps-share

So yesterday, I rolled out the first release of gps-share. gps-share is a utility to share your GPS device on local network. It has two goals: Share your GPS device on the local network so that all machines in your home or office can make use of it. Enable support for standalone (i-e not part of a cellular modem) GPS devices in Geoclue. Since Geoclue has been able to make use of network NMEA sources since 2015, gps-share works out of the box with Geoclue. The latter means that it is a replacement for GPSD and Gypsy . While "why not GPSD?" has already been documented , Gypsy has been unmaintained for many years now. I did not feel like reviving a dead project and I really wanted to code in Rust language so I decided to create gps-share. Dependencies While cargo manages the Rust crates gps-share depend on, you'll also need the following on your host: libdbus libudev libcap xz-libs Supported devices gps-share currently only supports GPS devices tha

Rust Memory Management

In the light of my latest fascination with Rust programming language, I've started to make small presentation about Rust at my office , since I'm not the only one at our company who is interested in Rust. My first presentation in Feb was about a very general introduction to the language but at that time I had not yet really used the language for anything real myself so I was a complete novice myself and didn't have a very good idea of how memory management really works. While working on my gps-share project in my limited spare time, I came across quite a few issues related to memory management but I overcame all of them with help from kind folks at #rust-beginners IRC channel and the small but awesome Rust-GNOME community. Having learnt some essentials of memory management, I thought I share my knowledge/experience with folks at the office. The talk was not well-attended due to conflicts with other meetings at office but the few folks who attended were very interested an