Entries tagged 'lang:en' (Page 21)

Filter further by author:strukiauthor:BLucidauthor:steeph

Lucid dream induction really is easy when it's not hard.

Entry created on 2021-08-29 (edited 2021-10-15) Authors: steeph (376) Categories: Dreaming (9) Lucid Dream Induction (3) Lucid Dreaming (12) Research (3) Science (6) Languages used: en (257) edit

Becoming conscious of your dream state while dreaming is in a category in my mind that I call "like stopping smoking". It isn't like stopping smoking in many other ways. But in a way it is similar. There is no obvious requirement in order to achieve one of those goals. You just have to do it and it's done. As far as clearly formulatable instructions go, that's it. Just remember to notice the next time you're dreaming and you'll become aware. The first ever defined, written down and named lucid dream induction technique, based on the research of and published by Stephen LaBerge, is based a great deal on this assumption. MILD (Mnemonic Induction to Lucid Dreaming) is one of the most widely known lucid dream (LD) induction techniques. But it often is condensed so much that it loses most of its important instructions in the most popular online guides. For a complete picture with all the practical exercises the, as it were, original description from the book Exploring the World of Lucid Dreaming (book scan) is still the best introduction and guide to this induction technique and probably always will be.

I've used many different techniques to induce lucid dreams over in my time. Some with more success, some with less, some without. After a few years of regular practice, I've come to focus on a hand-full of techniques and personal adaptions of published techniques that seemed to help me best achieve my dream goals. Almost everybody who does intense and/or prolonged lucid dream practice seems to get to a point where they find "their" technique(s) or combination(s). That makes sense because people's life's are structured differently and different personalities and preferences presumably make different techniques more successful than others. But no LD induction technique is surefire. Apart from few counterexamples every dreamer wakes up with no new memory of dream lucidity more often than with a new success. It's an ubiquitous subject on every lucid dreaming forum and a inherent part of lucid dreaming practice. Becoming lucid every night is just not a realistic goal for most dreamers, no matter how hard they wish and try.

A lot could be said (and is said elsewhere) about the best approach and the right mind-set for lucid dream induction. I could write a huge review of different approaches, techniques and practices based on my own experiences. But I don't think that this would be much more helpful than the countless blog entries and forum posts about other dreamer's experiences. They are my experiences. Parts of them may overlap with useful tips that you can find in other posts and guides. But they are as likely to be helpful to you specifically as any other honest, optimistic step-by-step guide on the net, which is usually not at all. I could write a review of scientific studies and what practical instruction one could derive from them that have the highest likelihood of helping a large percentage of lucid dreamers looking for instructions. But such a review wouldn't be huge because the amount of comparable studies on the efficiency of LD induction techniques is tiny. The amount of research on the subject isn't large as it is, especially well-design studies, especially with more than a few participants. And the methodology used differs in almost every single study. That's why I so easily accept the fact that the lucid dreaming community still creates knew "knowledge" almost exclusively based on the sum of many individual anecdotes. The sum differs for everybody, based on what web sites they read and which posts they read and skip. Helpful practices emerge out of repetition of self experiment and the amateurish and biased publications in the form of short forum posts and incomplete and deformed retellings. As with mutations in other areas (with which I struggle to compare these memetic changes), prolific evolution is incredibly rare, which is why every dreamer with the wish to be able to become more lucid in their dreams or to have more lucid dreams is still stuck with blindly trying all sorts of practices without immediate feedback of progress or success.

I want to believe that there is some element in the variety of dreamers and LD induction attempts that plays such a large role in deciding the outcome of intentional attempts to obtain conscious experiences in dreams that managing this possibly yet unknown element would lead to a drastic rise in the success rate of such attempts. I'm far from being able to ascertain what this proposed element could be, if there was one. I'm just someone reading interesting sounding research papers and forum posts on lucid dreaming and experimenting with my own dreams. But to make my thought more intelligible, here is an idea how this could look like.

