Evolving Music in Python (Tie-In to the Presentation at Ljubljana Python Meetup)

First a bit of a background. I am a cognitive science student, so that means that I study the mind from the perspective of multiple disciplines. Some people do it by studying how we experience things through interviews or descriptive experience sampling (phenomenology) or through the fMRI, EEG, TMS or any other way to measure or influence neural signals (cognitive neuroscience), or doing the work of defining the concepts (philosophy).

The perspective that for me is has the highest interest*skill is computational modeling. I am a lot better at it than any kind of qualitative studies, and it is a lot more interesting than measuring neural data.

So, when I was introduced to the computational modeling in one of my classes, I decided that I wanted to do a more practical project about it. So, when I took the evolutionary algorithms next semester, I sort of knew, that this may be a good opportunity to see, how much a like it.

But the problem was, that I had no idea, what sort of problems could evolutionary algorithms solve at the time. I know that I am interested in the decision making and individual differences, but I could not find any projects using evolutionary algorithms in personality. Any the only ones that I found, that were connected to decision making, were from evolutionary game theory.

So what I did, was ask my professor for ideas. She told me a couple of ideas, but all except one, I would be able to write in python in up to 30 lines of code. The one, that I had no idea, how to attempt, was creating music with evolutionary algorithms.

Which, considering that I am not even listening to music most of the time, may not have been the best idea. Domain knowledge and all of that. I did learn how to play the guitar for 2-3 years, when I was in primary school, but even back there, my teacher had problems with my utter lack of knowledge about what songs exist and which I like. It did not help, that I only took these lessons, because I heard, that it is impossible to become a teacher without playing an instrument. I never took a music theory anywhere.

So, in evolutionary algorithms, there are a couple of thing that are important: the representation, the parameters in the algorithms and the fitness function.

As far as the presentation goes... the standard one is to put the gray representation. It is supposed to be better than binary because of the hamming distance (how many numbers change, when going to the next integer) and more efficient in the use of memory.

The code to change from binary to gray code in below:

def gray_from_binary(number_binary):
    number_binary_list = [int(a) for a in str(number_binary)]
    number_binary_zip = zip(number_binary_list, [0] + number_binary_list[:-1])
    number_gray = [1 if number1 + number2 == 1 else 0 for number1, number2 in number_binary_zip]
    return int("".join([str(n) for n in number_gray]))

But since I had no problems with the memory, I decided to use integers. But then the bigger problem in representation still exist. How to encode music in numbers?

Thankfully, I remembered the lilypond project. Mostly because I use it to store the music that I know how to play in plain text files.

So I took the subset of it. I encoded the piano keys in integers. From c as 1 up to h.

self.notes_to_numbers = {"c": 1, "des": 2, "d": 3, "ees":4, "e": 5, "f": 6, "ges":7, "g": 8, "aes":9, "a": 10, "bes":11, "b": 12, "pause": 13}

The same is for duration. in lilypond the base of 2 is used. So 1 is a whole note, 2 is a half note, 4 is a quarter note,... So, when I needed to make changes, I simply took the exponents and then changed back to the notes. I only encoded the 'normal' notes.

The next is algorithms. There are a couple of things to decide here, but none of them were that interesting. I usually allowed the best x songs in the next stage, and I did the mutation of the duration and the pitch separately. I also made 'children' songs by randomly choosing a place and putting the remaining songs in each children.

The interesting part comes from the fitness function. What criteria was used to choose songs. I did a some tries of my own and I copied two from the scientific articles. That was mostly because, I don't know music theory. I mean, I had to check the what tonality is the first time it was mentioned. But when I started reading about it, I realized that none of it is written from the perspective of understanding music, that could be expressed mathematically.

What I used was checking for repetition of the same pitch or too big of a difference in it, difference in duration, for long notes, too many pauses, and whenever the notes could be given into a single cords.

The ideas that I stole for the papers were the following:

  • The first was the minimal mathematical criteria, that would need to be true, to create listenable piano music by Rodney Waschka
  • The second idea was about how pleasant the notes sound together, which was based on being consonance (harmonic or dis-harmonic) by Bilotta, Pantano and Talarico

Based on my ideas are functions cost_first_try and cost_c_tr, while the function costs based on articles are cost_article2_try1, cost_article2_try2 and cost_article1_try.

def cost_first_try(self, song, final_song=None):
    cost = 0
    #add the cost of two notes repeating the pitch
    cost = cost + sum([1 for note1, note2 in zip(song[:-1], song[1:]) if note1[0] == note2[0]])
    #add the cost of notes having too big of a pitch
    cost = cost + sum([abs(note1[0] - note2[0])**2 for note1, note2 in zip(song[:-1], song[1:]) if not abs(note1[0] - note2[0]) == 1])
    #add cost of notes having too big of a difference in duration
    cost = cost + sum([abs(note1[1] - note2[1]) for note1, note2 in zip(song[:-1], song[1:]) if abs(note1[1] - note2[1]) > 1])
    #add cost of long notes
    cost = cost + sum([1/note1[1] if not note1[1] == 0 else 2 for note1 in song])
    #add cost for cords
    for key in self.keys:
        if set([note[0] for note in song]) in key:
            cost = cost - 20
    return cost

