Slowride Block Devices Benchmark

Slowride is a utility for testing the read speed of block devices for POSIX compliant operating systems with root access to /dev/sd*. You can test the read performance of block devices using a time threshold to diagnose read performance.
Command to read 100mb blocks on the entire device with output of blocks above the threshold of 2 seconds:

sudo ./slowride /dev/sda 100 2000

Source code

https://gitlab.com/demensdeum/slowride

Swift 4.2.3 – Ubuntu 18.10

Build Swift with the necessary libraries to run on Ubuntu 18.10. The latest version available on the Apple website – for Ubuntu 18.04. Based on the build from the official website with the addition of libraries from Ubuntu 18.04. Also added a sample script to add PATH and LD_LIBRARY_PATH for the bash terminal:
http://www.mediafire.com/file/lrs74mvoj3fti03/swift4.2.3.ubuntu.18.10.x86_64.tar.gz/file

Declarative language Zakaz

I present to your attention a pure declarative programming language – Zakaz. The main idea of ​​the new language is that an application contains commands for execution, written in any form, which must be executed by “executors”. If no “executor” can execute a command, then the program execution stops. Applications are called technical tasks (tez) and must have the extension .tez. The syntax of Zakaz requires two rules to be followed:

  • Each command starts on a new line
  • Each command must be written in formal language that is understandable to humans

Example Hello World.tez:

Show "Hello World" text on screenShow "Zakaz 'tez' example" text on screen

An example of a technical specification that displays a description of the operating principle and opens the site http://demensdeum.com in the Firefox browser

Show "Show website demo" text on screenShow "You need Firefox installed on your system to run this 'tez', and it should be callable through \"system\" C function" text on screenShow "Also there should be \"FirefoxPerformer\" assigned to Zakaz Runtime, please check manual for more information" text on screenShow website with address "http://demensdeum.com" in Firefox

The example above must be run together with the FirefoxPerformer executor, which is capable of handling the last command to output the site via Firefox

./ZakazRuntime openDemensdeumSite.tez FirefoxPerformer

To implement your own performer, you need to implement it as a dynamic library using the abstract class ZakazRuntime::Performer, and return it together with a smart pointer from the global function method createPerformer(). As an example, you can use the implementation of FirefoxPerformer.

Source code

https://gitlab.com/demensdeum/zakaz

Hangar18 source code indexing utility

Hangar18 is a C++ source code indexing utility written in Rust. This utility will implement the “go to definition” functionality in the Saber-Plus IDE.
The utility receives the absolute path to the source code directory and the declaration line that needs to be found as input. The output is grep-like output.

Source code:
https://gitlab.com/demensdeum/hangar18

Taytay monitoring the status of Git repositories

I present to your attention Taytay – a utility for monitoring the status of git repositories for the Swift language. At the moment, Swift can be installed on all mainstream desktop operating systems. For Ubuntu, I recommend using Swiftenv. Taytay is tied to the git-cola utility, but you can edit the source code and replace it with any other program.

Source code:
https://gitlab.com/demensdeum/taytay