Because I'm in no way knowledgable in either neurology nor psychology I'll keep it short and broad, in the hopes of not saying too many too stupid things. Brain chemistry plays a big role in how we consciously experience the world. No lucid dreamer (at least not that I've heard about) knows what's going on chemically in their brain when they do their practice. They don't know how the repeated practice influences brain chemistry and they don't know what was chemically different in their brain during their successful induction attempts compared with their unsuccessful induction attempts. No lucid dreamer takes regular blood tests to learn something about the stuff that is pumped through their brains when they go to bed. Drug use is a common topic among some interested lucid dreamers and some medications have been proven to increase the LD frequency. But that's just a few medications that were tried because it seemed likely that they might have this affect based on what whas already known about them, mainly about their side effects when used with other intents. Remember: I don't know anything about neurology. But I can't help but think that intuitively it seems to me that there must be a large untapped potential for lucid dream research that could make dream consciousness easier to achieve.

Please don't hold back if you want to tell me how wrong I am. Especially if you want to tell me why I'm wrong. :)

Comment via email

USB/Serial PWM Fan Controller Using an Arduino

Entry created on 2020-11-22 (edited 2021-10-15) Authors: steeph (376) Categories: Arduino (4) Case Modding (11) Code (31) Computer (78) DIY (17) Electronics (16) Fans (1) Hardware (16) Projects (41) incomplete (21) Languages used: en (257) Topics: Projects → Arduino (4) Projects → Case Modding (9) edit

I wanted to be able to control the speed of the fans in my big NAS, Fred, individually. Even though the mainboard in use has five PWM fan connectors, the chipset can only control the speed of all fans together. There are probably good fan controllers commercially available that solve this problem better than I did. But they seemed overpriced and it seemed like a fun learning project for me.

The fan controller that I made uses an Arduino Nano clone that listens to it's serial port, waiting for a command to change the speed of a fan. When a command is recognised the continuous PWM signal for that fan is changed accordingly. It's possible to control up to six fans this way with an Arduino Nano. I'm only using three though since I only have three fan groups that need to be controlled separately.

The Arduino sketch/C code for the Arduino Nano that I used is as follows.




//fan speed sensor wire attached to digital pin 2 with a 10kohm pullup resistor
//fan PWM control wire attached directly to digital pin 9

#include <PWM.h> //include PWM library http://forum.arduino.cc/index.php?topic=117425.0

volatile int half_revolutions1; //allow half_revolutioins to be accesed in intterupt
volatile int half_revolutions2; //allow half_revolutioins to be accesed in intterupt
int rpm1; //set rpm as an integer
int rpm2; //set rpm as an integer
int pwm=255;
const byte numChars = 5;
char receivedChars[numChars];

boolean newData = false;

void setup()
{
  InitTimersSafe(); //not sure what this is for, but I think i need it for PWM control?
  bool success = SetPinFrequencySafe(9, 25000); //set frequency to 25kHz
  pwmWrite(9, 51); // 51=20% duty cycle, 255=100% duty cycle

  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  analogWrite(5, 170);
  analogWrite(6, 255);
  pinMode(2,INPUT_PULLUP); //set RPM pin to digital input
  pinMode(3,INPUT_PULLUP); //set RPM pin to digital input
  half_revolutions1 = 0;
  rpm1 = 0;
  half_revolutions2 = 0;
  rpm2 = 0;

  Serial.begin(9600);
}



void loop()
{
  sei(); //enable intterupts
  attachInterrupt(0, fan_rpm1, RISING); //record pulses as they rise
  delay(1000);
  detachInterrupt(0);
  attachInterrupt(1, fan_rpm2, RISING); //record pulses as they rise
  delay(1000);
  detachInterrupt(1);
  cli(); //disable intterupts

  rpm1 = (half_revolutions1/2)*60;

  Serial.print("1");
  Serial.println(rpm1);

  rpm2 = (half_revolutions2/2)*60;

  Serial.print("2");
  Serial.println(rpm2);

  rpm1 = 0;
  half_revolutions1 = 0;

  rpm2 = 0;
  half_revolutions2 = 0;

  pwm = 255;
  recvWithStartEndMarkers();
  processCommand();
}