In the first fitness function, I simply included all the ideas that I could think off. I think in this example, my comments tell the story of what I was using pretty well.

def cost_c_try(self, song, final_song=None):
    cost = 0
    #add the cost of two notes repeating the pitch
    cost = cost + 10*sum([1 for note1, note2 in zip(song[:-1], song[1:]) if note1[0] == note2[0]])
    #add the cost of two notes repeating the duration
    cost = cost + 10*sum([1 for note1, note2 in zip(song[:-1], song[1:]) if note1[1] == note2[1]])
    #add the cost of notes having too big of a pitch
    cost = cost + sum([abs(note1[0] - note2[0]) for note1, note2 in zip(song[:-1], song[1:]) if not abs(note1[0] - note2[0]) == 1])
    #add cost of notes having too big of a difference in duration
    cost = cost + sum([abs(note1[1] - note2[1]) if abs(note1[1] - note2[1]) > 1 else 1 for note1, note2 in zip(song[:-1], song[1:])])
    #add cost of long notes
    cost = cost + 20*sum([1/note1[1] if not note1[1] == 0 else 2 for note1 in song])
    #add cost for pauses
    cost = cost + 10*sum([1 for note1 in song if note1[0] == 13])
    #add cost for keys
    cost = cost + sum([25 for note in song if note[0] not in self.keys[0]])
    #add cost for cords
    duration = 0
    current_notes = []
    for pitch, dur in song:
        if dur == 0 and duration != 0:
            cost = cost + 50
        elif dur != 0:
            duration = duration + 1/dur**2
        if dur == 0 and duration == 0:
            duration == 1
        if duration > 1:
            cost = cost + 50
        if duration == 1:
            for cords in self.cords_c:
                if set(current_notes) in set(cords):
                    cost = cost - 10
        duration = 0
        current_notes = []
    return cost

My second try was pretty similar to the first, except, that I added my idea about the cords. My idea was, that if I test all the notes in the certain duration, and if in this duration, the notes can all be put in one of the cords, then this would be good, and it would be the sign of a good music. The idea for this come from the guitar playing with the cords. I don't think it added much to it, but you have an examples to listen to.

My third idea was from the first article, but since this one has horrible convergence, I am not going to go into it.

The forth and fifth ideas were taken from the second article. There the idea was that some notes sound good in combination and some sound bad. So what I did was test two neighboring notes for this.

def cost_article2_try1(self, song, final_song=None):
    #Based on Article: Evolutionary Music and Fitness Functions by E. Bilotta, P. Pantano, and V. Talarico
    cost = sum([1/((self.notes_values[note1[0]] + self.notes_values[note2[0]])/(self.notes_values[note1[0]]*self.notes_values[note2[0]])) for note1, note2 in zip(song[:-1], song[1:]) if note1[0] != 13 and note2[0] != 13])
    #add cost of long notes
    cost = cost + sum([1/note1[1] if not note1[1] == 0 else 2 for note1 in song])
    #add cost for pauses
    cost = cost + sum([1 for note1 in song if note1[0] == 13])
    return cost

The forth one was based on the mathematical formula, that I found in the article. I then added the cost for the pause, because if I would not, then half of the notes would be pauses. This may be because, I skipped testing notes, if one of them was a pause. After that, this was no longer a problem.

def cost_article2_try2(self, song, final_song=None):

    cost = sum([cost_function[note1[0]][note2[0]] for note1, note2 in zip(song[:-1], song[1:])])
    #add cost of long notes
    cost = cost + 20*sum([1/note1[1] if not note1[1] == 0 else 2 for note1 in song])
    return cost

In the last one, I uses the table, that they were using, instead of the mathematical function. But otherwise it was based on the similar principle then the upper one. Since the formatting of this function is not that great, you can also see it here.

Then I simply did a quick gui, because I knew that most people would not know what to do with the script. But in this way, I can actually package it. Not that I would know how to do this for anything else but Arch Linux.

In the last 30s, I wanted to present a sample of music created with one of the fitness functions. Since I did not ended up using computer and I later realized that my speakers are not actually loud. The examples can be found next to the explanation of each fitness function.

For anybody interested in more, the code for this project can be found on my github: https://github.com/sarajaksa/creating-songs-research-project

P.S. (added 2018-10-26): A friend of mine taped me, and sent me the video. You can find it here

My First Python Meetup Presentation

