Skip to content

March of 2021

Introduction

  • Reorganization: Merge the Meta article into the index.

Projects

  • Improvement: Add mkdocs-newsletter as a dormant plant.

    MkDocs plugin to show the changes of documentation repositories in a user friendly format, at the same time that it's easy for the authors to maintain.

    It creates daily, weekly, monthly and yearly newsletter articles with the changes of each period. Those pages, stored under the Newsletters section, are filled with the changes extracted from the commit messages of the git history. The changes are grouped by categories, subcategories and then by file using the order of the site's navigation structure. RSS feeds are also created for each newsletter type, so it's easy for people to keep updated with the evolution of the site.

  • Reorganization: Update and reorganize projects.

    Following the digital garden metaphor

  • Reorganization: Merge the wish_list article into the projects.

  • New: Add seed to follow the updates of software.
  • New: Add seed to automatically update the dockers of maintained services.

DevOps

Infrastructure as Code

Helm Git

  • Correction: Suggest version 0.8.0 until issue is solved.

    Newer versions have a bug that makes impossible to use helm_git with a repository that contains just one chart in the root of the git repository.

Monitoring

Prometheus Install

  • Correction: Add warning that helm 2 support is dropped.

    If you want to use the helm chart above 11.1.7 you need to use helm 3.

  • Improvement: Add upgrading notes from 10.x -> 11.1.7.

    Don't upgrade to 12.x if you're still using Helm 2.

Scrum

  • New: Introduce the scrum framework.

    Scrum is an agile framework for developing, delivering, and sustaining complex products, with an initial emphasis on software development, although it has been used in other fields such as personal task management. It is designed for teams of ten or fewer members, who break their work into goals that can be completed within time-boxed iterations, called sprints, no longer than one month and most commonly two weeks. The Scrum Team track progress in 15-minute time-boxed daily meetings, called daily scrums. At the end of the sprint, the team holds sprint review, to demonstrate the work done, a sprint retrospective to improve continuously, and a sprint planning to prepare next sprint's tasks.

    In the article I explain:

Coding

Python

  • New: Add python landing page.

Code Styling

  • Improvement: Don't use try-except to initialize dictionaries.

    Instead of:

    try:
        dictionary['key']
    except KeyError:
        dictionary['key'] = {}
    

    Use:

    dictionary.setdefault('key', {})
    

Python Snippets

Pydantic

  • Correction: How to solve the No name 'BaseModel' in module 'pydantic'.

    It's still a patch, so I've also monitored the relevant issues

Javascript

MermaidJS

  • New: Introduce the diagram library and how to make flowchart diagrams.

    MermaidJS is a Javascript library that lets you create diagrams using text and code.

    It can render the next diagram types:

    • Flowchart
    • Sequence.
    • Gantt
    • Class
    • Git graph
    • Entity Relationship
    • User journey

Issues

  • Improvement: Track python dependency errors.
  • Correction: Gitdb has updated smmap.
  • New: Jellyfin 10.7.1 broke the login page.

    Don't upgrade till it's solved, as the rollback is not easy.

  • Correction: Jellyfin login page problem after upgrade to 10.7.X is solved.

    Surprisingly the instructions in #5489 solved it.

    systemctl stop jellyfin.service
    mv /var/lib/jellyfin/data/jellyfin.db{,.bak}
    systemctl start jellyfin.service
    
    [ Go to JF URL, get asked to log in even though there are no Users in the JF DB now]
    
    systemctl stop jellyfin.service
    mv /var/lib/jellyfin/data/jellyfin.db{.bak,}
    systemctl start jellyfin.service
    

Software Architecture

Architecture Decision Record

  • Improvement: Explain how to show relationship between ADRs.

    Suggest a mermaidjs diagram to show the state of the project ADRs.

Life Management

Automation

Life Automation

  • New: Suggest organize to act on computer file changes.

    organize looks good for automating processes on files. Maybe it's interesting to run it with inotifywait instead of with a cron job.

Fitness Tracker

  • Improvement: Discovery of wasp-os and Colmi P8.

    wasp-os is an open source firmware for smart watches that are based on the nRF52 family of microcontrollers. Fully supported by gadgetbridge, Wasp-os features full heart rate monitoring and step counting support together with multiple clock faces, a stopwatch, an alarm clock, a countdown timer, a calculator and lots of other games and utilities. All of this, and still with access to the MicroPython REPL for interactive tweaking, development and testing.

    One of the supported devices, the Colmi P8, looks really good.

