draft0

Menu

Entries tagged 'lang:en'

Results of the survey on lucid dreams (2014)

Dieser Post erschien ursprünglich auf www.blucid.de

Eine deutsche Version dieses Posts ist hier zu finden.

During the second half of 2014 the first survey on BLucid was conducted. The goal was to answer some basic questions, like the length and frequency of lucid dreams and what activities are common in lucid dreams. The survey was first conducted by Daniel Erlacher in 2004 on klartraum.de (in German). The results of the 2004 survey can be found here (German).

The Questionnaire

For the reissue of the survey, the following changes were made to the questionnaire:

  • On the gender question the option "other" was added.
  • In Question 8 ("How did your lucid dreams largely occur?") the word "largely" was added.
  • For Question 13 ("Estimate in percentage which of the two states you are usually in when you have a lucid dream.") instead of two input fields a slider was used to prevent answers that would add up to more or less than 100 %.
  • The e-mail address was not requested as part of the survey.
  • All other fields were mandatory.
  • Questions that only had to be answered if certain answers were given in previous questions were only displayes if applicable.
  • The questionnaire was divided into four pages.
  • The questionnaire was translated to English. The English version was online simultaneously to the German version and additionally contained a question for the country of the questionee.

The questionnaire (German and English) is attached to this summary.

Dissemination

The questionnaire was online from 4.7.2014 to 10.1.2015. The survey was promoted on different lucid dreaming related websites, blogs and webforums, especially in the communities www.klartraumforum.de (German) and www.reddit.com/r/LucidDreaming. Ca. 67 % of all answers were likely from readers of Reddit posts (at least 39 %), of which one was "stickied" for about two months.

Analysis

A direct comparison with the survey results of 2004 is not reasonable because the two questionnaires were disseminated differently. Participants in both surveys were not representative samples anyway.

In total the survey received 1021 complete answers. Two answers were ignored for the analysis because all input fields have been filled with random characters. For the analysis of the individual questions more answers were excluded when marked accordingly (e.g. entered "n/s"). In these cases the total is stated in brackets.

All charts in this summary can be enlarged with the link below them if the page is viewed on a large enough screen.

Personal Data

The age ranged from 11 to 66 years. The mean age was 21 years. The mean age of those who had a lucid dream at least once was 22 years. More than half of the respondents was between 15 and 19 years old.

74.78 % of the respondents stated to be male, 23.65 % to be female. 1.57 % chose other. The majority of male participants can be accounted for by the fact that the survey was distributed strongly on websites with predominantly male readers (demography of Reddit users).

Of those who stated their current occupation (907) about half were students and half were working. Among those who stated their profession (525) professions in IT were noticeably frequent (ca. 20 %). This too can be accounted for by the strong distribution of the survey on Reddit.

The German questionnaire was answered 253 times. Of the 766 answers to the English questionnaire the overwhelming majority (55.35 %, 393 occurances) was from the USA. The following chart shows the distribution of countries without the USA.

General Questions on Dreams

In this section general questions about dreams and their frequency were asked. The questions can be seen in the table below. The scales were recoded according to the following map in order to obtain units in frequency per week respectively month (cf. Erlacher & Schredl, 2004)).