Yesterday, at the Python Meetup in Ljubljana, I had my first lightning talk. It was quite a different experience, from what I am used to, as normally I talk to the audience, that are sort of required to listen to me: Toastmasters and school. But here, they were sort of not, so I have been nervous before my talk for the first time since I realized how my nervousness feels. Really, if not for the first-person research course at university, I would have never realized how I feel nervousness.

Maybe it was because of this, but I actually don't really remember what I said on the stage. It must have been somehow coherent, based on the questions that I got after the lightning talks, but I guess I will never knew. I also got a compliment on the quality/confidence of the presentation. A friend of mine offered to tape me, but I guess he did not at the end, since he did not send me the video.

Second, for some reason, now suddenly a lot of people wanted to talk to me about my talk. I was not aware, that this is going to be such a difference. I mean, I remember, years ago, where I heard or read somewhere, that giving a presentation is a good way of networking. But I expected maybe one or two interested people. They were a lot more. It was... overwhelming. I guess this was the reason, why I got the "What-The-Hell-Are-You-Doing" feeling before doing it.

Overall, the ice is broken. Next time, I need to make sure the technology works, which with my track record means, it will not happen. But now I just need to deal with the feeling, that I am not interesting enough to be on the stage frequently. It is a strong feeling.

The missing context from the speech (because of technical difficulties) and an answers to some of the questions will be posted the day after tomorrow.

Evaluation of Decisions of Tools

There was an interesting fact, that I have seen in both the financial decision making and in the evaluation of technology. And it has to do with the difference, about how we evaluate the companies/technologies that we know vs. the ones that we don't.

In the finances, its evaluation of stocks and other investments in well studied. There, when the investment is well known, the risks and rewards usually correlate. So, putting the money in the bank is (almost) risk-free, but they also don’t have a high return. I mean, by bank has a return of way less than 1%, which is also way less than the inflation in my country. So, I am technically losing money. But on the other hand, as long as the Slovenia as a country continue to exist, I will not lose this money. On the other hand, people investing in start-ups expect to lose the money in 90% of the investments. But that 10th one could be big enough to have a return to each of them still a lot higher than a lot of other investments. The stocks are somewhere in the middle, the return is higher than in the bank, but there is always a potential problem of crisis, where the value of the stocks falls.

But the thing is a bit different, when it comes to the investments, that are not known and have a lack of information. In this case, instead of a higher-risk higher-reward combination, the people evaluate them reversely. The things that they perceive as have the higher risk are in their eyes also the things that have a lowest reward. The opposite is true as well, as investments that seems the least risky, are the ones that people expect the highest reward.

The same can be true for reading about technology. It is relatively hard to find a good evaluation of the technology, at least on the internet. The people criticizing the technology, from social media to artificial intelligence and so on, are using the language of technology having a high risk with no reward. On the other hand, the proponents of technology go in the opposite direction. They only see the positive things with no risk at all.

On the other hand, try talking to somebody about a car. They will be able to tell you all, that it is convenient, and they would not be able to do what they do without it. But these same people will complain about how it broke down and about the financial burden of the car or simply about the idiots on the streets. So, they seem to have a lot more balanced position of the technology of the car, which is quite well known.

And I think this is a good rule of thumb. If something has a lot of positive effect, then it most likely has a lot of costs (not necessarily financial) as well. So, if there is just position for one side, then maybe we still lack the information to make a good decision.

My Results of the Political Morals Test

When I have tried to understand my political stance, I have simply taken a couple of books from the library, that could be relevant. The one, that I think helped a lot to explain the differences in the political options was Haidt's book on morality. He also has a TED talk, for people not having the time to read books, but I do recommend the book more than the TED talk.

