Audioserve demo on Heroku
I’ve used free account on Heroku to load there audioserve live demo (with few of my favorite audio books from librivox). It’s fairly easy to implement a docker image on Heroku (just needed to assure...
View ArticleIntercept https communication from an Android application
Many Android applications communicate with severs using some form of REST API secured with TLS/SSL (so it’s “https” protocol). If it is your application or an open source application you know what’s...
View ArticleSplit Large Audiobooks – A Better Way
In previous article I presented bash script to split large audiobook file into smaller parts. It worked well for me, but has one limitation – if chapters information was not available in the metadata,...
View ArticleFuture Is A State Machine
I think I noticed in this article that Rust Future is basically a state machine, which is propagated through its states via appropriate runtime (and parked when not ready to move to a next state). But...
View ArticleStatic Build of Rust Executables
Recently I wanted to create completely static build of audioserve – so it can be easily moved and run on any modern 64bit linux without any other actions. Rust provides some guidelines for static...
View ArticleHyper Websocket
As much as I do like Rust I have to admit there are some disadvantages of using this language – one common problem is immaturity and fragmentation of libraries – I encountered this recently when I was...
View ArticleRust, I love you, I really do
In past 5 years Stackoverflow was running a comprehensive survey (here is latest for 2019), which, among other questions, asked for ‘most loved programming language’ – which basically means language...
View ArticleLightweight Tasks Switch in Go vs Rust
I’ve have been following this excellent book “Operating Systems: Three Easy Pieces” and as I’ve been doing a homework – measuring time of context switch and as I was looking around and found another...
View ArticleHigher Rank Trait Bounds in Practice
Higher Rank Trait Bounds (HRTB) is relatively advanced feature in Rust, you can read short explanation in the reference, and more detailed explanation in in the RFC (frankly spoken RFC is bit more...
View ArticleAudioserve new features
I have been working on some new features in audioserve and they are now available in latest releases. In this article I’d like to talk little bit about them and probably later also provide new demo...
View ArticleFirst Impressions about New Rust Async
Just recently async and await made it to stable version of Rust. futures library 0.3 is also out and rest of other important libraries is following – for me tokio and hyper are particularly...
View ArticleSelfhosting in Era of Cloud
Today one can choose from overwhelming variety of online (cloud) services in almost any thinkable area. Many of them provide vast amount of content and have professional user interfaces / clients. So...
View ArticlePerformance Should Matter
As I did not have much time to focus on larger programming projects recently I’ve done several exercises on exercism Rust track. It was quite fun and I hope learned a bit. But I found one issue there...
View ArticleMigrating Tokio and Futures – What to Look for
I’ve finally found courage to look after migrating audioserve to new hyper and tokio and futures crates. As new futures (0.3) are significantly different from previous version, mainly due to support...
View ArticleHyper and TLS
For audioserve update I wanted use new hyper with tokio-tls. Actually it required a bit of documentation reading, but finally turned our quite straightforward. Here are supportive functions (in tls...
View ArticleClone or Reference Count – Which One Is Faster
While I was updating audioserve I hit one part of code, when I was passing a not so big structure (containing data for authentication) to asynchronous task (in tokio multi-threaded executor), as task...
View ArticleCan Hashmap Be An Obstacle on Road to Performance
I’m still playing with small exercises, one interesting is “alphametics” (it’s available on exercism). Exercise goal is to evaluate if an expression like “SEND + MORE == MONEY”, when letters are...
View ArticleWhat happened to audioserve in past year
Not much, but definitely it’s not dead. Actually I’m quite happy with current functionality and do not need more (actually there are couple of things that would be nice to have like shared bookmarks...
View ArticleAre you dead?
Not yet. However I did not publish much in last 9 month or so due to several reasons- and covid was not the least significant one. I started couple of interesting things, but was lazy and demotivated...
View ArticleAudioserve release and some retro fun
Recently I released new version of audioserve v0.16.5, which brings some interesting changes. I think I’ve described them in previous article and for sure they are also described in README. This...
View Article