void fan_rpm1()
{
  ++half_revolutions1; //increment before returning value
}


void fan_rpm2()
{
  ++half_revolutions2; //increment before returning value
}


void recvWithStartEndMarkers() {
    static boolean recvInProgress = false;
    static byte ndx = 0;
    char startMarker = 's';
    char endMarker = '\n';
    char rc;
 
    while (Serial.available() > 0 && newData == false) {
        rc = Serial.read();

        if (recvInProgress == true) {
            if (rc != endMarker) {
                receivedChars[ndx] = rc;
                ndx++;
                if (ndx >= numChars) {
                    ndx = numChars - 1;
                }
            }
            else {
                receivedChars[ndx] = '\0'; // terminate the string
                recvInProgress = false;
                ndx = 0;
                newData = true;
            }
        }

        else if (rc == startMarker) {
            recvInProgress = true;
        }
    }
}

void processCommand() {
    if (newData == true) {
        Serial.print("s");
        Serial.println(receivedChars);
        switch (receivedChars[0])
        {
            case '1':
                receivedChars[0] = '0';
                sscanf(receivedChars, "%d", &pwm);
                analogWrite(5, pwm);
                break;
            case '2':
                receivedChars[0] = '0';
                sscanf(receivedChars, "%d", &pwm);
                analogWrite(6, pwm);
                break;
            case '3':
                receivedChars[0] = '0';
                sscanf(receivedChars, "%d", &pwm);
                
                break;
//            default:
//                Serial.println("I don't know what that means.");
        }
        newData = false;
    }
}

Well, how should I put it? It works, usually.

(tbc?)

(tba:photos)

Comment via email

Definition Of Summer

Entry created on 2021-09-11 Authors: steeph (376) Categories: Definition (1) Silly (32) Skin (1) Summer (2) Languages used: en (257) edit

Summer is the aggregate of all nights in which you can lay in wet grass at 3am and enjoy a fresh wind on your bare skin.

Comment via email
Entry created on 2021-09-02 Authors: steeph (376) Categories: Band Name Ideas (3) Domain Name Ideas (1) Silly (32) Thoughts (73) Languages used: de (90) en (257) edit

If I had a band to name, I'd name it Feiera, because feiera.band is still available and costs only 2,50 a month.

Comment via email

The Three Bad Reasons Why I Don't Use Git

Entry created on 2021-09-01 Authors: steeph (376) Categories: Computer (78) Git (1) Personal (13) Software (53) Version Control (1) Languages used: en (257) edit

1. Github or other public Git repositories: Wouldn't be complete

Haven't published everything always, don't want to publish everything, would want to include everything but couldn't. So using public Git repositories would always be accompanied by a feeling of imperfection.

2. I've never used Git for anything really.

Apart from cloning and occasionally updating others' repositories I've never used them. I'm not used to using Git and I don't struggle with not using it. So starting to do so now would require me to hurdle quite some hurdle. I never used it. Why would I start now?

3. It's too late to start now.

I've noticed that the point where it would have been a good idea and would have made a lot of sense to get accustomed to using Git has long passed. So by starting now or in the future I would admit that I didn't take the hurdle when it would have been the right thing to do - when the best time to do so was near the present. I would admit to doing some things not the right way in the past if I would start to do them right from now on. It's easier to pretend that the way it always has been is the right way - the way I'm used to doing things.

That all makes no logical sense. It would be an improvement to start using Git for some things, be it coding projects, any category of texts that I have on my computers, any collection of files, ... The costs of these improvements would be hard disk space, which isn't all that rare for me nowadays and getting used to using Git, which isn't complicated.

So why don't I even try to use it in some cases? Well, I've just honestly told you my three reasons.