Basically, what he said was, that the left is mostly interested in reducing harm, increasing care and fairness as equality. The right, besides being interested in that (though their fairness is more quality of opportunity and being rewarded based on the work/results), they were also interested in respecting authority, making sure the members of the group are better taken care of and purity. The libertarians were mostly interested in liberty (sadly, we don't really have a libertarian party in Slovenia, so it is not that relevant to the Slovenian political situation).

Well, in their website, they also provide a paper-and-pen version of their morality test. They also have a website yourmorals.org, but at the time of writing this, it did not work in the EU because of the new privacy law. But in the paper-and-pen, they do provide the average, so I can compare it to that.

Moral My results Average in US (moderate)
Care 7 20.2
Fairness 18 20.5
Loyalty 15 16
Authority 9 16.5
Purity 10 12.6

I basically test on all of them lower than the average for the moderate in the US. But it is interesting to see, where the differences are bigger and smaller. I am quite close in the fairness, loyalty and purity to the moderate groups. But I am a lot lower on authority and care.

Generally, the left is higher on the care and fairness, compare to the moderate, and lower on the other three. The right, on the other hand is the opposite, the higher on the loyalty, authority and purity, and lower on the other two. In this regard, I am neither on the left, nor on the right.

And I must agree with this. In Slovenia, I like the economic policies of the NSi and SDS (the right parties in Slovenian parliament), but I don't really like their support for the against-the-gay referendum or their 'rhetoric' against the migrants. But on the other side, while I do support some of the policies from the left side (SAB, SD, Levica, SMC...), I get the very negative reaction to them talking anything regarding the financial part or even their wanted involvement in the industry.

So, I guess I will continue to vote for where I think Slovenia needs more emphasis. If their problems are fiscal or with the bureaucracy or with government involvement in the private sector, I will probably vote a right-wing party. On the other hand, if the problems will be with people not being able to live normally, for whatever reason, rules or financial, I will vote the left-wing. On the same time, I will be hoping for a more libertarian-oriented party.

It is interesting, that I found out about libertarian years ago, and I started to think this is the optimal way. But then, as I was studying the cognitive science, and realized how influenced the people are by their biology, psychology, society and messages that they receive, that I thought that some people would prefer, that they live in the society, where they are unable to make bad choices for themselves. So, I am still in figuring out my political identity phase.

The Places in the Company for MBTI-types

Penelope Trunk had at one point described what position in the company do different MBTI take. According to her, the S-types are the ones that do all the work (though, listening to the INTJ interview that she is having right not, I get the feeling that INTJ should be the one that do all the work :) ) and so on. Read her blog post (the description is in the comments), to see what she says about them.

I wanted to see, if there is any application to the Jung's functions. Is there any easily seen patterns there, that I could exploit?

Si and Se below, Fe in middle managements and Te and Ni in upper management, with Ne somewhere in weird places

Well, it seems that if I try to generalize things on the function level, then we get the people with Si and Se functions doing the work. In the middle management, the Fe rises as important part, while in the upper management, it is the Te and Ni functions. The Ne and possible Ti and Fi being in a weird position.

What can that tell us about how the companies work? Based just on this, it seems that on the beginning, in the position from entry levels to all the position that are not management, the productivity seems to be the most important factor. Maybe not productivity all the time, but at least action and doing something. I guess, since I doubt that companies want the action to be meaningless and without results, maybe equating it is not that long of a stretch.

I guess that means, that when looking for the first job, maybe emphasizing the productivity could work? But that would be assuming that companies know what they are looking for? I don't know...

Then, when the people take the position in the middle management, the social skills become more important. It is how they related to other people, making sure that there is no disagreement or miscommunication would be important, at least because all three types mentioned have Fe as one of the first two functions.

But then, in order the get from the middle management, to the top management, it is no longer social skills, but the ability to make systems and see the vision for the future and bring it there. This is what the Te-Ni combination does. Based on the types, it seems that top management needs at least one, if not both skills emphasized by these functions.

So that leaves Ne, Fi and Ti as functions that were not specifically mentioned. So that means creating a lot of ideas, caring about values and analyzing as the three functions, that in some combinations may bring people in the unusual, sometimes downright weird, positions in the company, and in the other make them less suitable to work there. I guess there is just no systematic need for these three types of contributions in all the companies.

So, I guess, what I can get from this is, that productivity gets you the first job, the social skills the managerial position, but the highest places, a person need to develop systems and vision. It is sort of a quick roadmap into what to do to rise to the top.

OpenMined Architecture and Application to Science Research

Toward the end of my visit in Bratislava (I cannot believe, that it has been 8 months already), one of my classmates told me about Andrew Trask and his OpenMined architecture. I don't exactly remember the context, but I think it was something about the privacy and considering the class, where it came up (Cognitive Semantics and Cognitive Theories of Representation), it probably had at least a small connection to meaning.

Seriously, you should watch his videos for explanation about it, as he does a hell of a lot better job, than I ever could. It is an architecture based on federated learning, which allows machine learning to learn on distributed data (for example using PyTorch, Keras or TensorFlow on distributed data), homomorphic encryption, which allows commutations to be done without the need to see or reveal the data (Python: python-paller, R: HomomorphicEncription) and smart contacts based on the block chain, which would allow for accountability.

But the basic idea is, that each person would be in control of their own data, and this data could then be made available to people, that want to train different models, without having to send them the data itself. Sort of in the spirit of the GDPR, but still with the ability for the companies and the people to get insights, that can come forth with the usage of big data.

This got me thinking. I don't know, how the research is done in other place, but this month it was the first time, when I was reading the agreement to participate in the study, where it was specifically mentioned, that I could ask for the data from my experiment. Before, the implicit norm was, that the data will not be given to the participant. On the other hand, there are storages, where the researches are putting the data from their studies. For example, there are places, where 1000s of fMRI data from different studies are collected.

