NORG and NH1

Some day I wrote useful scripts to aumate and ease some daily tasks at work. This project was named 7redes (seven nets in Portuguese) and grouped, as you can see, functions related to network. The name 7redes came from the idea of every function in this project was started with 7, easing its usage.

Sometime after, I went to make 7redes a public project, isolating every specific internal information and making it more generic. I thinked in a different organization too, with different layers. So, NH1 and NORG borned.

Basically, NORG was the general project, the concept. At principle, it was a server from where NH1 can catch information via webservice. Inside NORG, exists the idea of some projects, the layers: NH1, NH2, NH3… The actual proposal is:

  • NH1: shellscripts for Bash, made to be called and to return values, without user interaction.
  • NH2: graphical interface, in Vala+GTK. This interface will ease usege of some features, but NH1 will be the engine under NH2.
  • NH3: semelhante ao NH2, mas ele fornece uma interface da web. Talvez escrito em PHP, talvez em uma linguagem / estrutura mais moderna (Node?)

NH1 reaches version 1.0

After a lot of implementations and tunnings, NH1 is in 1.0. Now, it gives a lot of features. Some interesting:

  • 1app: a set of tools to install, update and uninstall applications under AppImage format. Using modular recipes, 1app takes programs directly from the developer’s website. Supported for now: Cherry Tree, Inkscape, KeepassXC, LibreWolf, OnlyOffice, VSCodium, and more. There are two environments to use for installations: local (user space) and global
  • 1backup: makes backups using some available archiver
  • 1canva: using simple markings to forward variables (such as – = [name] = -) within an SVG, 1canva generates images. It may be useful to create banners, receipts and other images with few changes
  • 1booklet: generates a sequence of pages for booklet printing. 1pdfbkl goes further and generates a PDF ready for printing.
  • 1timer: simple timer. Using 1timer, NH1 has 1pomo (Pomodoro) and 1rr30 (timer to 30-30-30 method for router reseting)
  • 1host: uses files assigning names to IPs, like a pseudo-DNS. Returns a valid IP address for given “hostname”. As you can set a lot of IPs for one single host, 1host is useful when you have a lot of VLANs and some machines sharing some of them. 1ison and 1areon do testing for online state of the hosts.
  • 1ssh: try to connect via SSH using various alghorithms
  • 1roll: rolo de dados para RPG, aceitando fórmulas simples, como 2d10, 3d6, 1d20-2…
  • 1draw: tool to manage draw. You can add and remove lists and use 1draw to draw some item from some of them.

NH1 works charged in your shell, has autocompletion and supports translation (it’s in English and Portuguese), is customizable via a config file (use 1info to see available variables). A lot of features and some cool ideas will be in future releases!

Installing NH1