Comment via email

SBWG 0.9.6

Entry created on 2021-08-29 Authors: steeph (376) Categories: Bash (31) Code (31) Computer (78) Linux (36) Projects (41) SBWG (18) Scripts (28) Software (53) Languages used: en (257) Topics: Projects → Code → Bash Scripts → SBWG (16) edit

As foreseen I've made slow progress in development of SBWG, the script that generates this web site, because I want to test and improve it with the current feature set before I start to implement new features. The former is necessary. The latter is more fun. But today I've reached a point where I can say that the only thing left to do before I call it v1.0.0 is testing edge cases and things that I didn't think of testing before, as well as fixing potential bugs discovered from this testing.

So, version 0.9.6 is out, everything is working, The README file, other documentation included in the package, the example website, the included style sets and partly even the code quality has been deemed satisfactory, and I hope I'll find the time to test all sorts of weird stuff and discover and fix some bugs next month, at which point version 1.0.0 will be published and I'll finally be able to allow myself to start working on new features, some of which are awaited by both regular users of the script.

Comment via email

Hope Dies Last

Entry created on 2021-08-09 Authors: steeph (376) Categories: Hope (1) Thoughts (73) Languages used: en (257) edit

I will never forgive her for doing that to meeveverybody!

Comment via email

Backmatch - A Simple Dual-N-Back-Inspired Performance Task Trainer For Bash

Entry created on 2021-07-31 Authors: steeph (376) Categories: Bash (31) Brain Training (1) Code (31) Computer (78) Scripts (28) Software (53) Languages used: en (257) Topics: Projects → Code → Bash Scripts (23) edit

Here is a script that I wrote as a short side project because I wanted my own n-back trainer. I'm aware that the practical memory improments of n-back training, even when using a proper audiovisual dual n-back trainer, is not as great as it's often said to be. I just wanted to try it and see whether I like the training.

Usage

Execute the script and pass it a number that resembles the difficulty level. For example bash backmatch 3 starts the script with a 3-back task. On your keyboard press the key of the letter that was displayed n letters ago (in this example 3 letters ago). When you press a key the next letter is presented immedietly. If you don't press a key for 3 seconds (the time value can be changed by changing the variable sec) the next letter is presented and you don't get a point for this letter. When you exit the script by pressing ctrl+c your keypresses get compared to what was presented and you get your score.


#!/bin/bash

if [[ ${#} -ge 1 ]] && [[ ${1} =~ ^[0-9]*$ ]]
then
  n=${1}
else
  echo "'${@}' is not a number, is it?"
  exit 1
fi

echo "Ctrl+C pressing is for quitters."
npo=$((n+1))
sec=3

end() {
  echo -en "           \n"
  if [[ ${#str} -ge ${npo} ]]							# If enough characters had been generated
  then
    for i in $(seq $n); do echo -n "-"; done					# offset by $n dashes
    echo ${str}
    echo ${you}
    got=0
    for i in $(seq ${#str})
    do
      [[ ${str:$i:1} == ${you:$((i+n)):1} ]] && got=$((got+1))
    done
    echo -e "\n${got} out of $((${#str}-npo)) correct"
  else
    echo "Not enough data to judge you."
  fi
}

trap end EXIT

while true
do
  str+=$(cat /dev/urandom | tr -dc 'A-Z' | head -c 1)				# Get a random new letter.
  echo -en "\r       \r${str: -1}"						# Print the last character in the string (the new letter).
    read -n 1 -t ${sec} key							# Get a single character input, timeout $sec seconds.
    [[ -n ${key} ]] && you+=${key^^} || you+="-"
    [[ ${key^^} == ${str: -$npo:1} ]] \
      && echo -en "\r       good" \
      || echo -en "\r        bad"						# Check if uppercase input char is the same as the nth char from the back.
done

end

exit 1
Comment via email
Go To Navigation Page
Show/Hide Navigation
Mastodon