Einträge von Felix Hummel

Flutter Yjs Webview

We’re going a crazy route: A Javascript API provides persistence, replication and conflict resolution with Yjs. Flutter provides a nice UI (as well as speech recognition) and talks to Yjs using flutter_inappwebview.

Weiter...


React UI Frameworks

I am not a designer, but I can cobble together some components.

Weiter...


Yjs Deep Dive

These are my notes while prototyping and researching Yjs for our shopping list app.

Weiter...


React CRDTs

While browsing https://discord.electric-sql.com/ I stumbled upon Søren Bramer Schmidt – Prisma & Expo: A Better Path to Local-First Apps | App.js Conf 2024 - YouTube.

Weiter...


Virtuelle Telefonnummer

Bei Google „Virtuelle Telefonnummer“ kommt nur Spam, aber „Virtuelle Telefonnummer Linux“ führt gleich zu

Weiter...


Powersync

https://docs.powersync.com/self-hosting/local-development

Weiter...


CRDT Implementations

https://yjs.dev/

Weiter...


Flutter Development

Restart the app. Hotreload does not work after changing dependencies (e.g. flutter pub get ).

Weiter...


Einkaufszettel Part 4 - Flutter

Wir sind gleichzeitig losgelaufen. Felix mit Expo, Martin mit Flutter. Ergebnis ist klar: Flutter ist überlegen im UI-Department.

Weiter...


Einkaufszettel Part 3

Stand aus Einkaufszettel Part 2 war, dass das Keyboard („soft keyboard“) beim Focus vom TextInput nicht angezeigt wird, was es aber sollte [1]. Vielleicht können wir das Problem umgehen indem wir die UI ändern. Ich mag Modals eh nicht. Wir könnten das TextInput immer anzeigen und uns somit auch den Add-Button sparen.

Weiter...


Einkaufszettel Part 2

Stand von Part 1:

Weiter...


Einkaufszettel

Ich bin mit meiner aktuellen Shopping App nicht ganz zufrieden:

Weiter...


Odoo 15: Add Button to Kanban View

In this example, we show how to add a button to the „Control panel buttons“ of the kanban view.

Weiter...


TIL: odoo scaffold

Create a new module named foo in the custom addons directory my-addons:

Weiter...


Odoo Idiosyncrasies

This is a collection of notes about Odoo, its ORM and „framework“.

Weiter...


GitLab EXPKEYSIG

Did you ever get an error message like this during apt-get update?

Weiter...


Linux CPU Temperature and Fan Control

Control speed of fans based on temperature readings.

Weiter...


NAS Upgrade: 16TB RAID 1 on Debian 12

In the following post, we will replace 6 old 3TB disks with 2 new 16TB disks. We will use RAID 1 for maximum redundancy [1].

Weiter...


How to Upgrade Gitlab

backup

Weiter...


How to Upgrade Ubuntu from 20.04 to 22.04

High-Level checklist:

Weiter...


Hetzner Cloud Volume for Docker Volume Storage

At the time of this writing, Hetzner volumes cost 0,052€ per GB per month.

Weiter...


Graph Odoo Request Duration with Loki

Before trying to improve performance, it is a good idea to measure. We want a graph that shows us request durations segmented by query time (the time it takes Postgres to gather the data) and remaining time (how long it takes Python/Odoo to do things with the data), like this:

Weiter...


Odoo Format Fields

Suppose you have a simple Integer field defined on your model like this:

Weiter...


TIL: Odoo Sequences

Wir wollen für die Chancen (Tabelle lead) eine fortlaufende Nummer number.

Weiter...


Git Mailmap

I’m playing with Gource to create nice animations for projects I have worked on in the past.

Weiter...


Gitlab CI Lint on the Command Line

Here’s how to lint gitlab-ci.yml using python-gitlab’s CLI.

Weiter...


Deployment Checklist

A simple checklist to follow when deploying an application (workload).

Weiter...


Cloud Native Pragmatismus

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