To use NH1, you need the Bash command interpreter, the main shell for most GNU/Linux distributions. You have two ways to install NH1:

  1. Downloading the latest .tar.gz file from the releases page.
  2. Using git to clone the project (git clone https://github.com/carlisson/nh1). In this way, after install it you can update your installation with the command 1update

Rarefeitos 3

In november,I have renew an old app. Rarefeitos was written for Firefox OS in first time, as a sound effect board.

This new version was rewritten from scratch. It has now a pretty look. All sounds were replaced to others, under Creative Commons Zero.

In addition, Rarefeitos has now a timer with background music. It is now a good tool to use in Twitch activities, specially if you make bookstream or work sprint.

It can be used from Apps Cordeis. Unfortunately, for now the interface is only in Brazilian Portuguese.

Vivaldi Timer

I don’t know if you saw it, but Vivaldi has a clock in the status bar. Some day, searching a simple calendar (Vivaldi has a full-feature calendar)… Surprise! Thereis no calendar, but a timer!
In other words, with Vivaldi (without any add-on) you can use techniques like Pomodoro!

Not only timer, Vivaldi allows to set time-based alarms. You can even configure duration and alarm sound. It’s one more reason to use this fantastic web browser!

Meeting Organizer

We lieve times of pandemic and it is usual we be part of many online meetings.

To manage this type of meeting, I created a simple web application: Divergents. It basically brings together two features: speech timer and subscription manager.

The idea is that someone who is going to secretary the meeting will open the page in the browser and share the screen with other participants. Whoever signs up, whether by chat, hand-raising or whatever, the secretary adds the name in Divergents. All participants can see how much speech is left for the current speaker and who is next.

Hope it’s useful! It can be accessed in Cordéis Apps or you can download it from Github. Unfortunately, It’s available only in Brazilian Portuguese for now.

Color of the Day

Comparing hexadecimal numbers with dates, you can see it’s possible to use a 6-digits hexadecimal number representing a day. The year fits in 3 digits (<=4.096); month fits in 1 digit (16) and day in 2 (256, but we need only 31). It’s the same as a HTML color!

For example: today, 23th august. 2021 in hexadecimal is 7E5; august is 8; 23 in 16-base is 17. So, the color for today is #7E5817.

Thinking about, I made a PHP function 10 years ago. It returns a color for a given day. It’s like:

function daycolor($date) {
    $dts = strtotime($date);
    $y = dechex(date("Y", $dts));
    $m = dechex(date("n", $dts));
    $d = dechex(date("d", $dts));
    if (strlen($d) < 2) {
        $d = "0" . $d;
    }
    $dc = "#$y$m$d";
    return $dc;
}

It’s a very simple code, easy to convert to any other language. Unfortunately, the colors come too similar, changing overly slow..

A Tournament Manager

A technique I use to choose from many options is a simple playoff. Example: I need an alien planet image.

  1. First I gatter some interesting images, only the ones I like.
  2. I put it in random pairs.
  3. For each pair, I compare the two options, choosing one and discarding the other. It results in a lesser list.
  4. Repeat steps 2 and 3 until I have a winner.

To solve the “battles” you can make a features list, setting points and getting a final grade. You can get a random winner. You choose the way.

Simple playoff is not for every choice, but I think this is interesting.

So, I developed an app using Cordova an Onsen UI to manage this kind of tournament. You can use it even to make home tournaments!

If you want to try it, can get it from AppGallery, by Huawei. It’s named My Bracket.

The Initiative Problem

Those who play RPG over the Internet need to solve some issues. Are you going to use a virtual board or are you just going to use the “theater of mind”? If you’re going to use a board, which one? For dice rolling, phisic dices? Formulas in chat? Virtual rollingg? And finally, how to manage the initiative?

Most virtual boards already bring solution to a lot of things, but it does not always works so fine. It is very usual, for example, to disable roll20’s video conferencing and to use Skype, Meet or another solution instead.

When I met Owlbear Rodeo, a virtual board, I loved the proposal. It is a simple board, light and unrelated to any system. There were only two problems: the dice rolling is not saved in a log; does not have an initiative manager.

Here fits an additional parenthesis. I tested Astral Tabletop too and I had a terrible experience with their initiative manager. I really don’t know how they managed to get it so heavy! Let’s close this parenthesis.

Another parenthesis now for dummies: initiative management is the definition of the characters action sequence, especially useful in critical situations of the game, such as combat or the team facing a deadly trap already activated. We define the order of action, including Player Characters and Non-Player Characters, and from that point we use this order to coordinate who acts at what time. That’s managing the initiative.

Okay, now the interesting part of owlbear rodeo: it does not have an initiative manager, but the project videos bring a suggestion for this: set up a visual manager! You need a “ruler” with columns representing each moment of the round and a marker to point at the turn of who we are.

I really liked the idea and made one to use with my RPG system XR-III, which works with 10 initiative turns (rolls 1d10 and does not add anything). If you also want to play XR-III or the solution serves for your system too, here are the files! It is the ruler plus 3 selector options. One of them sits on top of the number and the other two (one white and one black) are set one cell above.

Rule of initiative

Put it into the map, set its size to 10 squares wide, and set it to fixed. In owlbear rodeo you click on the padlock icon.

P. S.: Original post is in Portuguese in another blog.

A New Blog

My previous attempt in build a new blog was changed. Previous posts in Brazilian Portuguese are now in blog.cordeis.com. cordeis.vivaldi.net will be the scene of experiments writing in English.

I’m Cárlisson Galdino, brazilian, cordelist, writer of adventure novels and indie tabletop RPG. I hope this new blog works and you can get enjoy something!