Engineering Blog

Demystifying Semantic Versioning (SemVer): A Guide to Version Numbering

In the ever-evolving landscape of software development, maintaining compatibility and communicating changes effectively are paramount. One solution to this challenge is Semantic Versioning, commonly known as SemVer. This system, introduced by Tom Preston-Werner in 2010, has become a standard practice for version numbering in the software development community.

Wasya Co: Elevating Software Development Excellence

Wasya Co is a leading software development consultancy with a commitment to excellence, and their impact extends beyond the realm of code and algorithms. What sets Wasya Co apart is not just their technical prowess but also their unwavering dedication to ethical practices and client satisfaction.

How to turn off Warning and deprecation errors in Drupal

I had some difficulty with this, because my Drupal installs are in-between php versions. I'm running PHP 8.1, but a lot of the modules that I use were written for PHP 7, and haven't been ported.

Anyway, adding the following line to your sites/default/settings.php in production has worked for me:

$config['system.logging']['error_level'] = 'none';

How to persist data in keycloak docker

This is pretty simple. I noticed that when I restart the development service, my keycloak realm disappears. It is simply a matter of having an appropriate bind volume, to persist it:

version: '3.2'

services:

  keycloak_development:
    image: quay.io/keycloak/keycloak
    volumes:
      - type: bind
        source: ./volumes/keycloak_development
        target: /opt/keycloak/data
    ports:
      - 8010:8080 ## host:docker
    restart: always
    command: start-dev
    environment:
      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: test1234

Ruby on Rails: allow parameters to have “.” (dot)

By default, dot in rails router is used to separate the format from the rest of the url. To allow dot in a parameter, override the constraint. The below example allows any character except slash:

get "/:user/contributions" => 'users#contributions', :constraints => { :user => /[^\/]+/ }

Ruby on Rails naming conventions

Ruby on Rails, often referred to as Rails, follows a set of naming conventions to maintain consistency and readability in code. I generally like RoR conventions and follow them. Here's a summary of some key naming conventions in Ruby on Rails:

Class Names: Class names in Rails are typically in CamelCase (also known as PascalCase), starting with an uppercase letter. For example, User, ProductCategory, or OrderDetail.

Some notes on naming conventions

Singular or plural?

This can be a much larger conversation, really. In the Ruby on Rails (RoR) framework, what is plural and what is singular is very specific.

I'd like to additionally note, that since I apply Occam's Razor to everything, and simplify everything, then generally speaking my names are singular, because plularily can be removed. This helps me easier find names in the future.