Greatest Free and Open Source Software Quite often people hear or use software that is free of charge (freeware). Here I want to present great software that is additionally Open Source. This additional requirement is important to me as I like to have…
Ubuntu LUKS rescue I had a 18.04 system running LUKS for data security purposes. After a starting from bionic I landed in jammy. I had a bunch of ppas and some combination of after and left me in a seemingly disastrous situation. After a reboot…
Ubuntu Remote Release Upgrade Introduction Running a remote release upgrade can be dangerous, VPN, SSH can be updated or break during the upgrade process and leave a not bootable system as a result... This post shows how to mitigate the risks. NOTE…
C# Exception Handling Can I ignore exceptions? No. Exceptions are thrown by the .NET framework in many places, FileNotFoundException, FormatException on conversions, ... A ThreadInterruptedException may occur at any time. On function calls you might…
Mini-DV Cassette How to perform mini DV Grabbing with minimal and quantifiable quality loss. Pitfall: The FireWire interface used to perform grabbing is checking for transfer errors only, not content errors inside the grabbed data. Therefore the…
DNS APIs There is no single API call to perform the lookup. Options are: libc getaddrinfo libc gethostbyname (OBSOLETE SPEC) libc resolver library (Low level DNS retrieval) direct interfacing to the dns servers via network calls The applications that…
Software Design Patterns Taken from Wikipedia, personal adaptations and additions made, shortened to be used as a small reference card, links back to wikipedia kept for details. See also Software Anti-Patterns. Architectural patterns Choice: How is…
Joins (INNER) JOIN The INNER JOIN keyword selects all rows from both the tables as long as the condition satisfies. This keyword will create the result-set by combining all rows from both the tables where the condition satisfies i.e value of the…
ZFS on Linux Installation on ubuntu 20.04 LTS Introduction: https://linuxhint.com/zfs-concepts-and-tutorial/ There are different levels of operation pool level: bundles several virtual devices vdev level: allows to define which redundancy is applied…
Number Theory Links: https://oeis.org/ Definition: Arithmetic Function Functions from the natural numbers to the complex numbers $${ f(n) = c \vert n \in \mathbb{N}, c \in \mathbb{C} }$$ Definition: Multiplicative Function An arithmetic function $f…
MySQL Report table sizes Replace with appropriate value. Find columns Replace , with appropriate values. Performance IN vs EXISTS Change into See https://dev.mysql.com/doc/refman/8.0/en/subquery-optimization-with-exists.html
Nintendo Infos Account passwort ändern (Verlust/Defekt/Diebstahl) Unterschiede Hauptkonsole & nicht Hauptkonsole erklärt Transfer Spiele/Daten zwischen Konsolen Spielestand Speicherung Speicherdaten übertragen Nintendo-Account Ein Nintendo-Account…
Database terms Definitions / Rules Entity <--> Database Table Naming convention: singular, uppercase Instance of an entity <--> Database Row (or Tuple or Record) Attribute <--> Database Column (or Field). Naming convention: singular, lowercase…
DOORS DXL Tips Deactivation of (dangerous) the auto-declaration feature (put it for example in ) Documentation https://www.ibm.com/docs/en/ermd/9.7.2?topic=function-extending-doors-dxl https://www.ibm.com/docs/en/SSYQBZ_9.7.2/com.ibm.doors…
Docker Ubuntu 20.04 setup Install docker Install basic support tools: Configure to restart docker on boot: Install docker-compose Download docker compose and make it executable (here 1.29.2, change accordingly) Check versions Permissions Give…
Borg Introduction Borg is a client server system allowing to backup remotely to repositories Risk analysis Scenario: Backup server compromised Confidentiality of all client data in danger if no encryption is used. Client encryption is a must, could…
Introduction Git-Annex can be used to synchronize bigger files across networks that might not be very reliable or fast. Building git annex 64 bit version under windows Prerequisites cygwin 64 bit: gcc rsync git wget ssh gnupg git for windows 64bit…
Backup script Backup via shell Skript vom host zur NAS. Daten - Backup Wenn die Synology an ist, kann auf dem Backup (Nur Lesend) an diesem zugegriffen werden: \SYNDEHAAN\NetBackup Die Anmeldung erfolg mit dem mitgeteilten Benutzerkonto. Die Daten…
LG TV 2020 Einstellungen fürs TV Anschlüsse: Bild bei https://app.diagrams.net/ erstellt CEC Steuert das automatischen ein und ausschalten wenn man einen anderen Gerät ein oder ausshaltet. Overscan Sorgt dafür dass nichts von den Quelldaten…
GIMP Gimp toolbox They are customizable in the Edit -> Keyboard Shortcuts menu The default shortcuts are presented here (From version 2.6) NR Key Name Type Default Ctrl Shift Alt 01 Rectangular selection Selection Rectangle Center Square 0…
C# Equality vs Identity Reference Microsoft: Guidelines for Overriding Equals() and Operator == Pay attention Equality means the objects have the same value, but are not necessarily the same instance Identity means the objects point to the one and…
Introduction files are VirtualBox native virtual drive containers. These can have a fixed size or be dynamic, consuming as much space as is needed. "Hardware virtualization" deals with how to convert a real partition into a container for use within…
PC Build 2020 Requirements reduce noise (priority 1) reduce power (priority 2) optimized in processing videos code compilation Thoughts Opted for an air cooled 3950X against a water cooled system because of some doubts regarding maintenance and…
Risk analysis: data loss Personal risk analysis and planned countermeasures. Initially I thought it would be a good idea to buy an ECC RAM enabled hardware but this looks like an adventure with consumer hardware. Reliable server component being both…
Radeon 4670 support Problem is a blank screen during and after startup. The BIOS boot logo can be seen correctly. Official Hardware Support ends But the open source driver is available (with some missing features) https://wiki.archlinux.org/index.php…
DIY NAS Requirements support 8 SATA disks support ECC reduce noise (prio 1) reduce power (prio 2) Components Component Price Size(s) Description Mainboard ~300€ uATX SUPERMICRO X10SRM-F Server Motherboard R3 (LGA 2011) Intel C612 Mainboard ~400€ ATX…
Backup solutions Must haves chunk based deduplication) (not only file based) client / server (transfer to remote backup server) web viewer consistency check easy restoration (ro mountable) scriptable and customizable runs on Windows & Linux Nice to…
Ubuntu Tweaks BtrFS maintenance balance tree: weekly scrub: BtrFS snapshot settings https://wiki.archlinux.org/index.php/snapper is managing the snapshots there are a couple of systemd services to trigger snapshots Disable snapshot on boot: Edit to…
Password in domain Password expiration info Renew password With NET USER Using powershell https://docs.microsoft.com/en-us/powershell/module/addsadministration/set-adaccountpassword?view=win10-ps Using smbpasswd (from ) Fix trust relationship…
Rsync Source https://stackoverflow.com/questions/4493525/what-does-f-mean-in-rsync-logs Options Often used flags during my sync jobs: Rsync flags Primer on the bit flags and how to get to output bit flags for all actions (it does not do this by…
Keyboard/Terminal Search in history: Restore lost echo: List logged in users Storage List block devices Network Scans arp, nmap, tcpdump Routing Manipulate routing table to route only a segment through a ppp0 tunnel and default to a route through…
Doomsday rule It takes advantage of each year having a certain day of the week, called the doomsday, upon which certain easy-to-remember dates fall; for example, 4/4, 6/6, 8/8, 10/10, 12/12, and the last day of February all occur on the same day of…
Integrals $a$, $b$, $c$, $\alpha$, $\beta$ are constants $f$, $g$, $u$ are functions of a variable $x$ Basic properties Properties $$ \int _a ^a f(x)dx = 0 $$ $$ \int _b ^a f(x)dx = - \int _a ^b f(x)dx $$ Chasles' theorem: $$ \int _a ^b f(x)dx + \int…
Trigonometry Relations $$\cos^2(a) + \sin^2(a) = 1$$ $$1 + \tan^2(a) = \frac{1}{\cos^2(a)}$$ Addition $$\cos(a+b) = \cos(a)\cos(b) - \sin(a)\sin(b)$$ $$\cos(a-b) = \cos(a)\cos(b) + \sin(a)\sin(b)$$ $$\sin(a+b) = \sin(a)\cos(b) + \cos(a)\sin(b…
CD Paranoia Bargraph Used to indicate things during read. The letters are hierarchical; for example if a transport error occurs in the same sector as jitter, the bargraph will print instead of . Character Meaning Two blocks overlapped properly, but…
Derivatives Definition $$f'(x)= \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}$$ Formula $c$ is a constant $f$, $g$ are functions of a variable $x$ Basic properties Linearity $$(cf+g)'=cf'+g'$$ Product $$(f.g)'=f'.g + g'.f$$ Inverse (Quotient with $f=…
Test Test inlining a react component inside markdown. This component uses the hook. Embedded Counter component Source
Software Anti-Patterns Taken from Wikipedia, personal adaptations and additions made, shortened to be used as a small reference card, links back to wikipedia kept for details. See also Software Design Patterns. Organizational anti-patterns Detect…
Computer Quotes
Finance quotes NOTE (1): often and wrongly attributed to a private communication from a Rothschild investment house in London to an associate banking firm in New York dated June 25, 1863 NOTE (2): as quoted in Money and Class in America (1988) by…
Ubuntu data rescue example 1: System does not boot anymore after an OS upgrade (kernel panic). Data is on a LVM. example 2: System does not boot anymore (HDD errors). Data is on an ext3 partition. Example 1 System does not boot anymore after an OS…
C# String formatting Formatting is bound to a type, so depending on which type of object you pass to String.Format, you have different format specifiers. The index specifies the position of the parameter that shall be used for that format specifier…
Possible ways to extend a class Meaning providing additional methods to a class Extension methods "Extension methods enable you to "add" methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original…
Programming terms I often had trouble reading complicated explanations about some terms and the list here tries to make a definition that can be understood by normal human beings without theoretical mathematics and other higher level skills. Letter…
C# and performance of string building Introduction Strings are immutable in C#. That means that a string never gets modified by any operation. This implies that, when you call Replace for example the operation is never done in-place. Instead a new…
Perl programming language perl: Practical Extraction and Report Language Regular expressions are meta-characters (must be escaped) regexps consume as much input as possible (greedy by default) matches word boundary means not a word boundary start…
Category Theory & Haskell programming language https://www.seas.upenn.edu/~cis194/spring15/lectures.html https://wiki.haskell.org/Learning_Haskell http://yogsototh.github.io/Category-Theory-Presentation https://bartoszmilewski.com/2014/10/28/category…
Chrome special pages The links were tested with google chrome version 42.0.2311.90 About pages for chrome page description Lists some of the about pages Shows up a blank page Lists all loaded dlls and their version information Terms of service…
Backing up subversion repositories Introduction The source code is - as the name already tells - the real valuable data for software development. Therefore a proper backup of this important data is absolutely required. Backups shall provide…
BPMN IO plugin for Dokuwiki See https://www.dokuwiki.org/plugin:bpmnio Example
C# Detect application wants user input Problem description Some time ago,I asked a question on stackoverflow.com. How to programmatically (C#) determine, if ANOTHER external application (native, java, .NET or whatever...) is currently demanding user…
LXC - Linux containers Wikipedia: LXC LXC tutorial step by step LXC Overview Exploring LXC networking Getting started LXCs System containers to isolate servives LAMP in an LXC Ubuntu setup Install basic support tools: Check the configuration: List…
Set Top Box GBUE 4K Hardware Important Features: GigaBlue UHD UE 4K 1x Full Band Capture DVB-C NIM 3128 FBC (8 tuner) 1x OUT Loop through Broadcom 7252s RAM 2GB DDR4 FLASH 4GB MMC 1x HDMI out 1 GB LAN Front: 1x USB 2.0 Rear: 1x USB 3.0 2x USB 2.0 1x…
Stdc - Helps porting C code to .NET Rationale Porting C code to .NET doesn't sound like being fun. And it is mostly for sure not funny... The mind breaking rewriting of formatting code to String.Format formats can cost a bunch of time and is error…
Windows tips and tricks Windows 7 "god mode" This allows to see all system settings in one window. Create a folder named You can use anything in place of All Settings, the most important the point and what comes after the point. Energy options http…
Moving away from the old fashioned source code metrics Thanks to modern source code management, we are now able to collect not only spatial metrics on source code, but also temporal metrics. By spatial metrics, I mean the metrics measuring the…
Raspi Raspberry pi 2 OSMC installed as OS root account: ''osmc'', ''osmc'' by default Automatically expands to full SD size Enable WIFI: Internet radio: Added web-interface.chorus to have netbios resolution
SizeReporter License Agreement. Introduction SizeReporter generates a CSV/TSV/XML report of the disk usage: CSV: Comma separated values (";") TSV: Tab separated values XML: XML format It runs from the console and can be triggered by scheduled jobs or…
REWORK NEEDED FUNANI GOAL: FUNANI is an open source project aiming at solving the management of large image and other media collections in a practical way. Finding the data you want in big data collections is usually a big pain and consumes a lot of…
Advanced Code Quality Center ACQC-Metrics License Agreement. **Quantify the quality of your code and develop higher quality code!\ ** ACQC Metrics computes typical source code file and function metrics. What are metrics good for? Well, it measures…
Test NOTE: disabled installation of svg bob at the moment (not used) remark-draw bob Illustration of svgbob capabilities Copied directly from the SvgBobRus repo.
Test remark-flowchart Normal With color Tribut to locize END
Test remark-draw graphviz Examples taken from the DOT pocket reference Example 1: Simple Graph Example 2: K6 Example 3: Simple Digraph Example 4: Full Digraph Example 5: Showing A Path Note that there's also a shorthand method as follows: Example…
Test remark-draw mermaid Gantt sequenceDiagram classDiagram gitGraph
Git Annex Introduction git-annex main project page GitMinutes #16: Joey Hess on git-annex File synchroniszation using git-annex assistant Large file management with git-annex NOTE: gitlab migrated from git-annex to git-lfs: https://docs.gitlab.com/ee…
Test Plantuml remark-draw dot Examples taken from the DOT pocket reference Example 1: Simple Graph Example 2: K6 Example 3: Simple Digraph Example 4: Full Digraph Example 5: Showing A Path Note that there's also a shorthand method as follows: Example…
Observer Goal A subject object, maintains a list of its dependents, called observers, and notifies them automatically of any state changes. UML C# 2 alternatives (More information here): Using interfaces like and and make interface calls Use an…
Goal Restrict instanciation of a class to one object. UML {{http://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/Singleton_UML_class_diagram.svg/200px-Singleton_UML_class_diagram.svg.png|UML Diagram}} C# Having a sealed class and private…
Visitor Goals Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates. This pattern usually makes use of a double…
Calling Conventions A calling convention defines how data exchange is handled during a function call between a caller and callee. How/where parameters are stored and in which order Who is responsible of cleaning up the storage area for the parameters…
Projects bpmnio plugin for Dokuwiki (open source) Funani is project aiming at managing large collections of pictures Stdc.Net helps to port C code to the .NET platform in an easy and fast way ACQC A platform for source code analysis Size Reporter…
Blender Links to the very nice Blender Wiki mainly for my own convenience. For more advanced help and details regarding blender, please refer to it. Getting started Wikibooks hotkeys Blender HotKeys In-depth Reference
Common shortcut Key names = Control key = Break key (usually in the top-right area of the keyboard) = Print screen key (usually near break) = Windows key (or linux key on some keyboards!) Trick How to bring back a window out of screen: right…
Settings (DS415+) Storage Calculators Synology RAID calculator Data loss RAID calculator RAID 5 vs RAID 6 RAID 5 vs SHR (German) Don't use RAID 5 on small arrays RAID 5 stops working in 2009 RAID 6 stops working in 2019 Beware of URE (Unrecoverable…
Promotion rules are in some situations quite tricky to understand. Here is the list of applied rules so the situations where an explicit cast is needed get clarified. From ECMA-334 14.2.6.1 Unary numeric promotions Unary numeric promotion occurs for…
Data storage Rationale Data is stored on disk, Metadata is stored in a database. How the data in the database is structured is defined in another blueprint: [metadata storage](metadata storage). The metadata in the database also contains a link back…
Other Projects Free projects dealing with media management: kphotoalbum (GPL) : tool to help me describe my images, and to search in the pile of images. http://iipimage.sourceforge.net/ (GPL) : light-weight streaming client-server system for the web…
Global Settings Rationale Global system settings have to be persisted. These settings are global to the whole system and allow administrators to steer and setup the global behavior of the system. Introduction By now it is not clear how many settings…
User Management Rationale Users must be declared and registered on the system to be able to access and record data on the system. Anonymous access can be granted to some extent with the exception of persisting all features and settings related to…
C# Stopwatch Assembly (reference) Using directive Code Note is equivalent to
Clipboard custom format CF_HTML HTML Clipboard format Code to convert a standard valid HTML string into CF_HTML, the clipboard representation of HTML
Absolute and relative path manipulation Assembly (reference) Using directive Code to convert to an absolute path Converts path to an absolute path relatively to the basePath. The code also works properly if the path is already absolute. If the…
Git Bare After that git fetch will update all branches. See SO: Git Fetch fails to work on bare repo, but git pull works on normal repo for details
Git Tagging retroactively
SVN to GIT Interesting additional tools Understanding git https://rtyley.github.io/bfg-repo-cleaner/ git-filter-branch git subtree split https://developer.atlassian.com/blog/2015/05/the-power-of-git-subtree/ Conversion of some properties (.gitignore…
Visio keyboard shortcuts Visio shortcuts are not directly visible in the GUI hence the difficulty to get them. This list was contributed by Reinmar Mück. Many thanks for the effort. NOTE: This is a subset of the shortcuts optimized to contain the…
IXmlSerializable Introduction Yeah, I know, this is yet another article about XML serialization... After having seen several issues in code using or demonstrating XML serialization on CodeProject (and having struggled with these issues myself!), I…
C# SMTP Assembly (reference) Using directive Code: send an Email For details: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.aspx
XML serialization Assembly (reference) Using directive Code: Creation of the serializer The following code generates a serialization assembly on the fly (on first execution). This assembly is then used to read and write objects of the specified type…
Rating Rationale The rating module enables users to rate an object in the Funani database: picture, video or just anything else. The rating enables a prioritization of the media being shown to users. Each user can modify his own rating and get…
Introduction A set of standard tools has to be selected among a wide set of possibilities. What type of database to choose for storing and retrieving Metadata efficiently and scale with large amounts of data? Requirements Free and open source and…
FREEWARE SOFTWARE LICENSE AGREEMENT Copyright 2010-2021 Jaap de Haan, https://www.color-of-code.de NOTICE TO USER You may not use this software except in compliance with the License. Please, read this carefully. By using all or any portion of the…
Global architecture Client/Server The overall architecture is client/server based. Several clients can access the server at the same time. The server is holding the data to be served. This content is the raw data that was uploaded (the files) and…
Funani: Rationale Why yet another media management system? There are already great existing free software projects aiming at similar goals. None of them could satisfy all these requirements: Robustness against file renaming (many tools just link…
C# Text to Speech Assembly (reference) Using directive Code: say "hello world" Code: list available voices