Weiter...


Clear Pycharm Remote Sources

When developing using Docker containers with file mounts, Pycharm caches third party source files. You can view them in the Project view at External Libraries > < docker compose your app > > Remote Libraries.

Weiter...


Grafana Variables

Suppose you have a query like this:

Weiter...


Display Structured Logs in JSON Format From Loki as a Grafana Table

„Reduce“ to „ungroup“ the log lines („values“)

Weiter...


apt-get update EXPKEYSIG

Problem:

Weiter...


Smallstep CA and Caddy

Motivation

Weiter...


The Documentation System

https://documentation.divio.com/ via https://lobste.rs/s/gdzde7/documentation_system

Weiter...


Data Centric Reactive Apps with SQLite and WASM

https://lobste.rs/s/odlfid/building_data_centric_apps_with_reactive

Weiter...


Marking Environment Variables as Required in Docker Compose

Suppose you have a docker-compose.yml for a simple app that needs an admin password:

Weiter...


Bind mounts vs. Volumes in Docker Compose

https://docs.docker.com/storage/bind-mounts/#choose-the–v-or—mount-flag

Weiter...


Limit Memory (RAM) and CPU in Docker Compose

There are many tools to choose from. Here’s what we use:

Weiter...


Ubuntu Kernel Cleanup

Remove old Linux kernel versions on Ubuntu. This only keeps the currently used kernel and removes all the others. You have been warned. 🤞😁

Weiter...


Django Migrations

https://docs.djangoproject.com/en/4.0/topics/migrations/#

Weiter...


0-main.de

We own the DENIC domain 0-main.de. Our promise to you is that any A or AAAA record will always point to 127.0.0.1.

Weiter...


Caddy

https://caddyserver.com/

Weiter...


Bash Heredocs

To increase readability of your bash scripts, especially when running things as root, make good use of here documents (also known as heredocs).

Weiter...


Gitlab Runner

Since Gitlab Runner 16. See also

Weiter...


Python Project Setup

Example Project Name: foo.

Weiter...


Python Method Redefinition

Did you know that you can redefine a method on the same class in Python?

Weiter...


PostgreSQL

https://www.postgresql.org/docs/current/index.html

Weiter...


sleep infinity in docker-compose

Say you have a compose file like this:

Weiter...


Overriding a translation of a third-party Django module

The Django Taggit app comes with nice translations for German, but we have some technically inclined users, who prefer the word „Tags“ over „Schlagwörter“. Still, we want to keep our de-de locale for everything else. We choose only to override this one translation.

Weiter...


Using apt-get to update specific versions

In this example we will update Gitlab from version 12.9.2 to the latest version 14.6.3 on a Debian system.

Weiter...


kubectl Usage Patterns

We usually create one KUBECONFIG file per environment and put them into ~/.kube with a shared prefix, e.g.

Weiter...


Browser Setup and Best Practices

Use profile foo

Weiter...


Version Update Day

2024-10-09 | 142 words | 1 min read

Weiter...


The Right Tool for the Job

Durchlaufzeiten > 6 Monate (z.B. bei Hardware)? Mach Wasserfall! Da passt Agile nicht!

Weiter...


Do Things Manually Before Automating Them

When designing new applications it is common to start with a UI draft and develop the app later based on those workflows.

Weiter...


Das Agile Manifest

https://agilemanifesto.org/

Weiter...


Code Readability First!

Code readability is a matter of respect. As the author of your code you can make reading it more pleasant for your fellow programmers. This even applies to yourself in 3 months time. See also https://blog.codinghorror.com/coding-for-violent-psychopaths/.

Weiter...


Thunderbird - Subscribe to all Folders

In the main navigation, right click and select „Settings“.

Weiter...


Hypothesis

http://theoryandpractice.org/stats-ds-book/statistics/estimators.html gelesen. Etwas Text markiert. Oha! Die haben einen Annotate-Button. Wo geht das denn hin?

Weiter...