[Ubuntu] Dateien ohne Umbenennen ausblenden

Normalerweise würde man einen Datei foobar in .foobar umbenennen, um sie unsichtbar zu machen. Das ist natürlich nicht immer praktikabel.

Als Workaround für Nautilus kann man eine Datei .hidden anlegen, in der man alle zu versteckenden Dateien auflistet (Dateinamen mit Leerzeichen o.ä. kommen in Hochkommata, klar).

Das wird von ls so erst mal nicht berücksichtigt, man kann es ihm aber per

beibringen (Quelle), beispielsweise in der ~/.bashrc. UPDATE: Funktioniert nur mit ls, nicht mit bsplw. ls -al m(

PostgreSQL: Entity ID GenerationType migrieren

Angenommen, man möchte die ID einer Entity von

auf

migrieren, und dazu explizit eine Sequence in der Datenbank anlegen. Ein Migrationsskript könnte dann so aussehen:

Aaaber: IDs können negativ sein:

org.postgresql.util.PSQLException: ERROR: setval: value -91 is out of bounds for sequence “foo_bar_id_sequence” (1..9223372036854775807)

😄

Naheligende Lösung wäre, das SELECT in

zu ändern. setval geht allerdings per default aber beim nächsten Wert los, im Fall “1” (wenn gar keine oder nur negative IDs vorhanden sind) also bei 2. Das ist nicht direkt schlimm, aber uncool. Eine (umständliche!) Lösung ist eine Fallunterscheidung – und falls man die Migration viele viele male durchführen muss, verpackt man die Fallunterscheidung in einer FUNCTION:

Aufruf dann per:

Deutlich einfacher ist allerdings:

FALSE sorgt dafür, dass nicht der nächste Wert genommen wird, sondern genau dieser – und “+ 1” vermeidet einen Wert von 0, der ebenfalls out of bounds wäre.

Danke an Nils für’s vereinfachen! 🙂 Die umständliche Version bleibt trotzdem online als Template für PG Functions.

Ubuntu: Notifications deaktivieren

Ich bin offen für bessere Lösungen, aber

scheint zu klappen (von).

Java runtime metadata analysis

Ich bin großer Fan von Reflection (Hallo, Johann 👋). Aber einige Sachen sind gar nicht soo offensichtlich hinzubekommen, etwa das Finden aller Sub-Klassen. Doch grämet euch nicht, es gibt Reflections:

Mikrotik hAP lite: LAN Port 1 nutzen

Port 1 ist eigentlich für’s WAN/Internet vorgesehen. Wenn man einen Client anschließt, wird man kein (nutzbares) Internetsignal bekommen. Um das zu ändern

  1. öffne man die Interfaces
  2. suche man “ether1”; das sollte auf “R” (Relay?) stehen
  3. suche man das “ether” Interface, das auf “RS” steht (bei mir “ether2”)
  4. öffne man “ether1” und setze den Master Port von “none” auf das gefundene Interface (hier “ether2”)

Um auf Port 1 wieder Internet zu haben, muss man das zurückändern, klar.

Pale Moon: User Agent setzen

Wer auf einer Webseite Probleme mit Pale Moon hat, während Firefox funktioniert, der kann den User Agent anpassen:

Ist, Beispiel:

Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Gecko/20100101 Goanna/20161201 PaleMoon/27.0.1

Soll:

Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Gecko/20100101 Goanna/20161201 FireFox/31.0 PaleMoon/27.0.1

Anwendung:

// about:config, new String:
general.useragent.override.some-subdomain.some-domain.tld: <user agent>

Ganz konkret hilft das zum Beispiel, die Outlook Web App nicht (automatisch und unbeeinflußbar) im “Lite”-Modus starten zu lassen.

UPDATE: In v27.0.2 ist das wieder der default, siehe Release Notes. Kommentar dazu:

people still insist on using useragent sniffing to determine “browser features” […] HTML offers plenty of ways to do proper feature detection; site owners should use them. Seriously people, it was a bad idea 20 years ago, and it’s a worse idea in 2016.

😂

UPDATE: Geht (natürlich) auch für Waterfox, allerdings musste ich den global via general.useragent.override setzen. Der User Agent für Firefox 72:

Mozilla/5.0 AppleWebKit/537.36 (KHTML like Gecko) Gecko/20100101 Firefox/72.0