A bit more decentralized idea would be for the participants in the study to control their own data, and then made it available in sort of the same way that openminded architecture wants to do. This way, there would not be just the data from that specific experiment, but a person that participated in one experiment could also participated in many more. From the top of my head, I took place in a little number of experiments so far.

For example, the last experiment that I participated in, I needed to learn grammatical rules of an artificially constructed language. But I had the MR picture of my head taken before, had the resting state EEG measured and had a battery of tests from memory capacity to personality measured. I am sure some of the others did as well. If the data was in the hands of the participants, they could offer it to them, and they could test many other hypotheses, without repeating the measurements.

On the other hand, I am aware of a couple of problems. Most participants, who are not the researchers themselves, are most likely not interested in the raw data collected and would probably not care about keeping it. After all, having a raw EEG data is just a series of numbers, that can be plotted, but most people probably would not know what to do with this numbers/lines. So, motivation and disinterest of the current society is most likely the main disadvantage that I see. And I can attest to this, as I recently posted my survey in the Facebook group dedicated to this, so posting and answering surveys, and I did not get a lot of answers. It is just not a priority in their life.

But it is still a nice mental experiment, of how different could things be organized.

Figuring Out the Model Behind Theory by Combining Different Models

When I found out about the communication theory, mentioned in the previous article, the first thing that I wanted to do, was to find out the model behind it. I mean, I had three pieces of information: the communication style, the personality and advice how to deal with these types. I am going to copy this information again down here:

  • Communication style:
Type Communication Style
Direct This style is decisive, competitive, independent, and confident. Because the person with a Direct communication style is focused, results-oriented, ambitious, goal-oriented, and driven, others may perceive her as strong-willed or demanding. She can be seen as impatient when bored.
Initiating This style is sociable, enthusiastic, energetic, spontaneous, and fun-loving. Due to the gregarious nature of the person with an Initiating communication style, he may be perceived as someone who talks more than listens. He is often perceived as self-assured, innovative, and persuasive.
Supportive This style is calm, steady, approachable, sincere, and gentle. Because the person with a Supportive communication style dislikes change, she may appear indecisive. More often she is perceived as careful, patient, and amiable. Due to her active listening skills, others see her as cooperative, dependable, and loyal.
Analytical This style is precise, exact, analytical, and logical. Because the person with an Analytical communication style is systematic and task-oriented, he is sometimes perceived as a perfectionist. He is organized, self-reliant, purposeful, and diplomatic.
  • Personality
Type Personality
Direct She likes to feel in control and may become frustrated if dependent on others. She measures progress by achievements and successes and is motivated by challenges. At work she displays more concern for results than relationships and does not easily share feelings. Her pace is fast and decisive and she likes a busy, efficient, structured, and formal environment.
Initiating He likes to feel accepted and is motivated by relationships. He responds strongly to praise and approval. His pace is fast and he may appear impulsive at times. He prefers a stimulating, personal, and friendly work environment.
Supportive She is often modest and prefers praise be given privately. Patient and slow-paced, she likes a personal, relaxed, no-tension environment. She puts high priority on close relationships and does not like conflict, but may mediate if necessary.
Analytical He is motivated by certainty and will rarely give an opinion unless asked. He is slow and cautious in his pace and likes a structured, ordered, and functional environment. Because he needs to feel sure of his position and others’ expectations, he is often private with personal information and does not easily express emotions.
  • Advice
Type Advice
Direct Direct communicators prefer when you get to the point quickly and in a succinct manner. When dealing with these communicators, be specific and avoid over-explaining or repeating yourself. Focus on solutions and only provide details when asked.
Initiating Initiating communicators value interacting with others and sharing stories. Allow time for socializing at the beginning of meetings and create a friendly, non-threatening environment. Provide time for them to express their feelings and opinions.
Supportive Supportive communicators appreciate a calm, steady approach. Earn their trust by providing them with plenty of reassurance. When seeking their opinions and ideas, encourage them to express their concerns and allow them time to make decisions.
Analytical Analytical communicators like facts and figures. Present information to them in an organized manner and be prepared to answer questions. Be patient while they think through and process new information.

So, I have come up with a couple of different ideas. Because there are 4 types, I expected that there were two axes to them.

Since the descriptions had a lot of personality descriptions, I figured out that this model could be simply translated to the personality model. Since the Big Five in the personality model, that is the most used in science, I tried to figure out, how to transform one model into another. The problem was, that since there was not a lot of data, I was not sure, if I got the exact axis.

So, this was my first try (the ones in the parenthesis are the possible substitutions):

Low agreeableness (or low neuroticism) High agreeableness (or high neuroticism)
High extroversion (or high openness) DIRECT INITIATING
Low extroversion (or low openness) ANALYTICAL SUPPORTIVE

