JetBrains-IDE ohne Projekte öffnen

Standardmäßig sind die JetBrains-IDEs so eingestellt das sie die letzten geöffneten Projekte wieder öffnen. Über die Einstellungen kann dies unter Appearance & Behaviour -> System Settings -> Reopen last project on startup eingestellt werden.

Die Einstellungen unter RustRover von JetBrains

Problematisch wird dies allerdings, wenn die Entwicklungsumgebung nicht mehr richtig startet. In einem solchen Fall kann die Konfiguration direkt bearbeitet werden:

nano ~/Library/Application\ Support/JetBrains/RustRover2024.1/options/ide.general.xml

Die Konfigurationsordner für die einzelnen Systeme sind öffentlich dokumentiert. In der Datei ide.general.xml, welche in etwa so aussieht:

<application>
  <component name="GeneralSettings">
    <option name="showTipsOnStartup" value="false" />
    <option name="confirmExit" value="false" />
    <option name="confirmOpenNewProject2" value="0" />
  </component>
  <component name="Registry">
    <entry key="ide.mac.transparentTitleBarAppearance" value="true" />
    <entry key="ide.experimental.ui" value="true" />
    <entry key="org.toml.json.schema" value="false" />
    <entry key="terminal.new.ui.show.promotion" value="false" />
    <entry key="debugger.attach.dialog.enabled" value="true" />
  </component>
</application>

muss nun die Einstellung:

<option name="reopenLastProject" value="false" />

im Block GeneralSettings hinzugefügt werden. Anschließend kann die IDE gestartet werden ohne das die letzten Projekte geöffnet werden.

Autorengeflüster #2

In dieser Episode von Deus ex machina, rede ich mit Anna Lisa über das Autorenleben und wir reden über die Community, Themen rund um das Schreiben und die Überarbeitung des eigenen Werkes.

Falls noch nicht geschehen, könnt ihr Deus ex machina in eurem Podcatcher abonnieren oder eine Bewertung auf Apple Podcasts hinterlassen. Daneben ist die Unterstützung über Tone H möglich.

Autorengeflüster #1

In dieser Episode von Deus ex machina, rede ich mit Anna Lisa über das Autorenleben und wir arbeiten uns durch die ersten Schritte der Entstehung eines Werkes.

Die erwähnte Software wie Trello, Joplin, Just Press Record, Scrivener und Ulysses ist entsprechend verlinkt. Auch die Seiten von Collapse Under The Empire und Peter Gundry sind verlinkt.

Falls noch nicht geschehen, könnt ihr Deus ex machina in eurem Podcatcher abonnieren oder eine Bewertung auf Apple Podcasts hinterlassen. Daneben ist die Unterstützung über Tone H möglich.

Java-Projekte automatisch erzeugen

Es gibt praktische Software und dann gibt es manchmal Anwendungen bei denen man sich fragt was genau der Anwendungszweck ist. Eine dieser Anwendungen ist der Java Bullshifier. Die einzige Aufgabe des Java Bullshifier ist es, riesige Java-Projekte zu erzeugen.

Die Projekt-Webseite

Selbst im Vorstellungsartikel des Tools wird die Meinung vertreten, das es ein wenig esoterisch wirkt. Im Artikel wird allerdings ebenfalls die Motivation bzw. die Nutzung des Tools beschrieben:

It’s used in order to test some of our monitoring capabilities over ridiculously large code bases, with transactions that go thousands of calls deep, over thousands of classes, and end up with exceptions.

Erzeugt werden ein Projekt mit einer beliebigen Anzahl an Klassen und für eine Klasse sieht der generierte Quelltext exemplarisch wie folgt aus:

package generated.afz.qen.lrlj;

import helpers.Config;
import helpers.Context;
import java.util.*;
import java.util.logging.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;

public class ClsTvxlbccvg
{
    public static final int classId = 325;
    static final Logger logger = LoggerFactory.getLogger(ClsTvxlbccvg.class);

    public static void metWrkbglgpwrbj(Context context) throws Exception
    {
        int methodId = 0;
        Object[] root = new Object[8];
        Map<Object, Object> valUmbeeuzlkcg = new HashMap();
        Object[] mapValTaglolagfcm = new Object[10];
        String valLjtuhkvukba = "StrHwrvspzqwyp";

        mapValTaglolagfcm[0] = valLjtuhkvukba;
    
        for (int i = 1; i < 10; i++)
        {
            mapValTaglolagfcm[i] = Config.get().getRandom().nextInt(1000);
        }

        Set<Object> mapKeyGfqzkkkweud = new HashSet<Object>();
        long valZqatretqosu = 2690648861024756176L;

Der Quelltext des Java Bullshifier ist auf GitHub zu finden. Er ist unter der MIT-Lizenz lizenziert und damit freie Software.

Das Invertika Update im November

Das Jahr neigt sich dem Ende und auch bei Invertika gibt es wieder neues zu vermelden. Wer Invertika nicht kennt, dabei handelt es sich um ein freies 2D-MMORPG welches unter Linux und Windows läuft. In diese Update wurde eine Menge Tilesets erweitert und verbessert. Das wirkte sich auch auf die Maps aus, so wurden die Innenräume von Nelaro größtenteils gemappt und auch das Wegsystem hat ein Update bekommen. An weiteren Sehenswürdigkeiten ist der Turm von Elys zu nennen der fertiggestellt wurde.

Das Mingathöhlensystem kann nun betreten werden und auch Liori sowie die Küste zum Brolerimeer wurden stark überarbeitet. Daneben wurden viele kleinere und größere Fehler behoben wie z.B. in Lauria und Ombrod. Desweiteren wurde einige neue Netheksäulen hinzugefügt.


Auch neue Items sind in diesem Update zu finden. Bei den NPCs wurden doppelte Sprites bereinigt und eine Menge neue NPCs hinzugefügt. Im Wiki hat sich in dieser Beziehung einiges getan, so sollten nun alle NPCs dort zu finden sein. Bei den Skripten wurden viele kleinere und größere Fehler behoben, wie z.B. Korrekturen am MacGuffin Quest.

Bei den Tools gab es auch einige Veränderungen. So wurde der Invertika Editor eingestampft und durch das ivktool ersetzt. Das ivktool ist dabei für die Kommandozeile gedacht, was auch die Nutzung in automatischen Prozessen erlaubt. Im Zuge dieses Umstieges wurden einige Verbesserungen vorgenommen, welche den Betrieb unter Linux stark verbessern. Daneben wurden Fehler beim rendern der Weltkarte und der Minimaps behoben.

Im Projekt selber gab es diesen Monat einige Diskussion bezüglich Qualitätssicherung. Hier wird sich in nächster Zeit sicherlich einiges tun. Bei manaserv haben wir weiter an der Implementation von Angelscript gearbeitet unter anderem am Context Manager. Wer jetzt neugierig geworden ist, der kann uns unter http://invertika.org besuchen. Eine Übersicht über die Welt gibt es dabei bei http://weltkarte.invertika.org/. Auch die Wiki ist sicherlich interessant.