Dream recall frequency:

  • almost every morning: 6.5
  • several times a week: 3.5
  • about once a week: 1
  • 2-3 times a month: 0.625
  • about once a month: 0.25
  • less than once a month: 0.125
  • never: 0
  • All other questions:

  • several times a week: 18
  • about once a week: 4
  • 2-3 times a month: 2.5
  • about once a month: 1
  • about 2-4 times a year: 0.25
  • about once a year: 0.083
  • less than once a year: 0.042
  • never: 0
  •  

    Question Mean Value
    How often do you remember your dreams recently (several months)? 3.79 ± 2.31 per week
    Did you have nightmares recently (several months)? 1.15 ± 2.93 per month
    How often do dreams affect your mood during the day? 3.66 ± 5.71 per month
    How often do you get creative ideas from your dreams? 1.77 ± 4.12 per month
    How often do lucid dreams occur for you? 2.88 ± 5.38 per month

    The mean dream recall frequency of the respondents is shown in the following chart in blue. The black line shows the fifth-order moving average. The variations in the older ages are supposedly due to the small number of respondents of the respective age.

    Questions on Lucid Dreams

    The following definition of lucid dreams was used: In a lucid dream one is aware that one is dreaming, while dreaming. Thus it may be possible to wake up intentionally, to influence the plot actively or to observe the happenings passively.

    Lucid Dream Frequency

    242 of the respondents stated that they do not experience lucid dreams. Of the remaining 777 respondents 64.48 % were frequent lucid dreamers (cf. Snyder & Gackenbach, 1988: one lucid dream per month or more; 50.83 % including non-frequent lucid dreamers). The dream recall frequency was greater among frequent lucid dreamers than among non-frequent lucid dreamers.

    Emergence of Lucid Dreams

    The Majority (57.9 %) stated that their lucid dreams largely occured spontaneously. For 38.2 % lucid dreams largely occured through deliberate training and 3.9 % experienced lucid dreams largely in the course of an applied relaxation technique. The first lucid dream occured for most through application of a technique (34.5 %) or spontaneously (30.5 %).

    The mean age of occurance of the first lucid dream was 14.61 years ± 1.73 (n = 766). More than half of the respondents (62.4 %) experienced their first lucid dream at an age of 11 to 20 years. Almost half (48.7 %) had their first lucid dream less than three years ago.

    Lucid Dream Length

    The mean estimated length of lucid dreams was 14.29 minutes ± 18.36 (n = 746). Respondents referred on average to 20 ± 9.77 lucid dreams, whereby anomalies of 500 lucid dreams and more were ignored (n = 735). It is obvious that those with frequent lucid dreams also have longer lucid dreams. Frequent lucid dreamers dream consciously ca. 7.8 minutes longer compared to non-frequent lucid dreamers. It appears that the length of lucid dreams increases substantially with a lot of experience (50 lucid dreams and more). Between the time since the first lucid dream and the lucid dream length the connection is not as obvious.

    Lucid Dreams and Control

    Participants were asked to estimate how much percent of their lucid dreams are active and how many are passive according to the following classification.

    Passive: You try to let the dream proceed and act as if you did not come to the realization of your dream state. Active: After becoming lucid you spontaneously set yourself new tasks and put them into action.

    Lucid dreams in which the dreamer sets new tasks spontaneously after becoming lucid were more frequent (58.52 %) than those in which the dreamer acts passively.

    It was asked whether the lucid dreamers had ever tried to do something in a lucid dream that they had planned while awake. The majority of respondents (68.34 %) answered in the affirmative, whereby frequent lucid dreamers plan to do something much more often than non-frequent lucid dreamers. On average the respondents that have planned to do something in a lucid dream that they have planned in waking life have undertaken 19.68 ± 10.03 attempts (n = 523).

    Non-frequent lucid dreamer Frequent lucid dreamer Total
    No intent 130 116 246
    Intent 146 385 531
    Total 276 501 777

    1829 tasks have been stated, that dreamers have planned while awake to perform in a lucid dream. The actions have been divided into six categories:

  • Impossible Actions: Tasks that can not be performed in waking, e.g. due to physics
  • Interaction: Actions to interact with the dream, dream characters or other dream elements
  • Everyday Actions: Tasks that can be and are performed in waking as well
  • Dream-related Actions: Actions that are related to the experience of the dream or of past or future dreams
  • Body-related Actions: Actions that have to do with body movement or the physical feeling
  • Other Actions
  • The by far most frequent answer was flying (20.87 % of all occurrences). In the following table tasks that have only been mentioned once are not listed.

    Categories (Occurrences) Stated Actions (Occurrences)
    Impossible Actions (863) fly (382), travel somewhere (60), teleport/change location (49), walk/pass through object (43), do magic/super power (38), make something appear (36), make someone appear (29), shapeshift (29), change envirement/dream scenary (24), telekinesis (23), control elements (fire and/or water) (18), bereath underwater (16), reenact movie/TV/video game scene (15), be someone or something else/be differently (13), time travel (10), OOBE (8), manipulate weather (8), manipulate time (8), change own size (7), fly to space (6), morph/transform something (5), float (4), meet self (3), zoom-view (3), relive event (2), bring something to live (2), transform someone (2), create portal (3), change gravity (2), be invisible (2)
    Interaction (466) Sex (149), talk to somebody (121), meet somebody (79), talk to self/subconscious (26), ask question(s) (24), fight (23), tell dream character they are part of a dream (9), kiss somebody (8), murder (7), harm somebody (5), flirt (2), observe someone (2), control people (2), telepathy (2)
    Everyday Actions (245) eat something (25), look at something (19), train/practice/rehearse something (15), create/build something (13), feel something/touch something (11), meditate (11), read (10), make music/play musical instrument (10), view self/look into mirror (10), learn something (7), destroy something (7), speak (7), gain information (6), do math (6), find something (5), drink something (5), solve problem (5), speak foreign language (4), motorbike (4), listen to music (4), write (4), scream (3), recall something (3), sing (3), walk through door (2), design something (2), ride bike (2), walk around naked (2), solve puzzle (2), stay calm (2), pet animal (2)
    Dream-related Actions (134) prerform reality check (26), explore/research dream (18), end nightmare (16), stabilize/stay lucid (16), revisit dream (10), manipulate dream envirenment (9), wake up (8), increase lucidity (8), find dream guide (8), conduct experiment (6), prevent dream characters from disappearing (2)
    Body-related Actions (65) sport (21), run (16), jump (8), free fall (5), swim or dive (5), jump out of window (3), ride animal/dragon (3), hurt self (3)
    Other Actions (56) create art (13), overcome fear (8), have an adventure (7), heal (7), shoot gun (3), suicide (3), cause chaos (2), experiment with senses (2)

    The survey participants were asked to estimate in how many percent of the lucid dream they could remember their intent and in how many percont of these cases they could perform the planned action. 67.89 % of the attempts to perform a planned action in a lucid dream were remembered. 67.22 % of the remembered intents were performed successfully.

    In the following table the stated obstacles in performing planned tasks in lucid dreams are listed ("Name reasons why you could not fulfill your tasks in lucid dreams (e.g. premature awakening, dream does not allow it, etc.)."). The obstacles were devided into five catagories:

  • Obstancles from the dream: The dream situation did not allow for fulfilling the task or the dream intervented.
  • Waking: The dreamer woke up before the planned action could be performed.
  • Mental Obstacles: The dreamer felt incapable of performing the planned action.
  • Problem with lucidity: Lucidity was lost or was insufficient to perform the planned action.
  • Other Obstacles
  • The by far most common obstacle for lucid dreamers is waking up prematurely. Reasons that were stated only once are not listed here.

    Notes for the obstacles and planned actions: The questions contained examples (flying, talking to dream characters; premature awakening, dream does not allow it), which could have lead to more of these answeres because they were remembered more easily. 3 of the 4 examples are the most frequently mentioned answers. The actions and obstacles could have been grouped and categorized differently. Some rather describe the motivation behind an action than others, that name only an action. Some answers are more detailed, while others only state a category (e.g. "magic"). Because these answers are very diverse text answers and the tables only give an overview, a direct comparison of the grouped answers is not possible.

    Categories (Occurrences) Stated Obstacles (Occurrences)
    Obstacle from the dream (337) Dream did not allow it (133), Didn't work/Nothing happened (52), Distraction (50), Dream ended or false awakening (31), Dream took a different turn (27), Dream character interfered (22), Preventing dream physics (12), Dream interfered (6), Died (3)
    Awakening (314) Premature awakening (307), Being woken (7)
    Mental obstacles (189) Strong feeling/emotion (53), Didn't recall (correctly) (43), Lack of motivation/Something different was more interesting (34), Doubt/Lack of confidence (33), Lack of concentration (12), Lack of fantasy/Didn't know how (8), Mental blockage (4)
    Problem with lucidity (170) Lack of control (63), Lost lucidity (60), Lack of lucidity (24), Dream was instable (23)
    Other Obstacles (50) Different result/Not satisfied (19), Problem with perception (13), Limited or no movement possible (9), Wrong attempt (5), Too deep sleep (3)
    Comment

    PIN Changer

    I had to change the default PINs of over 200 SIM cards once. And such a situation could arise again. So I've built a PIN changer in which I just have to insert the card, wait a few seconds and it's done.

    The Card Slots

    SIM cards in their natural form factor aren't as fiddly to handle as they are in the form factors most people know, which is Mini SIM, Micro SIM and Nano SIM. Classical SIM cards are the same size as other smart cards. I found a card slot with an end switch on eBay. I like it when I find industry grade parts for cheap on eBay as part of some remaining stock. Additionally I've used a slide-in mini SIM slot and another, separate end switch from my parts collection in case I to change the PINs of smaller cards.

    The Baseband Processor

    Other parts that I've used is an Arduino Nano sized Arduino Nano nearly-clone and an A6 modem module. There are many similar modem modules designed around different but similar ICs. Many of them are cheap and widely used for DIY IoT projects. So example code for the Arduino and other help can be easily found on the web. I don't know why I went with a module with an A6. But it works fine and there are an Arduino library for it as well as cheap modem modules with it available.

    (tba:voltage supply)

    The Controller

    Yes, Arduino may be kind of the noob go-to board and could look up how to use microcontrollers on their own finally and even if I don't want to I could finally start to use ESP32s like everybody else. But I know Arduinos and by now I'm familiar with it and it works, so, whatever. Arduino Nano is kind of my go-to form factor now because they have integraded USB, are Uno compatible and small. Unless I need more or something very specific I use Arduino Nano almost-clones with USB-C port.

    The Code

    The code is a real mess. It had been a long time since I had written any even halfway serious C. It may have been the first time, actually. The sketch surely is very easily improved by somebody who knows what they are doing. I intended to improve it myself. But the project is currently abandoned and The code is doing what it should in a way I initially had in mind as the goal. But I'll leave the mess of the comments in for the case that somebody wants to make out what I was thinking.

    
    // Funktionen umschreiben: Beim Empfangen wird erwartet: 1. der AT-Command zurück, 2. eine Antwort, 3. OK oder ein ERROR.
    //                         Daher sollte abgefragt werden, bis entweder OK oder ERROR kam oder 20/50/9001(?) Abfragen lang weder OK noch ERROR an kam.
    //                         Die Antwort in Variable speichern? Naja, String zurückgeben halt.
    //                         Antworten, die mit "^" anfangen brauchen nicht gehandlet zu werden, da keine Kommandos, die mit AT^ beginnen gesendet werden.
    
    
    #include  
    
    SoftwareSerial A6MODULE(6,7);
    int intled = 13; // Internal LED
    int successled = 8; // Green LED
    int failled = 9; // Red LED
    int wrongpinled = 10; // Orange LED
    
    boolean debug=true;
    
    //String commands[5] = { "AT", "AT+CPINC2", "AT+CPIN?", "AT+CLCK=\"SC\",2", "AT+CPIN=\"3010\"" };
    //int command = 0;
    
    const byte maxmsglength = 32;
    char received[maxmsglength];
    boolean newData = false;
    String response = "";
    
    int i=0;
    
    /*
    To check/do:
    1  AT: OK?
    2  is PUK required - abort
    3  are less than 3 PIN attempts left? - abort AT^CPINC=?
    4  is PIN disabled
           5  enable it: 0000
    6  is PIN enabled
           7  unlock
    8  is card unlocked
           9  change PIN: 1996
                  was PIN wrong - report and leave it
    */
    
    
    void setup() {
      pinMode(intled, OUTPUT);
      pinMode(successled, OUTPUT);
      pinMode(failled, OUTPUT);
      pinMode(wrongpinled, OUTPUT);
      // All LEDs turn on at the beginning and stay on during the wait period at the beginning, then turn off before communication with the A6 module starts.
      digitalWrite(intled, HIGH);
      digitalWrite(successled, HIGH);
      digitalWrite(failled, HIGH);
      digitalWrite(wrongpinled, HIGH);
      Serial.begin(9600);
      delay(500);
      digitalWrite(intled, LOW);
      digitalWrite(successled, LOW);
      digitalWrite(failled, LOW);
      digitalWrite(wrongpinled, LOW);
      A6MODULE.begin(9600);
      delay(500);
      digitalWrite(intled, LOW);
    }
    
    void loop() {
      sendtoa6("AT");
      if(getfroma6("OK")) {
    //    sendtoa6("AT+CPIN?");
    //    if(getfroma6("+CPIN:SIM PUK")) { fail; }         // If the required password is PUK, abort.
    //    sendtoa6("AT+CPIN?");
    //    if(getfroma6("+CPIN:SIM PIN2")) { fail; }        // If the required password is PIN2, abort.
    //    sendtoa6("AT+CPIN?");
    //    if(getfroma6("+CPIN:SIM PUK2")) { fail; }        // If the required password is PUK2, abort.
    
    // WAIT FOR SWITCH RELEASE FIRST
        sendtoa6("AT+CPIN?");
        getfroma6("+CPIN:SIM PIN");                      // The last non-empty response will be stored in the global response variable. Problem with this: If the A6 module sends an unsolicitated message before the response to the CPIN command, nothing gets done and the card needs to be re-inserted again.
        if(strcmp(response, "OK") == 0) {                // If already no PIN is required
    
    //      sendtoa6("AT+CLCK=\"SC\",2"); // Ist PIN-Abfrage eingeschaltet? Oder ist es "SC"?
    //      if(getfroma6(???)) { PIN-Abfrage einschalten mit 0000; }
    
          // ENABLE PIN HERE
          d("I don't know how to enable the PIN.");
    
        }
        if(response = "+CPIN:SIM PIN") {                 // If the required password is PIN, continue.
          sendtoa6("AT^CPINC=?");
          if(getfroma6("^CPINC: 3")) {                   // If not exactly 3 attempts are left, abort. (should be larger than or equal to 3, shouldn't it?)
            sendtoa6("AT+CPIN=\"0000\"");                // Freischalten mit 0000
            delay(50);
            if(!getfroma6("OK")) { fail; }               // If that was not the right password, abort.
            sendtoa6("AT+CPWD=\"SC\",\"0000\",\"1996\"");// PIN ändern
            delay(500);
            if(getfroma6("OK")) { Serial.println("Looking good."); }
    
    //      sendtoa6("AT+CMGD=0,4"); // Should delete all SMS
    //      if(getfroma6(???)) { ; }
            d("I don't know how to delete SMS.");
    
            sendtoa6("AT+CPIN?");
            if(getfroma6("+CPIN:READY")) {
              
              // TURN OFF A& MODULE FOR SAFE CARD REMOVAL
    
              digitalWrite(successled, HIGH);
            }
          } else {                                         // If not exactly 3 times left
            fail;
          }
          delay(1000);
        }
      }
    }
    
    void fail() {
      digitalWrite(failled, HIGH);               // Turn red fail LED on and ...
      d("Something failed! Ending programme.");
      while(1);                                  // ... don't do anything anymore.
    }
    
    void wrongpin() {
      digitalWrite(wrongpinled, HIGH);           // Turn yellow LED on and ...
      d("Wrong PIN! Ending programme.");
      while(1);                                  // ... don't do anything anymore.
    }
    
    //boolean getfroma6(char str[32], char str1[32], char str1[32], char str1[32], char str1[32], char str1[32]) { // Returns true if the passed (expected) message was received, false if anything else was received.
    boolean getfroma6(char str[32]) { // Returns true if the passed (expected) message was received, false if anything else was received.
      boolean asexpected = false;
        for (i = 1; i < 9; ++i) {
        receivelinefroma6();
    //    d("d1 "+response);
    
        if(received[0] == '\0') {                            // If the received message is empty
          continue;
        } else {
          response = received;
        }
        if(strstr(received, "ERROR") != NULL) {              // If the received message contains "ERROR"
          d("Received an error: "+response);
          fail;
        }
        if(received[0] == '+') {                             // If the received message starts with a "+" sign
          d("Reseived response: "+response);
        } else {
          if(strstr(received, "OK") != NULL) {               // If the received message is "OK"
            d("Received OK.");
            asexpected = true;                               // Also treat OK like the expected message. No unexpected OK should ever be sent from the A6 module. So this is fine. No, it is, really.
    //        if(asexpected) { return true; }
          } else {
            if(strncmp(received,"AT",2) == 0) {              // If the received message starts with "AT"
              d("Received AT: "+response);
            } else {                                         // For any other received message
              d("Received: "+response);
            }
          }
        }
        newData = false;
        if(strstr(received, str) != NULL) {
          d("Received expected message: "+response);
          asexpected = true;
        }
      }
      if(asexpected) { return true; }
      return false;
    }
    
    
    //void handleresponse() {
    //  response = received;
    //  if(received[0] == '+') {
    //    d("               Response: "+response);
    //  } else {
    //    if(strstr(received, "OK") != NULL) {
    //      d("               It's okay.");
    //    } else {
    //      if(strncmp(received,"AT",2) == 0) {
    //        d("               I've sent: "+response);
    //      }
    //    }
    //  }
    //  newData = false;
    //}
    
    
    
    void receivelinefroma6() {
      delay(80);
      static byte counter = 0;
      char rc;
      
      received[0] = '\0';
    
      while (A6MODULE.available() > 0 && newData == false) {
        rc = A6MODULE.read();
    
        if (rc != '\n') {
          received[counter] = rc;
          counter++;
          if (counter >= maxmsglength) {
              counter = maxmsglength - 1;
          }
        }
        else {
          received[counter] = '\0'; // terminate the string
          counter = 0;
          newData = true;
        }
      }
    }
    
    void sendtoa6(String command) {
    //  Serial.println(command);
      A6MODULE.println(command);
      d("Sent: "+command);
    }
    
    void d(String line) {
      if (debug == true) { Serial.println(line); }
    }
    

    (tba:connections,assembly,photos?)

    Comment

    SBWG 0.10.7

    So many ideas, so little time. So many todos, no little time. So little time, so much rest of my life. But the todo list has actually started to become a little shorter for the first time in a long time. As with the previous entries about my progress with SBWG, I'm not going to address or list everything that I've improved or added. But I feel like it's time for another update.

    File attachments pretty much work as intended now. Text files still can't be file attachments to entries, because text files are entries. But I think that will stay as it is for now because I don't need to attach text files to entries and if I would, I could gzip, bzip or 7z them. I mainly wanted file attachments for entry images and podcast support. Both works as well as I need it to. But some things could still be improved in the future.

    Referencing tags are improved, their notes look better and there is now a way to mark an entry as an update of an other entry, giving both entries a note that tells the reader about the newer/older version. And since this works now, I dropped the idea to introduce any form of content revisioning. An entry revision system would be over the top for a feature that I hardly use. This could still be implemented just with hooks.

    SBWG was relying on a feature of ImageMagick's mogrify that turned out to be a bug and was fixed. So I had to switch to convert with worse tolerance/support for broken image files. That's annoying, but I'm over it now. I mean, I wasn't complaining. Those tools are amazing and I'm so glad that they are free.

    There were a number of other bugs that I've fixed. Some of them old and overlooked. But most of them were introduced not long ago. Well, I guess that's what happens if you don't do proper tests every time. SBWG is starting to become a feature-rich tool and every new feature that gets implemented could cause trouble with other features or combinations of features. In early versions of SBWG I didn't always test everything I changed. I now do, and I now also try to think of some related things the change could have effected unintentionally and test those basically. But proper tests of all sorts of scenarios every time I publish a new version? That would be professional but not worth the effort in this case. If I'm not using a feature, it doesn't matter much if I break it. I think I'll probably do more extensive tests every now and then.

    Entries can now have comment links. If there is an email address available for an author, all their entries get an email link below them to allow readers to reply to them. For a public blog it might be best to use throwaway addresses that can quickly be replaced if they start to receive spam. I'd have some ideas to improve the email composed by this comment feature. But they would have to become HTML emails. So I forgot about them again.

    New tag types, expanded README file, improved navigation by adding parent links and things like this, improved CSS a bit here and there, very small improvements to the code style. I didn't make any relevant improvements or corrections in terms of code quality. I think this is where SBWG could improve most. It's not a professional thing, so I declare myself fine with the way it is (which isn't that bad compared to some other software, I think) but I could learn a lot there.

    Command line options can now be grouped to make typing commands easier. Long options (starting with --) didn't change (I may make those things POSIX-like, too, some other time) but short options (starting with a -) now don't need to be separated and all have their own dash. So sbwg -v -p -e blub can now be shortened to sbwg -vpe blub. And if you want to run the command again but with added verbosity, you can add the second -v wherever you want.

    There is now a waiting animation that starts to play if there is no update on stdout for three seconds. Both the animation frames and the time delay can be changed. The animation is only enabled if SBWG runs with any verbosity. Then it is enabled by default. It will be disabled by default in future versions though, I think, because it's such an unnecessary messing around with terminal output. It does work pretty well though. I thought it may be harder to make it work as smoothly as it does now (which isn't 100% perfect, but pretty good).

    The new default style set 'elth' is a working hybrid with different styles for small phone screens and larger screens of phablets, tablets and laptops. It's composed of several CSS files, which should make it easier to create a custom style now, since just the basics (without any colors and fancy embolishment and without any tag-specific stuff) can be copied for a template, or just the mobile style can be copied and used to create a new mobile style. Style sets can now also include files whose name don't end in '.css'. That means they can contain any file type. So JS or background images or whatever will be copied as part of the style set and placed in the 'styles/' directory of the generated web site.

    More things are now cached that may be used more than once in one run of SBWG. Permament caches (option -C/--cache) can now be enabled for only parts of the web site. I still need to decide how permanent caches should be managed. The way I had/have it in mind does not seem very intuitive. It is to me because I know how it's built. But... well, maybe it's enough that I think that it makes sense. Maybe I should just start using it and if it works well, write it down in the README file.

    Added new hooks, gave the helper scripts makeovers, made how HTML footers are made logical, sorted much of the remaining todos. Overall: progress.

    So, I've published SBWG version 0.10.7 now. I wish I'll find the time to create and publish new versions more frequently again in the near future. But I doubt I will.

    Comment

    My Favourite Movies

    I've been meaning to put together this list for years but never took the time to do it properly. I'm not taking that time right now, either. But I'm starting with a few titles and am hoping that I'll find the time to fill this list peace by piece over the next weekscenturies.

    I've removed the incomplete tag now. The list is still missing some important titles. But it can never be complete, so…

    Movies with high potential to evoke certain emotions

    Title Year Genre Keywords or reasons why I like it
    And Then I Go 2017 Drama empathy, youthful, drama
    The Cure 1995 Drama/Comedy sad, adventurous, sickness, drama
    Pay it Forward 2000 Drama/Romance sad, drama, naivety
    Die Beste Aller Welten 2017 Drama Austrian German Language, drama, drugs, small child
    The Heart Is Deceitful Above All Things 2004 Drama sad, fucked up, drugs

    Movies that made me laugh a lot

    Title Year Genre Keywords or reasons why I like it
    Anchorman: The Legend of Ron Burgundy 2004 Comedy funny, absurd, drama, romance
    Airplane! 1980 Comedy/Romance absurd, funny, romance

    Child psychopath movies and movies that I put in the same category despite not being about psychopathy

    Title Year Genre Keywords or reasons why I like it
    The Good Son 1993 Soft Psychological Thriller interesting, tragedy
    We Need to Talk About Kevin 2011 Psychological Thriller emotions, tragedy
    The Boy 2015 Light Horror suspense
    Luminous Motion 1998 Drama fun, adventurous, fucked up?

    Sweet movies (Wholesome movies)

    Title Year Genre Keywords or reasons why I like it
    Harold and Maude 1971 Comedy/Romance sweet
    Chef 2014 Comedy/Drama sweet
    The Queen's Gambit (miniseries) 2020 Drama sweet
    Malcolm 1986 Comedy? sweet, criminal though

    Weird movies (Movies that I find or found confusing or hard to understand and that I like for it)

    Title Year Genre Keywords or reasons why I like it
    Stay 2005 Drama(/Mystery) (Thriller?) Dreamlike
    Comment

    I think it would be cool if we could adopt "Go die in a ditch!" as a casual goodbye. Kind of like "Break a leg!" in the theatre world but more openly made up with the intention of saying the opposite of what is meant. You know, like "Godieinaditch :)"

    Comment

    Frustration ought to be illegal.

    Comment

    Spring White

    Winter didn't bring much white, as it tends not to do around here.

    Since the 1st of April though the ground is white from snow.

    And it is still snowing.

    I was wishing for warmth around this time now.

    Comment

    Alternative Operating Systems

    There are too many Linux distributions to list and too many Linux-based systems to try out just for fun. There also wouldn't be much of a point to it. And there's nothing to say about Windows or MacOS in this entry. But there is some mentioning of operating systems not very many people may have heard about.

    The less big OSs

    There are a few other operating systems that aren't used on as many computers, aren't as well-known as the big three and it's derivatives, but are still important for their use case or niche. There's the extended family BSD, MINIX, the PlayStation system and many other Unix-like systems, there's Illumos and other actual UNIXs, a variety of DOSs and many even less widely used OSs for small niches. Those all deserve an article. But this is not one about any of those.

    The discontinued ones

    There are many UNIXs and Unix-like operating systems that aren't actively developed or not even officially supported anymore but still in use. There are many old systems that are still sometimes used by retro computing fans, users with nostalgia attacks and people who just never updated their machines since the 80s or 90s. I'd like to write an entry about those systems. But not right now.

    The unnoticed ones

    There's also a huge landscape of operating systems on embedded systems that are not primarily seen as computers, such as DVRs, cars, household appliances, toys, parking meters and many many industrial tools and machines. An article about how this landscape of proprietary in-house systems turned into a stable of Linux systems would also be worth writing. Or one that takes a look at some sleek systems, from tiny, incredibly efficient environments for 90s microcontrollers to larger systems like Palm OS. But my motivation for this entry is about something else.

    The interesting ones

    And there are operating systems that don't fit any of the beforementioned categories, but still have a reason to exist or at least had a reason to be made at some point. Independently developed OSs for personal computers that emerged from a single person or a small group of computer enthusiasts as learning projects, to prove a point, or as a recreational coding project.

    For a long time I thought that such operating systems don't exist, don't reach a state in which they are worth checking out or aren't shared publicly. I did wonder why nobody seems to write alternative OSs just for the sake of it. Maybe the landscape of existing OSs and the tiny adoption of any OS that isn't one of the big three (or four, or five, depending on where you make the cut) takes away any motivation to start yet another small OS from people who would otherwise pursue such an idea, I thought. But it turns out that I didn't look closely enough to find them. There totally are working alternative operating systems that were made for the sake of it, despite Linux satisfying all requirements of the project's initiators. Many of them may have 0 to 1 users and some of them may have never and may never be used as anybody's main OS. But some of them are very interesting systems. I'd like to point out a few of those.

    My intention with this entry was to write a paragraph or two about one or two handful of OSs. But I found that there is more to write and more projects to share for different reasons. I will write separate entries about a dozen alternative operating systems when I find the time to check them out myself. I'll use the category Operating Systems for these entries. Since I found more than I thought I'll restrict myself to testing only systems that check the following boxes:

  • is actively developed/has received patches in the last 12 months or is in a state that seems satisfactory for daily use as a desktop operating system
  • has a working installation or live image for x86 or x86_64 CPUs available
  • is not a distribution or variant of another system
  • can be considered or used as a stand-alone desktop operating system (no alternative UIs for other OSs or cloud based systems that need a modern browser on the local machine to be used)
  • is freely (at least as in beer) available in full (not just as ia demo for a commercial OS)
  • boots on my test system (If I can't make it work, I'll not mention it.)
  • My impressions/conclusion so far

    There are more alternative desktop operating systems than I expected. I thought after the 90s the landscape has become very flat. But development of a number of commercial and non-commercial operating systems went on for much longer. There have been many large projects I had never heard about. Some of those have been officially ended over the years (like eComStation and Syllable Desktop), others are still worked on (like Redox, MenuetOS and MorphOS). I stumbled over so many names of OSs that are in a state in which they're not really usable as a daily desktop OS, that had been published on some now offline website or that have been discontinued years ago. I thought I'd try out most of what I can find and write an overview of the alternative desktop OS landscape. But that would be a project in it's own that would be huge and take far more time than I want to invest in it. Many names worth mentioning have not been mentioned here and many cool projects also won't be mentioned in any of the articles to come. For example I ignored commercial OSs, like ArcaOS. I just don't want to pay 129 $ just to test a system that I'm likely not going to use.

    I can already, after having only briefly tested a few systems, say that there are usable, stable systems that hardly anybody has heard of that are as good as any commercial OS from the 90s. That's good enough for most desktop users. Each with their own set of features and unique selling points, there are real decisions to be made when selecting an alternative operating system that go beyond the questions one asks when selecting the next Linux distribution during distro hopping. I am happy that there are more than one or two systems in a usable state that focus on supporting old hardware and/or using less hardware resources than we got used to with Windows, Linux and MacOS. Whether you're looking for something to run comfortably on an 80286 or something that runs ridiculessly fast on a modern 64 bit system. There are systems to choose from.

    Comment