But I was not really satisfied with this solution. So next, I tried to map them to the 4 humors from Ancient Greece. I mean, the direct one seems to be a lot like direct type of style. So, this was my next try:

_ _
Direct = Choleric Initiating = Sanguine
Analytical = Melancholic Supportive = Phlegmatic

But this was not the exact one either. I mean, it is quite accurate, but the description for the supportive person does not reflect the phlegmatic type. So there, instead of being unclear about axes, it is one of the quadrants, that does not make much sense.

Then I remembered one of the internet articles, where they tried to show the differences in the communication style. There the difference was between open-closed communication (how much interest a person has in humans as human beings) and direct-indirect communication (energy level and speed of the communication). This one did give me a much better fit.

_ _ Open Communication Closed Communication
Direct Communication Initiating Direct
Indirect Communication Supportive Analytical

Well, the open-closed relationship could also be described as systemizing vs. empathizing theory.

Something about this description reminded me of the Gray's model of personality. The open-closed could be maybe transformed into BAS system (approach system) and the direct-indirect into FFFS system (avoidance system). So, then we would get a very similar system, this time with the personality.

_ _ high BAS low BAS
low FFFS Initiating Direct
high FFFS Supportive Analytical

But there is a relation between the BAS-FFFS-BIS system and the big five. It is a bit moved, so high extroversion is high BAS and high FFFS, while high neuroticism is high FFFS and low BAS. But this still would not give us a good model. On the other hand, the system could be transformed to the 4 humors:

_ _ high BAS low BAS
low FFFS sanguine phlegmatic
high FFFS choleric melancholic

So, since we are talking about the models, that can also be personality models, I could not go over the MBTI system. I went to a lot of iterations, and was not satisfied with any of them:

_ _ F T
S Initiating Direct
N Supportive Analytical

Then a friend of mine, which introduced me to this specific rabbit hole, mentioned that she thinks that it is similar to the Insight. Well, I did not really know, what this is, so I went to read about it. When I realized that it is based on DISC, I realized that long ago I already read a book about it (though I have no idea, what the title was). And she was right, it makes for quite a good fit. What is interesting, that just a short read into the theory, it was clear that it is a theory based on emotional models. So, these types are most likely to feel these emotions:

_ _ Unfavorable environment Favorable environment
In-Control Direct = Dominance Initiating = Inducement (persuasion)
Lack-Of-Control Analytical = Compliance Supportive = Submission

I even took a test, which puts me mostly in the direct quadrant (51 for dominance, 30 for compliance, 11 for inducement and 7 for submission). Which is interesting, because when I took a more relationship-based dominance-submissions test, then I am a switch.

For some reason, this reminded me back to the Jung's theory of functions. So, this is my hypothesis, of how they relate to each other:

_ _
Direct = Te Initiating = Fe
Analytical = Ti Supportive = Fi

And I would take this, but in this case, my Jung's type (INTP Ti-Ne) would not be similar to my DISC type, which is similar to the communication style (Direct = Te). So, this would need to be something that would be resolved.

The only way to check, if any of them are true, are to empirically test it. Since I already have problems searching for people to do my questionary for my master thesis, I am not really going to attempt this. But it was a good mental exercise for me.

How Accurate are the Tests Measuring Personality Differences?

There are a lot of tests measuring differences between people. From The Big Five, Intelligence, MBTI, Jung's Functions, Socionics, DISC, and many, many, many others. I like solving these different tests, wanting to see what they are going to be saying about me.

But not all the tests are equally good. For example, if I would be doing an MBTI test, I would usually get an INTP as a result, but sometimes I would get INTJ, and on one memorable occasion, I got INFP. Since I know, that no test can be 100% accurate, I am alright with getting some mistakes from time to time. Considering, that I am an INTP, getting the INTJ or INFP is not that far off. If I remember correctly, I think that for research, a test would need to be accurate at least 70% of the time, but for an individual assessment, under which doing tests to find out more about it, it would need to be 90% accurate. At least when it comes to the professional tests, online tests probably don't really check this.

But there are some other tests, where I am not so sure, how accurate they are. One of the ways, how to measure this, is to do a test-retest. This means, taking the test at one point, and then repeating it at another point. In research, a huge amount of people would need to take the test at two different times. Since most of the tests that I do are not in research capacity, I can normally only do my own test-retest.

As I was a part of the Erasmus+, program, I needed to take the memo test. They measure the 6 personality tests connected to employability. Since I participated in the program more than once, I had to do the test more than once. So, I have the same test done twice, once in July 2017 and another in September 2017. Considering the time elapsed between them, my personality should not change a lot. The results are in percentiles, compared to all the other people, who did the same assessment.

Factor July 2017 September 2017
Confidence 65% 85%
Curiosity 20% 25%
Decisiveness 20% 55%
Problem-Solving 35% 45%
Self-assessment 20% 35%
Tolerance 60% 85%
Employability 25% 55%