Health

Sleep

  • New: Explain the sleep cycle.

    Humans cycle through two types of sleep in a regular pattern throughout the night with a period of 90 minutes. They were called non-rapid eye movement (NREM) and rapid eye movement (REM).

    I answer the questions:

    • What is the period of the REM/NREM cycle?
    • What happens to your body in REM and NREM phases?
    • How does the ratio of REM/NREM changes throughout the night? with a possible explanation.
    • Why sleeping 6 hours can make you loose up to 90% of your REM or NREM phases?
  • New: Explain sleeping time and sense distortions.

    Answer the questions:

    • Why time feels longer in our dreams?
    • How do we loose awareness of the outside world when sleeping?

Activism

  • New: Define Diversity, Equity and Inclusion.

    • Diversity is the representation and acknowledgement of the multitudes of identities, experiences, and ways of moving through the world. This includes—but is not limited to—ability, age, citizenship status, criminal record and/or incarceration, educational attainment, ethnicity, gender, geographical location, language, nationality, political affiliation, religion, race, sexuality, socioeconomic status, and veteran status. Further, we recognize that each individual's experience is informed by intersections across multiple identities.

    • Equity seeks to ensure respect and equal opportunity for all, using all resources and tools to elevate the voices of under-represented and/or disadvantaged groups.

    • Inclusion is fostering an environment in which people of all identities are welcome, valued, and supported. An inclusive organization solicits, listens to, learns from, and acts on the contributions of all its stakeholders.

Operative Systems

Linux

ActivityWatch

  • New: Introduce ActivityWatch tracking software.

    It's a web application that can be installed both in Linux and Android that automatically tracks where you spend the time on.

    Super interesting for life logging and automating stuff. Until I save some time to react on the data, I'll just gather it and see how to aggregate it.

  • Improvement: Add week insights.

Tabs vs Buffers

  • New: Explain how to use tabs, buffers and windows in vim.

Vim Plugins

  • New: Follow the issue to add elipsis instead of ... in vim-abolish.
  • Correction: Forget to use abolish to insert the elipsis symbol.

    Tpope said that it's not going to happen.

  • New: Introduce vim-easymotion.

    EasyMotion provides a much simpler way to use some motions in vim. It takes the <number> out of <number>w or <number>f{char} by highlighting all possible choices and allowing you to press one key to jump directly to the target.

    When one of the available motions is triggered, all visible text preceding or following the cursor is faded, and motion targets are highlighted.

  • Reorganization: Move vim-test to the plugins page.

elasticsearch

  • New: Explain how to reindex an index.

mkdocs

  • New: Document the Navigation object and the on_nav event.

    Useful if you develop MkDocs plugins, it holds the information to build the navigation of the site.

  • New: Describe navigation objects used in plugins.

    Explain how to use the Page, Section, and SectionPage objects.

  • Correction: You need to edit the nav in the on_nav and not in the on_files event.

    Even though it seems more easy to create the nav structure in the on_files event, by editing the nav dictionary of the config object, there is no way of returning the config object in that event, so we're forced to do it in this event.

  • Correction: Explain how to add files through a plugin.

    Long story short, use the on_config event instead of on_files and on_nav if you need to add files and want to change the navigation menu.

  • New: Explain how to use MermaidJS diagrams.

  • New: Explain how to test mkdocs plugins.
  • New: Explain additions of version 7.1.0 of the material theme.

Peek

  • New: Introduce Peek the screen recorder.

    Peek is a simple animated GIF screen recorder with an easy to use interface.

    If you try to use it with i3, you're going to have a bad time, you'd need to install Compton, and then the elements may not even be clickable.

Syncthing

Vim

  • New: Add vim landing page.

Android

Signal

  • New: Introduce the messaging app and how to decrypt the backups.

Arts

Writing

Grammar and Orthography

Writing Style

  • New: Analyze interesting books on writing style.

    • The elements of style by William Strunk Jr and E.B White
    • On writing well by William Zinsser
    • Bird by bird by Anne Lamott
    • On writing by Stephen King
  • New: Explain how to end a letter.

    Use Sincerely in doubt and Best if you have more confidence. Add a comma after the sign-off and never use Cheers (it's what I've been doing all my life (◞‸◟;) ).

Origami

  • New: Add mark1626 digital garden article on origamis.

Other

  • New: Introduce Outrun.

    Outrun lets you execute a local command using the processing power of another Linux machine.

  • New: Introduce the media system and monitor interesting issues.

    Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.