I also added the description of the factors, in case anybody is interested:

Factor Description
Confidence High values on this factor point to a high degree of self-sufficiency and a strong conviction of one’s own abilities – aspects that may positively impact career success. Individuals with high values for this factor may however also be inflexible and set in their ways. Low values show doubt about one’s own abilities and perseverance, which might be grounded in negative experience or insecurity.
Curiosity High values of this factor indicate that a person is not only open to new experiences but actively seeks them out. This also applies to new personal challenges. Low values hint at an altogether more reluctant attitude towards new experiences and a greater appreciation of what is familiar.
Decisiveness High values point to an active and decisive individual, who may have a critical attitude toward their respective field. Low values suggest that the individual is more likely to reconsider his or her decisions to accommodate the opinions of others.
Problem-Solving High values reflect a “problem-solver” who does not like to delve into the insoluble aspects of a task but rather focuses on the doable and likes a challenge. Such individuals may either be very pragmatic in their approach to education, considering it to solve practical problems, or else very theory-oriented in that they are attracted to problem-solving as an academic exercise. Low values reflect an individual who is aware of problems or the problematic aspects of a situation and might be more concerned with identifying the problem than with solving it. Accordingly, such an individual would be less goal-oriented and may have an altogether less future-oriented perspective on things.
Self-assessment High values for this factor indicate that a person knows his or her strengths and weaknesses. This capacity for self-assessment not only leads to a more relaxed relationship with other people or new demands, but also might prevent disappointment with their job or higher education institution. Low values, on the other hand, suggest an altogether higher stress level that can be caused by a misjudgment of one’s own abilities, accompanied by difficulty understanding the demands and requirements of a work position or study program.
Tolerance High values of this factor mean that a person is capable of tolerating the behavior and values of other people without compromising his or her own values. Low values mean that a person feels very uncomfortable if confronted with other people’s different values and ways of life. Such individuals may espouse a more traditional view of things, based on their own perspective and experience as influenced by family, society and established norms and values. Deviation from what is conceived of as “normal” is perceived as threatening or at least discomforting.

As you can see from my results, they changed quite a lot in 2 months. But the structure stayed the same. My advantages are confidence and tolerance. Since I only have 1 data point, it is hard to tell, if I am part of a trend or an outlier, but I would be a bit careful at interpreting these results.

Of course, before we even come to the test-retest problem, we first need to make sure the test is measuring what it is supposed to measure. And this is something, that I am not that sure of in one of the tests, that I have seen previously.

Toastmasters clubs have recently implemented a change in their education program. One, in one of the projects, there is a project about the communication style. Which, alright, I can see how this could be useful for people practicing public speaking. They describe 4 different communication styles. Down below, I am giving a snippet from each description of a communication style.

Style Description
Direct This style is decisive, competitive, independent, and confident. Because the person with a Direct communication style is focused, results-oriented, ambitious, goal-oriented, and driven, others may perceive her as strong-willed or demanding.
Initiating This style is sociable, enthusiastic, energetic, spontaneous, and fun-loving. Due to the gregarious nature of the person with an Initiating communication style, he may be perceived as someone who talks more than listens.
Supportive This style is calm, steady, approachable, sincere, and gentle. Because the person with a Supportive communication style dislikes change, she may appear indecisive. Due to her active listening skills, others see her as cooperative, dependable, and loyal.
Analytical This style is precise, exact, analytical, and logical. Because the person with an Analytical communication style is systematic and task-oriented, he is sometimes perceived as a perfectionist.

Sure, another four-quadrant system. They are not clear on what the axis are, but I guess it does help to put it in a sort of a structure. I mean, the theory by itself, I can see how it can be helpful to somebody, that never thought about individual differences in a structured way.

The problem is with the assessment. There was a test, that was supposed to help people see, which style is most like them. I will post the questions below, to see, if anybody can see the problem:

Question Direct Initiating Supportive Analytical
I like to be seen as decisive sociable patient cautious
When collaborating with others, I am competitive spontaneous cooperative precise
When it comes to sharing feelings with others, I am reserved self-assured sympathetic private
Others would describe me as result-oriented fun-loving gentle disciplined
I like my appearance to be business-like stylish casual analytical
I want support for my goals ideas feelings thoughts
When working on a project, I am ambitious enthusiastic purposeful persistent
Some may perceive me negatively as strong-willed impulsive indecisive perfectionist
As a leader, I would be perceived as focused risk-taker dependable problem-solver
When placed in a new situation, I am fearless optimistic friendly conscientious
My perfect occupation would give me a sense of accomplishment enjoyment acceptance accuracy
My favorite way to work is by delegating networking brainstorming independently

Do you see it. To me, these questions don't really measure the communication style, since some of them are not really about communication at all. It seems more like, they saw that there were some things that correlate (or intuitively seem to be something to correlate) and they added them as questions. But I am not sure, that if I put them in the factor analysis, that I will get the results that I want.

This is another problem. For the test to be good for something, it needs to measure what it says it measures. And I am not sure this one does. For one thing, I don't think the results of this test helped me clarify anything. Any I am not the only one. Model itself was a bit helpful, but the test was confusion as hell. I mean, I got initiating as my highest one. Sure, my communication style can sometimes be like that (though, I don't think it is my most frequent one), but the rest of the description, that was in the book... not me at all.

I mean, this is what they recommended for my communication type:

Initiating communicators value interacting with others and sharing stories. Allow time for socializing at the beginning of meetings and create a friendly, non-threatening environment. Provide time for them to express their feelings and opinions.

Which is just so... wrong. I mean, put me in the environment like that, and I will feel uncomfortable. I don't like people trying to serve me. You know, all these nice people, that try to make sure that everybody around them is taken care of, and they get out of their way to make sure everybody is included, and all their needs met. Aren't they annoying. But this description sort of reminds me of them.

So, in this case, I would take it with pinch of salt. This is in opposite to, for example, astrology, where I can be sure that it does not really apply to me. I mean, I am cancer, so I was supposed to be connected to the family (this is maybe even true), appreciate my home (this is why I lived in 5 countries so far, right?), be a nice person (which is why some people are intuitively afraid of me) and cry a lot (if I cry a lot, then most people never do). Astrology got me so wrong, that I don't mind ignoring it out-right for now.

What to take seriously and what not in the end? If you don't want to read a lot of scientific articles for each test, what I normally do is see how useful this for me is. Can this help me explain something about myself or somebody else? Than if might be worth a look. If it got me wrong, then maybe leave it out for now.

Using the Theory of Planned Behavior to Classify Different Ways of Personal Development

I am currently using the theory of reasoned action as one of the theoretical frameworks for my master thesis. Since I am currently reading quite a lot of articles about the theory of reasoned action and its extended version of theory of planned behavior, it made me start to think about different applications to this. One of the is, that a lot of ways of personal development can be classified in this model.

Model of Theory of Planned Behavior

The model is relatively simple. We can reach goals, by doing different behaviors and this models studies why people preform different behaviors. There are two things that can affect, which behaviors will people preform. The first one is intention. Which means, the stronger the intention, the more likely a person will preform the behavior. The second one is the control. So, the easier it is to do something, the more likely the person will do it.

But the control can also affect the intention, and so can the attitude, which is basically just the evaluation of the behavior and the social norms. So more positively the behavior is seen and the more desirable are the consequences of the behavior, the more likely the person will do a behavior. The easier it appears, the more likely the person will do it. Also, the higher the pressure from other people, the more likely will the person do it.

So, there are five points (parts of the theory), which can be used to change the behavior. While it is the most important part, simply using the will-power alone on forcing the behavior is generally not recommended, at least not without using any of the other four points. But I guess, for better save than sorry, it is best to simply attack all of them.

The first one is using intentions. This is where the goal setting comes in. And making planes. And writing down the consequences of taking an action or not taking an action. Deciding to do something. Writing it down. Everything that can make the intention to do something stronger can be included here.

The second one is the (behavioral) control. This is the one that I like the most. Here they would be things that make the desirable actions easier and undesirable actions harder. This would be freezing the credit cards for people in debt, getting the sweets away for people that are on the diet or blocking the time-wasting sites from my computer. Even putting the jogging shoes next to the bed, so one is reminded to jog in the morning would go in this category.

The third one is social norms. Here there are things like accountability partners, or announcing to the world, what you are doing or simply making sure that the end result will also impact other people. Or even just changing the social group one interacts in. As somebody relatively low on the extroversion and agreeableness, it is my least favorite part of doing it.

The forth one is attitude. Here are things like affirmations, journaling or anything else, that can provide different information or emotions to doing something. I guess even neural-linguistic-programming would be included here. Even just reading a lot of books about something can bring the change in this part.

I just found it funny, that a model that exist for decades can sum most of the personal development tactics so well.

My Notes about Gender Differences

I have drabbled in minimalism for years, but now that it finally looks like that in about a year time, I will hopefully have a job and my own place to live, it is time to push it further. One of the things that I need to do, is to make sure that I go through all my notes. Now I have whole pile of paper notes and whole pile of notes in the notebooks and some random files on my computer. The best way would be, to simply have the notes about the topics, I have no plans for at this time, to have on the same place. Since I am already using this blog to just sort of write my stream of consciousness, and to post notes to myself to remember, why not use this blog to finally have everything on the same place, that is searchable.

So, this were the notes that I have collected on gender difference (there may be more, but these are the ones, that I found in my old flashcards):